机器学习100天之旅 第二天---简单线性回归

前言

回归分析是一种预测性的建模技术,它研究的是因变量(目标)和自变量(预测器)之间的关系。这种技术通常用于预测分析,时间序列模型以及发现变量之间的因果关系。例如,工作经验与薪水之间的关系,最好的研究方法就是回归。
回归分析是建模和分析数据的重要工具。在这里,我们使用曲线/线来拟合这些数据点,在这种方式下,从曲线或线到数据点的距离差异最小。

1 数据预处理

这里导入我们需要的库,值得注意的是,这里比第一天多了一个matplotlib.pyplot,matplotlib是python上的一个2D绘图库, matplotlib下的模块pyplot是一个有命令样式的函数集合, matplotlib.pyplot是为我们对结果进行图像化作准备的。
这里我们需要使用pandas的iloc(区分于loc根据index来索引,iloc利用行号来索引)方法来对数据进行处理,第一个参数为行号,:表示全部行,第二个参数 :1表示截到第1列(也就是取第0列)

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

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

from sklearn.model_selection import train_test_split
# 拆分数据,0.25为测试集
X_train, X_test, Y_train, Y_test,  = train_test_split(X,Y,test_size=0.25,random_state=0)

2 训练线性回归

from sklearn.linear_model import LinearRegression

#对训练集进行训练
regressor = LinearRegression()
regressor = regressor.fit(X_train,Y_train)

3 预测训练结果

Y_pred = regressor.predict(X_test)

4 可视化

训练集结果可视化

plt.title("Hours Vs Score (Training set)")
plt.xlabel("Studying Hours")
plt.ylabel("Student's score")
plt.scatter(X_train,Y_train,color = "red")
plt.plot(X_train,regressor.predict(X_train),'bo-')
plt.show()

训练结果:

测试集结果可视化

plt.title("Hours Vs Score (Testing set)")
plt.xlabel("Studying Hours")
plt.ylabel("Student's score")
#散点图
plt.scatter(X_test,Y_test,color= "red")
#线图
plt.plot(X_test,Y_pred,'bo-')
plt.show()

在这里插入图片描述
我会持续更新的我的机器学习笔记······

相关代码:Github
欢迎大家Star哟~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值