[Avg. reading time: 3 minutes]

Model vs Library vs Framework

python -m venv .demomodel 
source .demomodel/bin/activate 
pip install scikit-learn joblib
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error, r2_score
from joblib import dump, load
import numpy as np

# Fake dataset: study_hours -> exam_score
rng = np.random.default_rng(42)
hours = rng.uniform(0, 10, size=100).reshape(-1, 1)     # feature X
noise = rng.normal(0, 5, size=100)                      # noise
scores = 5 + 8*hours.ravel() + noise                    # target y

X_train, X_test, y_train, y_test = 
    train_test_split(hours, scores, test_size=0.2, random_state=42)

model = LinearRegression()

# Train (fit)
model.fit(X_train, y_train)

# Evaluate
pred = model.predict(X_test)
print("MSE:", mean_squared_error(y_test, pred))
print("R2 :", r2_score(y_test, pred))
print("Learned slope and intercept:", model.coef_[0], model.intercept_)

# Save 
dump(model, "linear_hours_to_score.joblib")

# Inference on new data
new_hours = np.array([[2.0], [5.0], [9.0]])
print("Predicted scores:", model.predict(new_hours))

# Predict after load

restored = load("linear_hours_to_score.joblib")
print("Loaded model predicts:", restored.predict(new_hours))

Fun Task

  • Identify the Algorithj, Library, Model in this code
  • What is MSE, R2_Score
  • What is .joblib
  • What is the number 42?

#model #library #framework #r2score #mseVer 0.3.6

Last change: 2025-12-02