机器学习Day002:简单线性回归
用一个简单的特征预测结果#
这是一种根据自变量(X)的值来预测因变量(Y)的方法。假设两个变量时线性相关的。因此,我们试图找到一个线性函数,使得它能够尽可能准确地根据特征或自变量(x)来预测响应值(y)。
怎样找到最佳拟合曲线?#
在这个线性回归模型中,我们试图通过寻找“最佳拟合线”——即回归线,来使预测误差最小化。我们尝试最小化观测值(真实值)与预测值(来自模型)之间的距离(长度)
在这个回归任务中,我们将根据学生的学习小时数来预测他们预期得到的百分比成绩。
Step 1:预处理数据#
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.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)
注意,如果你使用的是sklearn的最新版本,你可能需要改成from sklearn.model_selection import train_test_split,因为cross_validation模块已经被弃用了
我们将按照前面数据预处理章节执行相同的步骤
- 引入python库
- 导入数据集
- 检查丢失数据
- 分割数据集
- 特征缩放将由我们用于简单线性回归模型的库来处理。
Step 2:通过训练集拟合线性回归模型#
from sklearn.linear_model import LinearRegression
regressor = LinearRegression()
regressor = regressor.fit(X_train, Y_train)
为了拟合数据集到模型,我们将使用sklearn.linear_model
库的LinearRegression
类。然后新建一个LinearRegression
类的对象regressor
。现在使用LinearRegression
类的fit()
方法拟合regressor
对象到数据集
Step 3:预测结果#
Y_pred = regressor.predict(X_test)
现在我们将预测我们测试集的观测值。我们将保留输出到一个向量Y_pred
中。为了预测结果,我们使用上一步训练好的regressor
,使用LinearRegression
类中的predict()
方法
Step 4:可视化#
最后一步是可视化我们的结果。我们将使用matplotlib.pyplot
库来制作训练集和测试集结果的散点图,通过散点图来查看我们的模型预测值与观测值的接近程度。
可视化训练结果#
plt.scatter(X_train , Y_train, color = 'red')
plt.plot(X_train , regressor.predict(X_train), color ='blue')
可视化测试结果#
plt.scatter(X_test , Y_test, color = 'red')
plt.plot(X_test , regressor.predict(X_test), color ='blue')
作者:xaopng
出处:https://www.cnblogs.com/mrpeng2333/p/17524806.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
随便记录点什么
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)