该系列:
- 整合了《机器学习实战》中的要点,适合理解概念之后当作笔记复习或者只喜欢看概念不喜欢看讲解的胖友。
- 将代码改成了python3版本
- 将单独成段的代码讲解以注释的方式与代码融合,方便阅读。
机器学习基础概念
- 训练集是用于训练机器学习算法的数据样本集合。
- 目标变量是机器学习算法的预测结果,在分类算法中目标变量的类型通常是标称型的,而在回归算法中通常是连续型的。
- 一般过程: 为了测试机器学习算法的效果,通常使用两套独立的样本集:训练数据和测试数据。当机器学习程序开始运行时,使用训练样本集作为算法的输人,训练完成之后输人测试样本。输人测试样本时并不提供测试样本的目标变量,由程序决定样本属于哪个类别。比较测试样本预测的目标变量值与实际样本类别之间的差别,就可以得出算法的实际精确度。
- 监督学习:知道预测什么,即目标变量的分类信息。
- 分类
- 回归:主要用于预测数值型数据
- 无监督学习:此时数据没有类别信息,也不会给定目标值。
- 聚类:数据集合分成由类似的对象组成的多个类。
- 密度估计:将寻找描述数据统计值的过程。
如何选择合适算法
1、使用机器学习算法的目的,想要算法完成何种任务
if(想预测目标变量的值){
选择监督学习算法;
//进一步确定目标变量类型
if(目标变量是离散型){
选择分类器算法;
}
if(目标变量是连续型){
选择回归算法;
}
}else{
选择无监督学习算法;
//进一步分析是否需要将数据划分为离散的组
if(这是唯一需求){
使用聚类算法;
}else if(还需要估计数据与每个分组的相似程度){
使用密度估计算法。
}
}
2、需要分析或收集的数据是什么
其次需要考虑的是数据问题。我们应该充分了解数据,对实际数据了解得越充分,越容易创建符合实际需求的应用程序。
主要应该了解数据的以下特性:
- 特征值是离散型变量还是连续型变量
- 特征值中是否存在缺失的值,何种原因造成缺失值
- 数据中是否存在异常值
- 某个特征发生的频率如何
...
开发机器学习应用程序的步骤
1、收集数据;
2、准备输入数据;保证数据格式符合要求。
3、分析输入数据;确保数据集中没有垃圾数据。
4、训练算法;
5、测试算法;无论哪种情形,如果不满意算法的输出结果,则可以回到第4步,改正并加以测试。问题常常会跟数据的收集和准备有关,这时你就必须跳回第1步重新开始。
6、使用算法;将机器学习算法转换为应用程序,执行实际任务,以检验上述步骤是否可以在实际环境中正常工作。此时如果碰到新的数据问题,同样需要重复执行上述的步骤。
网友评论