TF-ML
https://tensorflow.google.cn/resources/learn-ml/theoretical-and-advanced-machine-learning?hl=zh-cn
https://tensorflow.google.cn/tutorials/keras/classification?hl=zh-cn
http://c.biancheng.net/view/1881.html
https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/
Read
1 | import pandas as pd |
Write
1 | with hdfs.open('/user/2.csv', 'wb') as ff: |
dataset convert
1 | do this for train and test dataset |
1 | import numpy as np |
torch
1 | from torch import nn |
1 | for i_batch, batch_data in enumerate(train_loader): |
数据预处理
过滤
阈值过滤器
移动平均滤波器
中位数滤波器
数据操作
- 选择列
- join
- 删除重复行
- 缺失值处理
- 数学运算
- 类型转换
- 数据移动
- 增加序列号
- 更改列名
- 替换值
- 按列排序
- 按值排序
- 合并行
- 合并列
- 分组
标准化
标准化指将数据按比例缩放,使之落入一个小的特定区间。在某些比较和评价的指标处理中经常会用到,去除数据的单位限制,将其转化为无量纲的纯数值,便于不同单位或量级的指标能够进行比较和加权。
比如,在评价不同时期的物价指数时,较低价格的蔬菜和较高价格的家电的价格涨幅都可以被纳入其中,但是由于它们的价格水平差异较大,如果直接用其价格做分析,会使价格水平较高的家电在综合指数中的作用被放大。因此,为了保证结果的可靠性,需要对原始指标数据进行变换处理,使不同的特征具有相同的尺度。
分箱
数据标准化
MinMax标准化 - 归一化
公式:X’ = (X-Xmin) / (Xmax-Xmin)
处理后,该变量各个观察值的数值变化范围都满足0≤X’≤1
如果有新数据加入,就可能会导致最大值(Xmax)和最小值(Xmin)发生变化,就需要进行重新定义,并重新计算极差(R)
z-score标准化 - 规范化
新数据=(原数据- 均值)/ 标准差
当遇到某个指标的最大值和最小值未知的情况,或有超出取值范围的离群数值时,上面的方法就不再适用了,可以采用另一种数据标准化最常用的方法,即Z-score标准化,也叫标准差标准化法。
哪些算法需要标准化
1、涉及或隐含距离计算的算法,比如K-means、KNN、PCA、SVM等,一般需要进行标准化
2、梯度下降算法,梯度下降的收敛速度取决于:参数的初始位置到local minima的距离,以及学习率η的大小,其实还是距离的计算
3、采用sigmoid等有饱和区的激活函数,如果输入分布范围很广,参数初始化时没有适配好,很容易直接陷入饱和区,导致梯度消失,所以才会出现各种BN,LN等算法
哪些算法不需要标准化
与距离计算无关的概率模型不需要,比如Naive Bayes;
与距离计算无关的基于树的模型,比如决策树、随机森林等,树中节点的选择只关注当前特征在哪里切分对分类更好,即只在意特征内部的相对大小,而与特征间的相对大小无关。但是我们前几篇文章中说到了,使用Z-Score归一化会提高模型的准确率。其实归一化的作用就是由绝对变为了相对,所以可以说归一化对于树型模型不那么重要,是一个可选项或者说可以作为一个超参数在训练时进行选择。
二值化
采样/拆分
特征工程
特征变换
PCA
OneHot
特征重要性评估
线性特征重要性评估
随机森林特征重要性评估
特征选择
过滤式特征选择
机器学习
算法
分类
二分类
- 朴素贝叶斯:条件概率公式
- 逻辑回归:概率划分
- 决策树:信息量划分
- 随机森林:信息量划分
- GBDT:信息量划分
- SVM:空间划分
- KNN:距离划分
- FM因子分解机:概率划分
- 神经网络
- XGBoost:信息量划分
- LightGBM
分类评估:F1
多分类
- 朴素贝叶斯:条件概率公式
- KNN:距离划分
- 决策树:信息量划分
- 随机森林:信息量划分
- GBDT:信息量划分
- 神经网络
- XGBoost:信息量划分
- LightGBM
分类评估:
- Micro-F1:各样本一起计算
- Macro-F1:各类计算F1求平均
多标签分类
每个样本可以预测位一个或多个类别
回归/预测
目标是连续的数值
- 线性回归
- 决策树回归
- 随机森林回归
- GBDT回归
- 神经网络回归
- XGBoost回归
- LightGBM回归