写在前面:关于理论部分,在看完了周志华老师的书之后仍然是一知半解,看着能懂,但是要自己说又说不上来,动手能力也不够,所以后面几天先写点代码理解,最后整合理论部分以及公式理解。代码理解部分会穿插公式理解与理论知识,不会仅限于代码。
摘要:关于简书 - 写文章 (jianshu.com)的代码理解
参考:
(1)《机器学习》周志华著,清华大学出版社
(2)《Hands-On Machine Learning with Scikit-Learn and TensorFlow》by Aurélien Géron
(3)数据集的分割:https://developer.aliyun.com/article/672642
(4)数据归一化:https://blog.csdn.net/GentleCP/article/details/109333753
(5)模型评估r2_score:https://blog.csdn.net/qq_38890412/article/details/109565970
(6)LinearRegression解析:https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LinearRegression.html
(7)matplotlib rc配置:https://blog.csdn.net/weixin_39010770/article/details/88200298
(8)matplotlib.pyplot.plot详解:https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.plot.html#matplotlib.pyplot.plot
1.机器学习过程
(1)Look at the big picture
(2)Get the data
(3)Discover and visualize the data to gain insights
(4)Prepared data for Machine Learning algorithms
(5)Select a model and train it
(6)Fine-tune ur model
(7)Present ur solution
(8)Launch, monitor and maintain ur system
2.明确需求
分析研究波士顿房价并对其进行预测。
3.获取数据集
3.1数据集介绍
CRIM: 城镇人均犯罪率
ZN: 住宅用地所占比例
INDUS: 城镇中非住宅用地所占比例
CHAS: 虚拟变量,用于回归分析
NOX: 环保指数
RM: 每栋住宅的房间数
AGE: 1940 年以前建成的自住单位的比例
DIS: 距离 5 个波士顿的就业中心的加权距离
RAD: 距离高速公路的便利指数
TAX: 每一万美元的不动产税率
PTRATIO: 城镇中的教师学生比例
B: 城镇中的黑人比例
LSTAT: 地区中有多少房东属于低收入人群
3.2数据来源
波士顿房价经典数据集,我们从sklearn自带的包datasets中获取数据集。对于datasets,内置了很多可供与学习的小型数据集,关于其具体操作,可以参考API Reference — scikit-learn 0.24.2 documentation,这里不在一一列举。
3.3代码
from sklearn import datasets
boston = datasets.load_boston()
3.3后续
这里获取的boston不可以直接使用,输出后可以看到


其输出值是一个大的字典,我们需要的内容需要从其中按键进行访问,使用pandas包将数据导入成DataFrame。
import pandas as pd
data = pd.DataFrame(boston.data, columns=boston.feature_names)
data['Price'] = boston.target
查看输出:

注:boston里的data即包含了所有的数据,但是这些数据是没有“标记”的,我们需要做的是一个线性回归模型,属于有监督学习,这里把boston里的target作为标记加入到最后的data中,这样得到了包含标记的506个数据,用于之后的学习。(当然也可以直接把boston.data作为x,boston.target作为y去划分训练集与测试集,但现实取得的数据不会有这么好的划分,一般得到是类似data这样的数据,x与y(属性与标记)需要我们自己去划分)