从一次Kaggle比赛复盘说起我们是如何处理‘脏数据’并避免ValueError的凌晨三点当Kaggle比赛提交截止前最后三小时我们的团队突然遭遇了那个熟悉的红色警告——ValueError: Input contains NaN, infinity or a value too large for dtype(float64)。这个看似简单的错误提示背后隐藏着数据竞赛中最常见的脏数据陷阱。本文将还原我们当时的数据抢救过程分享如何通过系统性思维将危机转化为模型性能提升的转机。1. 当模型训练突然崩溃错误诊断的黄金四步法比赛使用的是某电商平台的用户行为数据集包含200万条浏览记录。当我们第一次尝试运行XGBoost时程序在30%的训练进度处突然崩溃。面对这种情况我们建立了以下诊断流程第一步定位问题发生层import numpy as np nan_count np.isnan(train_data).sum() inf_count np.isinf(train_data).sum() print(fNaN values per column:\n{n