本系列为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()