Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Try to Evaluate | Multivariate Linear Regression
Explore the Linear Regression Using Python

book
Try to Evaluate

Let’s see which model is better using the metrics we already know.

MSE:

from sklearn.metrics import mean_squared_error
print(mean_squared_error(Y_test, y_test_predicted).round(2))
print(mean_squared_error(Y_test, y_test_predicted2).round(2))
123
from sklearn.metrics import mean_squared_error print(mean_squared_error(Y_test, y_test_predicted).round(2)) print(mean_squared_error(Y_test, y_test_predicted2).round(2))
copy
python
Output:
0.28
0.27

MAE:

from sklearn.metrics import mean_absolute_error
print(mean_absolute_error(Y_test, y_test_predicted).round(2))
print(mean_absolute_error(Y_test, y_test_predicted2).round(2))
123
from sklearn.metrics import mean_absolute_error print(mean_absolute_error(Y_test, y_test_predicted).round(2)) print(mean_absolute_error(Y_test, y_test_predicted2).round(2))
copy
python
Output:
0.45
0.43

R-squared:

from sklearn.metrics import r2_score
print(r2_score(Y_test, y_test_predicted).round(2))
print(r2_score(Y_test, y_test_predicted2).round(2))
123
from sklearn.metrics import r2_score print(r2_score(Y_test, y_test_predicted).round(2)) print(r2_score(Y_test, y_test_predicted2).round(2))
copy
python
Output:
0.53
0.55

As a general rule, the more features a model includes, the lower the MSE (RMSE) and MAE will be. However, be careful about including too many features. Some of them may be extremely random, degrading the model's interpretability.

Tehtävä

Swipe to start coding

Let’s evaluate the model from the previous task:

  1. [Line #30] Import mean_squared_error for calculating metrics from scikit.metrics.
  2. [Line #31] Find MSE using method mean_squared_error() and Y_test, y_test_predicted2 as the parameters, assign it to the variable MSE, round the result to second digit.
  3. [Line #32] Print the variable MSE.
  4. [Line #35] Import r2_score from scikit.metrics.
  5. [Line #36] Find R-squared and assign it to the variable r_squared, round the result to second digit.
  6. [Line #37] Print the variable r_squared.

Ratkaisu

# Import the libraries
import pandas as pd
from sklearn.datasets import load_wine
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression

# Load the dataset
wine = load_wine()

# Configure pandas to show all features
pd.set_option('display.max_rows', None, 'display.max_columns', None)

# Define the DataFrame
data = pd.DataFrame(data = wine['data'], columns = wine['feature_names'])

# Define the target
data['total_phenols'] = wine.target

# Prepare the data
X2 = data[['flavanoids', 'nonflavanoid_phenols']]
Y = data['total_phenols']

# Train and fit the model
X2_train, X2_test, Y_train, Y_test = train_test_split(X2, Y, test_size = 0.3, random_state = 1)
model2 = LinearRegression()
model2.fit(X2_train, Y_train)
y_test_predicted2 = model2.predict(X2_test)

# Calculate the MSE
from sklearn.metrics import mean_squared_error
MSE = mean_squared_error(Y_test, y_test_predicted2).round(2)
print(MSE)

# Calculate the R-squared
from sklearn.metrics import r2_score
r_squared = r2_score(Y_test, y_test_predicted2).round(2)

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 5. Luku 2
# Import the libraries
import pandas as pd
from sklearn.datasets import load_wine
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression

# Load the dataset
wine = load_wine()

# Configure pandas to show all features
pd.set_option('display.max_rows', None, 'display.max_columns', None)

# Define the DataFrame
data = pd.DataFrame(data = wine['data'], columns = wine['feature_names'])

# Define the target
data['total_phenols'] = wine.target

# Prepare the data
X2 = data[['flavanoids', 'nonflavanoid_phenols']]
Y = data['total_phenols']

# Train and fit the model
X2_train, X2_test, Y_train, Y_test = train_test_split(X2, Y, test_size = 0.3, random_state = 1)
model2 = LinearRegression()
model2.fit(X2_train, Y_train)
y_test_predicted2 = model2.predict(X2_test)

# Calculate the MSE
from ___ import ___
MSE = ___
print(___)

# Calculate the R-squared
from ___ import ___
r_squared = ___
print(___)

Kysy tekoälyä

expand
ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

some-alt