《机器学习实战》笔记---1、机器学习基础

一、总结

一句话总结:

【your own agreement】:Failure to 【comply with】 【your own agreement】 will 【destroy your self-confidence】 and make yourself depressed and uncomfortable

 

1、标称型和数值型?

监督学习一般使用两种类型的目标变量:【标称型和数值型】。
【分类】:标称型目标变量的结果只在有限目标集中取值,如真与假、动物分类集合{爬行类、鱼类、哺乳类、两栖类、植物、真 菌 };
【回归】:数值型目标变量则可以从无限的数值集合中取值,如 0.100、42.001、〗000.743等 。

 

2、特征和属性?

我们选用体重、翼展、有无脚蹼以及后背颜色作为评测基准。现实中,你可能会想测量更多的值。通常的做法是测量所有可测属性,而后再挑选出重要部分。下面测量的【这四种值称之为特征,也可以称作属性】,但本书一律将其称为特征。

 

3、为什么分类和回归属于监督学习?

分类和回归属于监督学习,之所以称之为监督学习,是因为【这类算法必须知道预测什么】,即目标变量的分类信息。

 

4、无监督学习 的具象化解释?

【不给目标】:与监督学习相对应的是无监督学习,此时【数据没有类别信息,也不会给定目标值】。
【聚类、密度估计、降维】:在无监督学习中,将数据集合分成由类似的对象组成的多个类的过程被称为【聚类】;将寻找【描述数据统计值的过程】称之为【密度估计】。此外,无监督学习还可以【减少数据特征的维度】,以便我们可以使用二维或三维图形更加直观地展示数据信息。

 

5、用于执行分类、回归、聚类和密度估计的机器学习算法?

监督学习的用途:k-近邻算法、线性回归、朴素贝叶斯算法、局部加权线性回归、支持向量机、Ridge回归、决策树、Lasso最小回归系数估计
无监督学习的用途:K-均值、最大期望算法、DBSCAN、Parzen窗设计

 

6、如何选择合适的算法?

一、【目的】:使用机器学习算法的【目的】,想要算法完成何种任务,比如是预测明天下雨的概率还是对投票者按照兴趣分组;
二、【数据】:需要分析或收集的【数据】是什么。
三、【监督学习】:首先考虑使用机器学习算法的目的。【如果想要预测目标变量的值,则可以选择监督学习算法】,否则可以选择无监督学习算法。确定选择监督学习算法之后,需要进一步确定目标变量类型,【如果目标变量是离散型,如是/否、1/2/3、― 冗或者红/黄/黑等,则可以选择分类器算法】;如果目标变量是连续型的数值,如0.0~ 100.00、-999~999或者+00~-00等 ,则需要选择回归算法。
四:【无监督学习】:【如果不想预测目标变量的值,则可以选择无监督学习算法】。进一步分析是否需要将数据划分为离散的组。【如果这是唯一的需求,则使用聚类算法】;如果还需要估计数据与每个分组的相似程度 ,则需要使用密度估计算法。

 

7、聚类和密度估计是什么?

如果不想预测【目标变量的值】,则可以选择【无监督学习】算法。
【离散的组是聚类】:进一步分析是否需要将数据划分为【离散的组】。如果这是唯一的需求,则使用【聚类】算法;
【离散的组+每个分组的相似程度 是 密度估计】:如果还需要估计数据与每个分组的【相似程度】 ,则需要使用【密度估计】算法

 

8、Pylab模块?

Python开发环境将来还会集成【Pylab模块】,【它将NumPy、SciPy和Matplotlib合并为一个开发环境】。在本书写作时,Pylab还没有并入Python环境,但是不远的将来我们肯定可以在 Python开发环境找到它。

 

9、Python语言的缺点?

【性能】:【Python语言唯一的不足是性能问题】。Python程序运行的效率不如Java或者C代码高,但是我们可以使用 Python调用C编译的代码。
【同时利用C和 Python的优点】:这样,我们就可以【同时利用C和 Python的优点】,逐步地开发机器学习应用程序。我们可以首先使用 Python编写实验程序,如果进一步想要在产品中实现机器学习,转换成C代码也不困难。