【python机器学习100天—2022年】Day2-简单线性回归

大家好,我是ly甲烷😜,后端开发也有做算法的心呀💗 ,我们来学习python机器学习
github有37.1k star的机器学习100天原项目地址https://github.com/Avik-Jain/100-Days-Of-ML-Code
之前的机器学习100天有很多库或者函数已经不用了,还有刚入门机器学习可能很多函数或者设置搞不明白,
所以,从python基础无缝到机器学习的教程来了。博主亲自操作一遍过的记录,绝对细致。如果学不会可以评论区讨论,如果我懂,我会回复的。

今天是机器学习第二天——简单线性回归 👇 👇 👇。前一天——数据预处理。

数据集

链接:https://pan.baidu.com/s/1Y2vZ5Rvn2PpRkj9XhnZrXQ?pwd=yyds
提取码:yyds

相关概念

1.1 什么是回归?

回归实际上就是“最佳拟合”。
根据已有的数据拟合出一条最佳的直线、曲线、超平面或函数等,用于预测其它数据的目标值。

1.2 什么是线性回归?

由已有的数据拟合出最佳的直线,然后用这个直线的线性关系去预测其他数据。比如一直蜗牛在沿直线往前走,我们观察它,一秒钟的时候在1cm处,两秒钟的时候在2cm处,三秒钟的时候在3cm处…等等我们可以预测十秒钟时它在10cm处,这就是线性回归。当然这个问题很简单在于我们知道速度、时间、路程的物理关系。对于有些不那么明显的线性关系的,机器学习就可以帮我们找出来,比如通过鸢尾花的花瓣长度与宽度的线性关系来预测花瓣宽度

1.数据预处理

import pandas as pd
from sklearn.model_selection import train_test_split
# 第一步:数据预处理
dataset = pd.read_csv(r'E:\workspace\python_workspace\datasets\studentscores.csv')
X = dataset.iloc[:, :1].values
Y = dataset.iloc[:, 1].values

X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=1/4, 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.可视化显示

import matplotlib.pyplot as plt
# 训练集结果可视化
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')
plt.show() # 展示图像

最终结果

训练集可视化结果:
在这里插入图片描述
预测集可视化结果
在这里插入图片描述
蓝色直线是预测的结果,红点是数据实际的分布,可以看到,预测的结果还不错。

函数学习

matplotlib.pyplot.scatter :散点图
matplotlib.pyplot.plot : 绘制为线条

plt.plot() 函数详解:https://zhuanlan.zhihu.com/p/258106097


今日总结:
完整的机器学习流程差不多就是这样: 数据预处理——训练模型——预测结果——可视化显示
当然最强的是搭建模型😜,我们先学会用别人搭建好的模型吧~
第三天:多元线性回归 https://blog.csdn.net/weixin_44179010/article/details/124637750


今天就到这里啦,如果不懂,可以调试调试,看看变量是怎么变的,有不足和错误的地方欢迎大家指正👐
大家可以在评论区留下足迹👍 💬 ⭐️、留下遇到的问题哦。或者你也可以记录学习博客,留下你的博客地址
每天半小时,100天打卡挑战,让我们学会机器学习~💖

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

甲 烷

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值