《机器学习100天》学习笔记——Day 2_Simple_Linear_Regression(简单线性回归)

100-Days-Of-ML-Code
中文版《机器学习100天》
GitHub :https://github.com/MLEveryday/100-Days-Of-ML-Code

分为四步走:

1、数据预处理

# Data Preprocessing
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

dataset = pd.read_csv('D:\PycharmProjects\DataSet\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)

iloc 使得我们可以对column使用slice(切片)的方法对数据进行选取。

2、训练集使用简单线性回归模型来训练

# Fitting Simple Linear Regression Model to the training set
from sklearn.linear_model import LinearRegression
regressor = LinearRegression()	#先创建一个LinearRegression类的regressor对象
regressor = regressor.fit(X_train, Y_train)	#使用LinearRegression类的fit()方法对数据集进行训练

LinearRegression 拟合一个带有系数 w = (w_1, …, w_p) 的线性模型,使得数据集实际观测数据和预测数据(估计值)之间的残差平方和最小。

3、预测结果

# Predecting the Result
Y_pred = regressor.predict(X_test)	#使用LinearRegression类的predict()方法预测来自测试集的结果,并把输出保存在Y_pred向量中

4、可视化

使用matplotlib.pyplot库对训练集和测试集结果绘制散点图,查看模型预测效果。
(1)训练集结果可视化

# Visualising the Training results
plt.scatter(X_train , Y_train, color = 'red')
plt.plot(X_train , regressor.predict(X_train), color ='yellow')
plt.show()

结果如下:
在这里插入图片描述
(2)测试集结果可视化

# Visualizing the test results
plt.scatter(X_test , Y_test, color = 'black')
plt.plot(X_test , regressor.predict(X_test), color ='blue')
plt.show()

结果如下:
在这里插入图片描述

完整代码如下:

# Data Preprocessing
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

dataset = pd.read_csv('D:\PycharmProjects\DataSet\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)

# Fitting Simple Linear Regression Model to the training set
from sklearn.linear_model import LinearRegression
regressor = LinearRegression()
regressor = regressor.fit(X_train, Y_train)

# Predecting the Result
Y_pred = regressor.predict(X_test)

# Visualising the Training results
plt.scatter(X_train , Y_train, color = 'red')
plt.plot(X_train , regressor.predict(X_train), color ='yellow')
plt.show()

# Visualizing the test results
plt.scatter(X_test , Y_test, color = 'black')
plt.plot(X_test , regressor.predict(X_test), color ='blue')
plt.show()

](https://img-blog.csdnimg.cn/20190326095110947.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTI5MDEx,size_16,color_FFFFFF,t_70)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值