机器学习——Day 2 简单线性回归
写在开头
由于某些原因开始了机器学习,为了更好的理解和深入的思考(记录)所以开始写博客。
学习教程来源于github的Avik-Jain的100-Days-Of-MLCode
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。英文版:https://github.com/Avik-Jain/100-Days-Of-ML-Code
中文翻译版:https://github.com/MLEveryday/100-Days-Of-ML-Code
本人新手一枚,所以学习的时候遇到不懂的会经常百度,查看别人的博客现有的资料。但是由于不同的人思维和写作风格都不一样,有时候看到一些长篇大论就不想看,杂乱不想看(实力懒癌患者+挑剔)。看到别人写的不错的就不想再费时间打字了,所以勤奋的找了自认为简洁明了的文章分享在下面,希望能帮助到大家。
注意这是一篇记录博客,非教学。
第一步:数据预处理
关于这一步的具体说明在Day1讲过了,详情请看:https://www.cnblogs.com/hidari26/p/10923822.html。
这里导入我们需要的库,值得注意的是,这里比第一天多了一个matplotlib.pyplot,matplotlib是python上的一个2D绘图库, matplotlib下的模块pyplot是一个有命令样式的函数集合, matplotlib.pyplot是为我们对结果进行图像化作准备的。
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.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)
接下来只要具体掌握如何使用sklearn.linear_model中的LinearRegression类,使用训练集做简单线性回归得到回归函数,通过回归函数使用测试集做出预测结果。
相关学习可参考:https://www.cnblogs.com/magle/p/5881170.html
英文参考:https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LinearRegression.html
第二步:训练集使用简单线性回归模型来训练
from sklearn.linear_model import LinearRegression regressor = LinearRegression() regressor = regressor.fit(X_train, Y_train)
第三步:预测结果
Y_pred = regressor.predict(X_test)
关于matplotlib,自认为以下代码本身就通俗易懂。但显然这些类的用法不止如此,所以找了一些资料,有兴趣的可以看看。
散点图:
英文说明:https://matplotlib.org/api/_as_gen/matplotlib.pyplot.scatter.html
中文说明(以下两个差别不大,都有案例):
https://blog.csdn.net/m0_37393514/article/details/81298503
https://blog.csdn.net/qiu931110/article/details/68130199
线图:
英文说明:https://matplotlib.org/api/_as_gen/matplotlib.pyplot.plot.html
中文说明:https://blog.csdn.net/u014539580/article/details/78207537
matplotlib.pyplot :
英文说明:https://matplotlib.org/tutorials/introductory/pyplot.html#
中文说明(plt的一些函数):https://blog.csdn.net/qiurisiyu2016/article/details/80187177
第四步:可视化
#散点图 plt.scatter(X_train, Y_train, color = 'red') #线图 plt.plot(X_train, regressor.predict(X_train), 'bo-') plt.show()
#散点图 plt.scatter(X_test, Y_test, color = 'red') #线图 plt.plot(X_test, Y_pred, 'bo-') plt.show()
总结
这一章的内容较少,理解难度也较少,所以没什么好说的了。
欢迎评论中提问,相关问题将在此更新!