第一章,机器学习基础
一、何谓机器学习
1、机器学习能让我们自数据集中受到启发,换句话说,我们会利用计算机彰显数据背后的真实含义。这才是机器学习的真实含义。它既不是只会徒然模仿的机器人,也不是具有人类感情的仿生人
2、机器学习就是把无序的数据转换成有用的信息
3、机器学习用到了统计学的知识
4、在社会科学领域,正确率到60%以上的分析被认为是非常成功的
二、关键术语
1、特征或者属性:数值型(十进制)、二值型(有/无或0/1)、枚举型(鸟类后背颜色)
2、特征或者属性通常是训练样本集的列,它们是独立测量得到的结果,多特征联系在一起共同组成一个训练样本
三、机器学习的只要任务
1、机器学习的主要任务就是分类
2、机器学习的另一项任务是回归,它主要用于预测数值型数据
3、分类和回归属于监督学习,之所以称为监督学习,是因为这类算法必须知道预测什么,即目标变量的分类信息
4、与监督学习相对应的是无监督学习,此时数据没有类别信息,也不会给定目标值
5、在无监督学习中,将数据集合分成有类似的对象组成的多个类的过程被称为聚类,将寻找描述数据统计值的过程称之为密度估计
6、机器学习的主要任务如下:
用于执行分类、回归、聚类和密度估算的机器学习算法
监督学习用途 | |
K-邻近算法 | 线性回归 |
朴素贝叶斯算法 | 局部加权线性回归 |
支持向量机 | Ridge回归 |
决策树 | Lasso最小回归系数估计 |
无监督学习的用途 | |
K-均值 | 最大期望算法 |
DBSCAN | Parzen窗设计 |
四、如何选择合适的算法
1、首先考虑使用机器学习的目的
2、如果想要预测目标变量的值,则可以选择监督学习算法,否则选择无监督学习算法
监督学习算法
3、确定选择监督学习算法之后,需要进一步确定目标变量类型
4、如果目标变量是离散型,如是/否、1/2/3、A/B/C,或者红/黑/蓝,则可以选择分类算法
5、如果目标变量是连续性的数值,如0.0-100.00、-999-999等,则选择回归算法
无监督学习算法
6、如果不想预测目标变量的值,则选择无监督学习算法
7、进一步分析是否需要将数据划分为离散的组,如果这是唯一的要求,则使用聚类算法
8、如果需要估计数据与每个分组的相似程度,则需要使用密度估计算法
注:选择恰当的机器学习算法,也并非一成不变
五、开发机器学习应用程序的步骤
1、收集数据
2、准备输入数据。数据预处理,确保数据格式符合要求
3、分析输入数据。人工分析,查看数据是否为空值、是否存在明显异常值,确保数据集中没有垃圾数据
4、训练算法。机器学习算法从这一步开始真正学习,第4第5步时机器学习算法的核心
注:如果使用无监督算法,由于不存在目标变量值,故而也不需要训练算法,所以与算法相关的内容都集中在第5步
5、测试算法。使机器学习得到知识信息,为了评估算法必须测试算法工作的效果。如果输出结果不满意,则可以返回第4步,改正并加以测试
6、使用算法。将机器学习算法转换为应用程序
六、Python语言的优势
1、语法清晰
2、易于操作纯文本文件
3、使用广泛,存在大量的开发文档