计划:
1.继续学习sklearn数据库
13~14周学习小结
一、选择学习方式<br />
从 START 开始,首先看数据的样本是否 >50,小于则需要收集更多的数据。由图中,可以看到算法有四类,分类,回归,聚类,降维。其中 分类和回归是监督式学习,即每个数据对应一个 label。 聚类 是非监督式学习,即没有 label。 另外一类是 降维,当数据集有很多很多属性的时候,可以通过 降维 算法把属性归纳起来。例如 20 个属性只变成 2 个,注意,这不是挑出 2 个,而是压缩成为 2 个,它们集合了 20 个属性的所有特征,相当于把重要的信息提取的更好,不重要的信息就不要了。然后看问题属于哪一类问题,是分类还是回归,还是聚类,就选择相应的算法。 当然还要考虑数据的大小,例如 100K 是一个阈值。可以发现有些方法是既可以作为分类,也可以作为回归,例如 SGD。
二、通用的学习模式
1)KNN算法
K最近邻(k-Nearest Neighbor,KNN)分类算法的核心思想是如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。KNN算法可用于多分类,KNN算法不仅可以用于分类,还可以用于回归。通过找出一个样本的k个最近邻居,将这些邻居的属性的平均值赋给该样本,作为预测值。(特征空间)
2)哑编码
是一种状态编码。因为有些特征是用文字分类表达的,或者说将这些类转化为数字,但是数字与数字之间是没有大小关系的,纯粹的分类标记,这时候就需要用哑编码对其进行编码。比如0用0001,1用0010,2用0100以此类推。有点类似文本矩阵,最终会构成一个稀疏矩阵。
3)交叉验证
普通的训练方法是将样本集分成训练集和测试集。但交叉验证是将样本分成N份,每一份都可以作为测试集,而剩余的N-1份作为训练集,以此减少突发性和偶然性。
4)数据转换
是对字段处理的一种方式。常见的有三种,多项式转换,指数转换,对数转换。多项式转换:比如说有四个特征,度设为2,其实就是在原四个字段的基础上两两组合出新的字段,以期待他们和因变量之间会擦出新的火花。指数和对数不会产生新字段,我的理解是通过观察自变量和因变量之间的图形变换,然后推测字段在指数对数处理后会更加线性相关。