大家好,我是ly甲烷,后端开发也有做算法的心呀 ,我们来学习python机器学习
github有37.1k star的机器学习100天原项目地址https://github.com/Avik-Jain/100-Days-Of-ML-Code
之前的机器学习100天有很多库或者函数已经不用了,还有刚入门机器学习可能很多函数或者设置搞不明白,
所以,从python基础无缝到机器学习的教程来了。博主亲自操作一遍过的记录,绝对细致。如果学不会可以评论区讨论,如果我懂,我会回复的。
相关概念 1.1 什么是回归?今天是机器学习第二天——简单线性回归 。前一天——数据预处理。
回归实际上就是“最佳拟合”。
根据已有的数据拟合出一条最佳的直线、曲线、超平面或函数等,用于预测其它数据的目标值。
由已有的数据拟合出最佳的直线,然后用这个直线的线性关系去预测其他数据。比如一直蜗牛在沿直线往前走,我们观察它,一秒钟的时候在1cm处,两秒钟的时候在2cm处,三秒钟的时候在3cm处…等等我们可以预测十秒钟时它在10cm处,这就是线性回归。当然这个问题很简单在于我们知道速度、时间、路程的物理关系。对于有些不那么明显的线性关系的,机器学习就可以帮我们找出来,比如通过鸢尾花的花瓣长度与宽度的线性关系来预测花瓣宽度
1.数据预处理import pandas as pd from sklearn.model_selection import train_test_split # 第一步:数据预处理 dataset = pd.read_csv(r'E:workspacepython_workspacedatasetsstudentscores.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
今日总结:
完整的机器学习流程差不多就是这样: 数据预处理——训练模型——预测结果——可视化显示
当然最强的是搭建模型,我们先学会用别人搭建好的模型吧~
今天就到这里啦,如果不懂,可以调试调试,看看变量是怎么变的,有不足和错误的地方欢迎大家指正
大家可以在评论区留下足迹 ⭐️、留下遇到的问题哦。或者你也可以记录学习博客,留下你的博客地址
每天半小时,100天打卡挑战,让我们学会机器学习~



