机器学习算法概要

作者:HaigLee
https://www.jianshu.com/u/67ec21fb270d
本文由 HaigLee 发布。未经许可,禁止转载。

从数据入手了解问题:
通常:列代表属性特征,行代表实例,机器学习数据集通常列对应一个属性,行对应一个观察,但也有例外。例如,有些文本挖掘问题的数据矩阵就是另外的形式:列对应一个观察,行对应一个属性。

名字的含义:
属性和标签有不同的名字。机器学习的初学者往往被这些名词迷惑,不同的作者可能会采用不同的名字,甚至一篇文章的段落与段落之间都会采用不同的名字。
属性(用来进行预测的变量)也被称为:
◆ 预测因子
◆ 特征
◆ 独立变量
◆ 输入
标签通常也被称为:
◆ 结果
◆ 目标
◆ 依赖变量
◆ 响应

1、属性和标签的不同类型决定模型的选择
属性可以分成 2 类:数值变量、类别(或因素、因子)变量。
例如身高,这种变量是数值变量;
例如性别,这种类型的属性叫作类别变量或因素变量。类别变量的一个特点就是不同值之间没有顺序关系。

注意:很多机器学习算法只能处理数值变量,不能处理类别变量或因素变量(factor variable)。例如,低自由度的回归算法只能处理数值变量, SVM、核方法、 K 最近邻也是同样。有些时候,类别变量可以转换为数值变量。这些变量的特性将会影响算法的选择以及开发一个预测模型的努力的方向,因此这也是当面临一个新问题时,需要考虑的因素之一。

当标签是数值的,就叫作回归问题。当标签是类别的,就叫作分类问题。如果分类结果只取 2 个值,就叫作二元分类问题。如果取多个值,就是多类别分类问题。

2、新数据集的注意事项
需要检查的事项:
� 行数、列数
� 类别变量的数目、类别的取值范围
� 缺失的值
� 属性和标签的统计特性

分类预测问题:
1、确定数据集的物理特征
第一件事情,确定数据集的规模,包括数据集的行数和列数。
好处:
首先,根据数据的规模可以大致判断训练所需的时间。
小数据集,训练时间会少于 1 分钟,这有利于在训练过程中不断调整和迭代。
如果数据集规模增加到1 000×1 000,低自由度的线性回归训练时间将不到一分钟,而集成方法训练时间需要几分钟。
如果数据集的行、列增加到万级规模,则低自由度的线性回归的训练时间将达到 3 ~ 4 小时,而集成方法则长达 12 ~ 24 小时。
更长的训练时间将会影响你的开发进度,因为通常需要迭代几次来对算法进行调整或优化。
另外一个重要的观察是如果数据集的列数远远大于行数,那么采用低自由度的线性回归的方法则有很大的可能获得最佳的预测,反之亦然。
根据应做事项清单,下一步要做的就是确定哪些列是数值型的,哪些列是类别型的。
2、数据集统计特征
获得数值型属性的描述性统计信息和类别型属性具体类别的数量分布。
读取数值型数据的某一列,然后产生它的统计信息。第一步计算此属性的均值和方差。了解这些统计信息可以加强在建立预测模型时的直观感受。
找到异常值。发现这种异常值的一种方法是:将一组数字按照百分位数进行划分。四分位数(quartiles,按顺序排列的一组数据被划分为 4 个相等部分的分割点的数值)、五分位数(quintiles)和十分位数(deciles)。
3、用分位数图展示异常点
研究异常点(异常值)的一个方法就是画出数据的分布图,然后与可能的分布进行比较,判断相关的数据是否匹配。

作者:HaigLee
https://www.jianshu.com/u/67ec21fb270d
本文由 HaigLee 发布。未经许可,禁止转载。

你可能感兴趣的:(机器学习算法概要)