测试数据

面向生产环境的机器学习模型开发

Sinan Ozdemir

Data Scientist, Entrepreneur, and Author

数据验证与模式测试

  • 进行数据验证测试以查找缺失值、不一致和异常数据
    • 如检测离群值
  • 模式(Schema)测试检查预期的数据格式和数据类型

    • 如确保"time to value"为以秒计的整数而非分钟
  • Great Expectations 等工具可自动化此过程

great expectations 标志

面向生产环境的机器学习模型开发

超越简单测试

  • 数据与模式测试检查基础问题
  • 更复杂的测试如期望测试用于发现更复杂的问题
    • 检查数值是否在某范围内
    • 检查已知模式/趋势
面向生产环境的机器学习模型开发

期望测试

  • 一种数据验证测试
  • 确保数据符合用户或系统定义的"期望"
    • 例如:期望网站停留时间约为4分钟,标准差为1分钟
    • 例如:期望患者过往就诊日期早于当前时间
面向生产环境的机器学习模型开发

特征重要性测试

  • 特征重要性测试识别模型中最重要的特征
  • 示例:置换重要性
    • 随机打乱特征值并衡量模型性能下降幅度

条形图

面向生产环境的机器学习模型开发

置换重要性示例

设置:

import numpy as np
from sklearn.ensemble import RandomForestClassifier
from sklearn.inspection import permutation_importance
# Train a random forest classifier (assuming we have some data)
model = RandomForestClassifier().fit(X_train, y_train)

运行置换重要性测试:

# Calculate feature importances using permutation importance
results = permutation_importance(model, X_test, y_test, n_repeats=10, random_state=42)
# Print the feature importances
feature_names = ['feature_1', 'feature_2', 'feature_3', ...]
importances = results.importances_mean
for i in range(len(feature_names)):
    print(f'{feature_names[i]}: {importances[i]}')
面向生产环境的机器学习模型开发

查找数据漂移

数据漂移

  • 有时称为特征漂移
  • 模型输入数据分布发生变化
  • 例如:更多人使用与新产品对应的新术语,聊天机器人无从下手

标签漂移

  • 标签分布发生变化
  • 例如:用户从请求退货转为查询退货进度
面向生产环境的机器学习模型开发

Passons à la pratique !

面向生产环境的机器学习模型开发

Preparing Video For Download...