step 1:对问题进行分类
法一:
法二:
step 2:寻找可用的算法
根据分类结果,寻找对应合适的算法
2.1 分类
2.1.1 SVM
(1)可用于找到尽可能宽的分类的边界:当两个分类不能被清楚地分开时,该算法会找到其所能找到的最 佳边界
(2)处理特征密集的数据
2.1.2 人工神经网络
涵盖二分类、多分类和回归问题的脑启发式学习算法
2.1.3 逻辑回归
用于二分类和多分类问题的强大工具,可以给出线性分类边界
2.1.4 决策树和随机森林
将特征空间(feature space)细分为具有大致相同标签的区域
2.2 回归
2.2.1 线性回归
2.2.2 贝叶斯回归
2.2.3 提升决策树回归
2.3 聚类
2.3.1 层次聚类
2.3.2 K-means
2.4 异常检测
2.4.1 KNN
2.4.2 单类支持向量机
step 3:实现所有适用的算法
(1)通过最小量的特征工程快速且粗糙地实现一些算法。如分类问题用分类算法解决
(2)找出步骤(1)中表现较好的算法作为候选算法
(3)使用一组经过仔细选择的评估标准来比较每个候选算法在数据集上的表现
step 4:特征工程
常见的选取数据特征的方法:
(1)自动选取
主成分分析(PCA):一种线性降维方法,可以找出包含信息量较高的特征主成分,可以解释数据
中的大多数方差。(目前自己接触用的比较多的方法)
(2)人工干预 (使用交叉验证的准则来移除和增加特征)
法 1)a.最开始不选取任何特征
b.然后选择最相关的特征,将这个特征加入到已有特征;计算模型的交叉验证误差,重复选
取其它所有候选特征;最后,选取能使你交叉验证误差最小特征,并放入已选择的特征之中
c.重复,直到达到期望数量的特征为止
法 2 ) a.从所有特征开始
b.先移除最不相关的特征,然后计算模型的交叉验证误差;对其它所有候选特征,重复这一
过程;最后,移除使交叉验证误差最大的候选特征
c.重复,直到达到期望数量的特征为止
step 5: 优化超参数
优化算法的超参数:例如,主成分分析中的主成分个数,k 近邻算法的参数 k,或者是神经网络中的层数
和学习速率。最好的方法是使用交叉验证来选择。