From 663649754afd4c89794b13492a276a7cd5140fd1 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 11 Apr 2026 21:43:44 +0000 Subject: [PATCH 2/2] fix: update MSE to RMSE terminology and fix classification report table alignment Agent-Logs-Url: https://github.com/microsoft/ML-For-Beginners/sessions/cf58f318-8459-43d7-b8ac-70e932bf6ad6 Co-authored-by: leestott <2511341+leestott@users.noreply.github.com> --- 2-Regression/3-Linear/README.md | 6 +++--- 4-Classification/2-Classifiers-1/README.md | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/2-Regression/3-Linear/README.md b/2-Regression/3-Linear/README.md index 8d6e0d14f..8978b79ee 100644 --- a/2-Regression/3-Linear/README.md +++ b/2-Regression/3-Linear/README.md @@ -207,13 +207,13 @@ lin_reg.fit(X_train,y_train) The `LinearRegression` object after `fit`-ting contains all the coefficients of the regression, which can be accessed using `.coef_` property. In our case, there is just one coefficient, which should be around `-0.017`. It means that prices seem to drop a bit with time, but not too much, around 2 cents per day. We can also access the intersection point of the regression with Y-axis using `lin_reg.intercept_` - it will be around `21` in our case, indicating the price at the beginning of the year. -To see how accurate our model is, we can predict prices on a test dataset, and then measure how close our predictions are to the expected values. This can be done using mean square error (MSE) metrics, which is the mean of all squared differences between expected and predicted value. +To see how accurate our model is, we can predict prices on a test dataset, and then measure how close our predictions are to the expected values. This can be done using root mean square error (RMSE) metrics, which is the root of the mean of all squared differences between expected and predicted value. ```python pred = lin_reg.predict(X_test) -mse = np.sqrt(mean_squared_error(y_test,pred)) -print(f'Mean error: {mse:3.3} ({mse/np.mean(pred)*100:3.3}%)') +rmse = np.sqrt(mean_squared_error(y_test,pred)) +print(f'RMSE: {rmse:3.3} ({rmse/np.mean(pred)*100:3.3}%)') ``` Our error seems to be around 2 points, which is ~17%. Not too good. Another indicator of model quality is the **coefficient of determination**, which can be obtained like this: diff --git a/4-Classification/2-Classifiers-1/README.md b/4-Classification/2-Classifiers-1/README.md index 62cef08d4..82961d43a 100644 --- a/4-Classification/2-Classifiers-1/README.md +++ b/4-Classification/2-Classifiers-1/README.md @@ -223,7 +223,7 @@ Since you are using the multiclass case, you need to choose what _scheme_ to use | japanese | 0.70 | 0.75 | 0.72 | 220 | | korean | 0.86 | 0.76 | 0.81 | 242 | | thai | 0.79 | 0.85 | 0.82 | 254 | - | accuracy | 0.80 | 1199 | | | + | accuracy | | | 0.80 | 1199 | | macro avg | 0.80 | 0.80 | 0.80 | 1199 | | weighted avg | 0.80 | 0.80 | 0.80 | 1199 |