概念
- 机器学习
机器学习就是把无序的数据转换成有用的信息,它的主要任务就是分类。
- 训练集和目标变量
通常我们为算法输入大量已分类数据作为算法的训练集,目标变量是机器学习算法的预测结果。 在分类算法中目标变量的类型通常是标称型的,而在回归算法中通常是连续型的。
- 监督学习和无监督学习
监督学习: 算法必须知道预测什么,即目标变量的分类信息。
无监督学习: 数据没有类别信息,也不会给定目标值。
在无监督学习中,将数据集合分成由类似的对象组成的多个类的过程被称为聚类;将寻找描述数据统计值的过程称之为密度估计。无监督学习还可以减少数据特征的维度!
机器学习算法
机器学习算法 主要有监督学习和无监督学习组成。
监督学习
- 分类算法 (目标变量离散型)
- K-近邻算法(KNN)
定义:K-近邻算法采用测量不同特征之间的距离方法进行分类。
优点:精度高,对异常值不敏感,无数据输入假定。
缺点:计算复杂度高,空间复杂度高。
适用数据范围:数值型和标称型。 - 朴素贝叶斯算法
- 支持向量机(SVM)
- 决策树
优点:计算复杂度不高,输出结果易于理解,对中间值的缺失不敏感,可以处理不相关特征数据。
缺点:可能产生过度匹配问题。
适用数据类型:数值型和标称型。 - AdaBoost
- 回归算法 (目标变量连续型)
- 线性回归
- 局部加权线性回归
- Ridge回归
- Lasso最小回归系数估计
无监督学习
- K-均值聚类
对未标注数据分组聚类
- Apriori算法
对数据集进行关联分析
- FP-growth算法
提高发现数据集中频繁项的性能
- 最大期望算法
- DBSCAN
- Parzen窗设计
其他工具
- PCA
- SVD
- MapReduce
开发机器学习程序步骤
- 收集数据
- 如制作网络爬虫,收集数据。
- 准备输入数据
- 必须确保数据格式符合要求。
- 分析输入数据
- 主要是人工分析以前的数据,空值、异常值,是否可以识别模式等等,确保数据集中没有垃圾数据。
- 训练算法
- 机器学习算法开始,无监督学习算法不需要训练算法。
- 测试算法
- 评估算法准确率。
- 使用算法
- 将机器学习算法转换为应用程序,执行实际任务,以检验上述步骤是否可以在实际环境中正常工作。
参考《机器学习实战》