机器学习基础
1. 机器学习分为监督学习和无监督学习。
2. 监督学习一般使用两种类型的目标变量:标称型和数值型
- 标称型:就是取值比较固定的类型。有点像枚举类型,有穷值。这种特性的数据比较适合用于分类。
- 数值型:在无限的数据集中取值。比较适合找规律和线性回归,另外范围限定后也会成为标称型。
3. 我们可以将数据集分为测试集、验证集和训练集。
- 训练集用于处理训练模型
- 验证集用于调试自己的训练出来的模型
- 测试集是对最终模型的验证,防止最终验证的时候,这些数据集被使用。
4. 关于交叉验证:将数据集分为多个部分,随机选取一个作为测试集,其他的都是训练集。
5. 简单地说,机器学习就是将无用的数据转化为有用的信息。将无联系的数据转化为有序的价值。
6. 前期的ETL就是建立数学模型来解决问题。而机器学习是数据算法转化数据的价值。
7. 数据的采集:各种数据的采集是各种系统的运行结果,最重要的数据采集来自于传感器数据。
8. 机器学习的主要任务就是分类,使用标称型的数据。机器学习的另一个任务就是回归。分类和回归属于监督学习,之所以被称为监督学习,是因为这类算法必须知道预测什么,即目标变量的分类信息。
9. 无监督学习:数据没有类别信息,也不会给定目标值。在无监督学习中,将数据集合分成由类似的对象组成的多个类的过程被称为聚类;将寻找描述数据统计值的过程称之为密度估计。无监督学习还可以减少数据特征的维度,以便我们可以使用二维或三维图形更加直观地展示数据信息。
10. 如何选择合适的算法
- 首先考虑使用机器学习的目的。
- 考虑数据是离散型还是连续型。离散型适合分类,连续型适合回归。
- 是否考虑将数据划分成离散的,可以使用无监督学习中的聚类;如果还需要估计数据与每个分组的相似程度,则需要使用密度估计算法。
上面提到的原则不是一成不变的,要敢于打破常规解决问题。除此之外也有其他的考量指标:
- 特征值是连续型还是离散型
- 特征值中是否存在缺失的值,何种原因导致值缺失
- 数据中是否存在异常值
- 某个特征发生的概率如何
同时还要尝试不同的算法的执行效果,一般来说发现最好算法的关键环节是反复试错的迭代过程。
11. 机器学习开发的步骤:
- 收集数据
- 准备输入数据
- 分析输入数据:通过一维、二维、三维图形展示数据也是不错的方法,但是一般是多维的。但是多维也可以通过图形化展示的。这一步的作用主要是确保没有垃圾数据。
- 训练算法:机器学习算法从这一步才真正开始学习。
- 测试算法
- 使用算法:将机器学习算法转换为应用程序。
12. NumPy函数库的使用基础知识。