100天机器学习(100-Days-Of-ML)day2

本系列为100天机器学习学习笔记。详细请参考下方作者链接:
100天机器学习github:
https://github.com/MLEveryday/100-Days-Of-ML-Code

Day2简单线性回归

在这里插入图片描述

第一步:数据预处理

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

dataset = pd.read_csv('studentscores.csv')
X = dataset.iloc[ : ,   : 1 ].values
Y = dataset.iloc[ : , 1 ].values

from sklearn.model_selection import train_test_split
X_train, X_test, Y_train, Y_test = train_test_split( X, Y, test_size = 1/4, random_state = 0) 

数据集:
在这里插入图片描述

第二步:训练集使用简单线性回归模型来训练

from sklearn.linear_model import LinearRegression
regressor = LinearRegression()
regressor = regressor.fit(X_train, Y_train)

第三步:预测结果

Y_pred = regressor.predict(X_test)

第四步:可视化

训练集结果可视化

plt.scatter(X_train , Y_train, color = 'red')
plt.plot(X_train , regressor.predict(X_train), color ='blue')
plt.style.use('ggplot')#绘图风格
plt.show()

在这里插入图片描述

测试集结果可视化

plt.scatter(X_test , Y_test, color = 'red')
plt.plot(X_test , regressor.predict(X_test), color ='blue')
plt.show()

在这里插入图片描述
补充:
上面画法没问题,但是若是自变量不止一个怎么办?在这里只有hour,可以按上面那样画。
另外一种可视化方法:
以测试集为例:

plt.plot((Y_test.min(),Y_test.max()),(Y_test.min(),Y_test.max()),color="blue")
plt.scatter(Y_test,regressor.predict(X_test),color='red')
plt.xlabel("Y_test");plt.ylabel("Y_pred")
plt.show()

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/ssswill/article/details/86077137
今日推荐