This project implements:
- A linear algebra library (Vector, Matrix, LinearSystem classes)
- CPU performance prediction using linear regression on UCI's Computer Hardware dataset
- C++ compiler (g++/MinGW)
- Make utility
- Vector and Matrix operations
- Linear system solver (Gaussian elimination)
- Positive definite system solver (Conjugate gradient)
- Predicts CPU performance (PRP) using 6 hardware features
- 80/20 train-test split
- Reports RMSE metrics
- Download the Computer Hardware dataset from UCI: Computer Hardware Dataset
- Place the
machine.datafile in thedata/folder
# On Linux/Mac:
make
# On Windows:
mingw32-make
# Run the program:
./tinyProjectg++ -std=c++11 -Iinclude src/*.cpp main.cpp -o tinyProject
./tinyProjectRegression coefficients:
MYCT: -0.012, MMIN: 0.005, MMAX: 0.003
CACH: 0.821, CHMIN: -0.104, CHMAX: 0.542
Training RMSE: 25.34
Testing RMSE: 28.71
tinyProject/
├── include/ # Header files
├── src/ # Source code
├── data/ # Dataset
└── Makefile # Build script
- On Windows: Use
mingw32-makeinstead ofmake - Ensure
machine.dataexists indata/folder - Requires C++11 support
- GitHub: https://github.com/1N2H