The starting point
The original coursework compared linear regression and decision trees for predicting a vehicle’s recorded selling price. The notebook screenshots show 301 observations and evaluation using MAE, MSE and R².
Revision in progress. The revised code and report are prepared. Updated real-data results await a verified run on the original CSV.
What changed
- A shared Python implementation for the command-line workflow and Jupyter notebook.
- Schema validation, missing-value handling, duplicate checks and an exported data audit.
- Imputation, scaling and categorical encoding learned inside training folds.
- Median, linear regression, ridge, decision-tree and random-forest baselines compared by development-set cross-validation.
- A held-out evaluation of the selected model, alongside predictions, residual diagnostics and a model card.
Reproducibility
Each experiment records the dataset hash, split row IDs, environment versions and model-selection results. The package includes Python code, a Jupyter notebook, a LaTeX report and documentation.
Three synthetic software checks passed: data validation, training-only preprocessing with unseen categories, and a complete experiment run. These verify software behaviour; they are not evidence of real prediction quality.
Limits
The historical sample does not establish performance in Finland or in a future market. Source version, price units, vehicle composition and prediction-time feature availability need verification. Reference-price features are excluded by default.
The portfolio revision was prepared with AI assistance. The original data and executable notebook were not included in the supplied archive.