数据分析的一般流程

大三学过《数据科学编程Ⅱ》这门课,主要介绍了大数据分析的一些基本方法和流程,在这里总结一下。

一、机器学习任务分类

基于问题类型

  1. 分类问题: 逻辑回归、KNN、决策树、支持向量机、BP神经网络
  2. 回归问题: 线性回归、多项式回归、KNN、决策树、支持向量机、BP神经网络
  3. 聚类问题: k-means
  4. 关联学习(Association learning): 在实例发现某些固定模式和规律
  5. 降维问题: PCA主成分分析、相关系数法、决策树熵权法

基于解决策略

  1. 有监督学习(Supervised)
  2. 无监督学习(Unsupervised)
  3. 半监督学习(Semi-supervised): 将数据集部分标注,比如在识别问题中,对部分数据进行标注,可能会提高识别的准确率。
  4. 强化学习(Reinforcement)

二、数据预处理(Data Preprocessing)

特征工程在机器学习过程中占据重要地位,甚至比训练和调参更加重要,它决定了训练的整体效果。

1. 查看基本信息

  • data.info()可以查看特征类型、缺失值、数据量等情况。
  • data.describe()可以查看数值类型的均值、数据大致分布等情况。

2. 处理缺失值

  • drop相关的行/列
  • 用均值/众数/向前/向后等填充

3. 查看数据分布、诊断离群值

  • 使用直方图(hist)查看数据分布,删除分布极端的列
  • 使用箱线图查看离群值,删除或转换成合理最大值

4. 查看相关系数

  • 删除相关系数过高的列(目标列除外)

5. 处理不平衡数据集

  • 常用方法有:
    (1)采集更多数据,最后选取平衡数量的数据。
    (2)重采样,减少大类的数据,增加小类的数据(甚至可以重复取样)。
    (3)人为生成小类的数据。
    (4)细分类,将大类的数据再细分为几个小类,使每个类别数据平衡。

6. 归一化

  • Normalizing/Min-max scaling: 将数据归一至(0,1)之间。
  • Standardization scaling: 将数据归一至(-1,1)之间。

7. 独热编码转换(One-hot coding)

  • 经过多次尝试,我发现对于非数值类型的列,进行独热编码比直接map([1,2,3] --> ['a','b','c'])效果要好

8. 特征选择、降维

  • PCA主成分分析
  • 对目标列的相关系数排序
  • 决策树特征重要性提取(熵权法)
  • 利用聚类降维:将特征转换为每个点到每个类中心点的距离
  • 通过正则化增加 λ \lambda λ ,根据使正则化项趋于零的顺序,进行特征排序

9. 分割数据集

2. 数据训练与调参(Data Training)

  • 网格搜索
  • 交叉验证

3. 效果评价(Evaluation)

  1. 分类问题: 基于混淆矩阵(Confusion matrix)进行评价,主要指标有accuracy、、precision、recall、f1 score、ROC、AUC等

  2. 回归问题: MAE、MSE

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值