1. 简介

学习此书[1]时的一些记录

2. 如何选择合适的算法

考虑使用机器学习算法的目的, 如果想要预测目标变量的值,则可以选择监督学习算法,否则可以选择无监督学习算法。确定选择监督学习算法后,进一步确定目标变量类型,如果目标变量是离散型,如是/否、1/2/3、A/B/C等,则可以选择分类算法;如果目标变量是连续型的数值,如0.0100.00、-999999或者+∞~-∞等,则需要选择回归算法, 如果不想预测目标变量的值,则可以选择无监督算法,进一步分析是否需要将数据划分为离散的组。如果这是唯一的要求,则使用聚类算法,如果还需要估计数据与每个分组的相似程度,则需要使用密度估计算法。

3. 开发机器学习程序的应用步骤

  • 收集数据
  • 准备数据
  • 分析数据
  • 训练算法
  • 测试算法
  • 使用算法

4. kNN算法

4.1 k-近邻算法的原理

存在一个样本数据集合,也称作训练样本集,并且样本集中每个数据都存在标签,即我们知道样本集中每一数据与所属分类的对应关系。输入没有标签的新数据后,将新数据的每个特征与样本集中数据对应的特征进行比较,然后算法提取样本集中特征最相似数据(最近邻)的分类标签。一般来说,我们只选取样本数据集中前k个最相似的数据,这就是k-近邻算法

4.2 kNN的应用

在书[1]中提供了一个识别数字的实例,对其稍作修改,最终代码在此

Footnotes