机器学习(二)

机器学习(二)

本文只提供机器学习整体框架
类, 方法与函数的使用请自行查看官方API

![](/Users/air/Macro/MegaChen/Study/ProgramOfStudy/MachineLearning/Pictures/Screen Shot 2018-08-02 at 10.01.31.png)

机器学习的步骤

数据采样(过采样与下采样)
  • 下采样:

    • 目前不知道有第三方库实现, 自己实现的思路: 通过随机函数生成下标列表, 将下标连接在一起生成新的样本集合
  • 过采样(更常用一些, 因为过采样的数据量比下采样的数据量大):

    • imblearn中有实现: over_sampling模块SMOTE算法对象的构造方法返回下采样对象, 调用下采样对象的fit_sample方法得出过采样样本
  • 如果标签各个值的个数相差不大, 不需要使用下采样或者过采样

特征提取(从数据集合中提取出b有用的特征)
  • 机器学习中最困难的地方
缺失值计算
  • data_frame = data_frame[column_name].dropna(), 副作用: 样本数量的减少
  • data_frame = data_frame[column_name].fillna(new_value), 关键在于new_value的选择, 一般有均值, 出现次数最多的值
特征选取
  • sklearn中有实现: feature_selection模块SelectKBest的构造方法返回SelectionKBest对象, 调用该对象的fit_transform方法
划分数据集和训练集
  • sklearn中的实现: train_test_split函数实现从原始数据集到一个训练集和一个标签集(一般是一个一维的, 注意: 常见的矩阵是二维的, 调用ravel方法降维)
  • 将训练集进行K折叠交叉验证, sklearn中的实现: KFold和StratifiedKFold, 在sklearn中有许多的算法对象在构造时就内部实现了交叉验证, 此时KFold与Stratified就无需调用了, 如GridSearchCV, cross_val_score
训练
  • sklearn中的实现
    • 每一个算法对象调用fit方法
    • 每一个算法对象调用score方法, score是对fit的封装, 放回算法的精度
预测与评估
  • sklearn中实现:
    • predict, predict_proba
    • score
原文地址:https://www.cnblogs.com/megachen/p/9555831.html