第一篇博客
为了记录学习的知识并与他人进行交流,本人准备进行java、机器学习等知识的学习,一起勉励。
机器学习实战(蜥蜴书第二版)
第一章
1.1什么是机器学习
机器学习是一个领域,让计算机无须进行明确编程就具备学习能力。通过经验E学习T,任务T的性能P随着E的经验增长,则成为机器学习。
1.2机器学习的类型
1.3机器学习的例子
接下来利用numpy和pandas将数据进行处理,具体来说是将生活满意度数据与人均GDP合并,将人均GDP设置为X,生活满意度设置为Y。在这里数据处理有几个小细节:
-
np.c_的使用,这个与pandas的merge很像,但这个程序中np.c_[country_stats[GPD_per_capita"]],country_stats[GPD_per_capita"]是一个Series,将pandas转为numpy,同时这个.c_是将其变为二维的,[[1000, 9000, 5000,…]]像这样,.r_将其变为一维的,由于创建LinerRegression我们要两维的所有X与Y都要变成二维的。 -
gdp_per_capita.rename(columns={“2015”: “GDP per capita”}, inplace=True)是将2015列名字更换为GDP pre capita. -
pandas中iloc如果为data.iloc[0],选取第一列。若为data.iloc[[0]],选取第一行。data.iloc[3,5],选取第三行第五列。data.iloc[[3,5]],取3和5行。记住逗号前为行,后面为列,如果没有逗号分隔,就算是列表也是切分行的。 -
pandas若直接索引像data[[‘GDP’, ‘ABC’]],则选取对应列。
之后进行
1.4机器学习的挑战
- 数据量不足
- 数据不具代表性
- 过拟合
- 低质量数据(需要大量清洗)
- 无关特征
- 欠拟合数据
1.5测试与验证
训练集与测试集还有验证集(train_dev)
- 超参数调整与模型选择
执行使用许多小验证集的交叉验证(时间长) - 数据不匹配
|