概念

  • 机器学习

机器学习就是把无序的数据转换成有用的信息,它的主要任务就是分类

  • 训练集和目标变量

通常我们为算法输入大量已分类数据作为算法的训练集目标变量是机器学习算法的预测结果。 在分类算法中目标变量的类型通常是标称型的,而在回归算法中通常是连续型的。

  • 监督学习和无监督学习
    监督学习: 算法必须知道预测什么,即目标变量的分类信息。
    无监督学习: 数据没有类别信息,也不会给定目标值。

无监督学习中,将数据集合分成由类似的对象组成的多个类的过程被称为聚类;将寻找描述数据统计值的过程称之为密度估计无监督学习还可以减少数据特征的维度!


机器学习算法

机器学习算法 主要有监督学习无监督学习组成。

监督学习

  1. 分类算法 (目标变量离散型)
  • K-近邻算法(KNN)
    定义:K-近邻算法采用测量不同特征之间的距离方法进行分类。
    优点:精度高,对异常值不敏感,无数据输入假定。
    缺点:计算复杂度高,空间复杂度高。
    适用数据范围:数值型和标称型。
  • 朴素贝叶斯算法
  • 支持向量机(SVM)
  • 决策树
    优点:计算复杂度不高,输出结果易于理解,对中间值的缺失不敏感,可以处理不相关特征数据。
    缺点:可能产生过度匹配问题。
    适用数据类型:数值型和标称型。
  • AdaBoost
  1. 回归算法 (目标变量连续型)
  • 线性回归
  • 局部加权线性回归
  • Ridge回归
  • Lasso最小回归系数估计

无监督学习

  1. K-均值聚类

对未标注数据分组聚类

  1. Apriori算法

对数据集进行关联分析

  1. FP-growth算法

提高发现数据集中频繁项的性能

  1. 最大期望算法
  2. DBSCAN
  3. Parzen窗设计

其他工具

  • PCA
  • SVD
  • MapReduce

开发机器学习程序步骤

  1. 收集数据
  • 如制作网络爬虫,收集数据。
  1. 准备输入数据
  • 必须确保数据格式符合要求。
  1. 分析输入数据
  • 主要是人工分析以前的数据,空值、异常值,是否可以识别模式等等,确保数据集中没有垃圾数据。
  1. 训练算法
  • 机器学习算法开始,无监督学习算法不需要训练算法。
  1. 测试算法
  • 评估算法准确率。
  1. 使用算法
  • 将机器学习算法转换为应用程序,执行实际任务,以检验上述步骤是否可以在实际环境中正常工作。

参考《机器学习实战》