Day2:简单线性回归

2018-08-01  本文已影响0人  海之瑶
Day 2.jpg

简单线性回归

根据单个的自变量X预测因变量Y。通常假设X和Y之间是线性关系,试图计算出一条直线Y=b0+b1X1来尽可能准确地拟合所有的点,使得预测的Y值(Yp)与实际的Y值(Yi)最接近,即min(sum(Yi-Yp)^2)

案例:用学习时间预测分数

数据下载

一、数据预处理

import numpy as np
import pandas as pd
df = pd.read_csv('D:\\data\\day2-studentscores.csv')
X = df.iloc[:,:1].values
Y = df.iloc[:,1].values
from sklearn.cross_validation 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)

四、可视化

通过散点图查看实际值和预测值的偏差

import matplotlib.pyplot as plt
%matplotlib inline

1. 训练集可视化

plt.scatter(X_train, Y_train, color = 'red')
plt.plot(X_train, regressor.predict(X_train), color = 'blue')

2. 测试集可视化

plt.scatter(X_test, Y_test, color = 'red')
plt.plot(X_test, Y_pred, color = 'blue')
上一篇 下一篇

猜你喜欢

热点阅读