Predictive Modelling & Vehicle Segmentation

Author

Nev

Published

April 23, 2026

Analysis

#| code-fold: true #| message: false #| warning: false

library(tidyverse) library(cluster)

1. Data

set.seed(0) df <- data.frame( Weight = sample(1000:3000, 300, replace = TRUE), EngineSize = runif(300, 1.0, 4.0), Horsepower = sample(50:300, 300, replace = TRUE) ) df\(MPG <- 45 - (0.01 * df\)Weight) - (2 * df$EngineSize) + rnorm(300, 0, 2)

2. KMeans

km <- kmeans(scale(df[,1:3]), centers = 3) df\(Cluster <- as.factor(km\)cluster)

3. Plot

ggplot(df, aes(x = Horsepower, y = MPG, color = Cluster)) + geom_point() + geom_smooth(method = “lm”, se = FALSE) + theme_minimal()