异常值与缩放

用 Python 练习机器学习面试题

Lisa Stuart

Data Scientist

异常值

  • 在某个特征中,偏离其余观测的一条或多条观测。

数据异常值

1 https://bolt.mph.ufl.edu/6050-6052/unit-1/one-quantitative-variable-introduction/understanding-outliers/
用 Python 练习机器学习面试题

四分位距 (IQR)

数据 IQR

1 By Jhguch at en.wikipedia, CC BY-SA 2.5, https://commons.wikimedia.org/w/index.php?curid=14524285
用 Python 练习机器学习面试题

最优拟合直线

线性模型拟合

1 https://www.r-bloggers.com/outlier-detection-and-treatment-with-r/
用 Python 练习机器学习面试题

异常值相关函数

函数 返回
sns.boxplot(x= , y='Loan Status') 按目标变量分组的箱线图
sns.distplot() 直方图与核密度估计 (kde)
np.abs() 绝对值
stats.zscore() 计算 z 分数
mstats.winsorize(limits=[0.05, 0.05]) 对异常值设下限/上限
np.where(condition, true, false) 条件替换值
用 Python 练习机器学习面试题

高 vs 低方差

方差

1 https://machinelearningmastery.com/a-gentle-introduction-to-calculating-normal-summary-statistics/
用 Python 练习机器学习面试题

标准化 vs 归一化

  • 标准化:
    • Z 分数标准化
    • 缩放到均值 0、标准差 1

z 分数标准化公式

  • 归一化:
    • 最小-最大归一化
    • 缩放到区间 (0, 1)

最小-最大缩放公式

1 https://medium.com/@rrfd/standardize-or-normalize-examples-in-python-e3f174b65dfc
用 Python 练习机器学习面试题

缩放函数

  • scikit-learn.preprocessing.StandardScaler() --> (均值=0,标准差=1)
  • sklearn.preprocessing.MinMaxScaler() --> (0,1)
用 Python 练习机器学习面试题

异常值与缩放

如何识别并妥善处理异常值?min/max 或 z 分数标准化对数据有何影响?请选择正确陈述:

  • 异常值是略微超出某特征相似点范围的点。
  • 在特定情境中,被视为异常的异常值有助于构建预测型 ML 模型。
  • Min/max 缩放使数据均值为 0、标准差为 1,并增加方差。
  • Z 分数标准化将数据缩放到区间 (0,1) 并改进拟合。
用 Python 练习机器学习面试题

异常值与缩放:答案

如何识别并妥善处理异常值?min/max 或 z 分数标准化对数据有何影响?正确答案是:

  • 在特定情境中,被视为异常的异常值有助于构建预测型 ML 模型。(在欺诈检测、网络安全事件等场景中,目标就是发现此类异常。)
用 Python 练习机器学习面试题

异常值与缩放:错误选项

如何识别并妥善处理异常值?min/max 或 z 分数标准化对数据有何影响?

  • 异常值是略微超出特征中相似点范围的点。(通常需超出四分位距 IQR 的 1.5 倍以上才可怀疑为异常值。)
  • Min/max 缩放使数据均值为 0、标准差为 1,并增加方差。(最小-最大缩放将数据缩放到区间 (0,1);方差增减取决于原始数据。)
  • Z 分数标准化将数据缩放到区间 (0,1) 并改进拟合。(Z 标准化使均值为 0、标准差为 1,可改进模型拟合。)
用 Python 练习机器学习面试题

最后一点……

预处理步骤

用 Python 练习机器学习面试题

Vamos praticar!

用 Python 练习机器学习面试题

Preparing Video For Download...