项目场景:
在对kaggle的数据集Give Me Some Credit进行信用评分卡的制作过程中,出现了报错。这个报错是在第一部分数据预处理的过程中出现的,发生在利用随机森林模型预测对空缺数据进行填充。
ValueError: Input X contains NaN.
问题描述
ValueError: Input X contains NaN.
这段报错的主要错误是:在输入的变量中出现了空缺值或极大值,导致数据在导入随机森林回归模型中出现了错误。
unknown = process_df[process_df.MonthlyIncome.isnull()].as_matrix()
上面是报错代码,下面是修改后的代码
unknown = process_df[process_df.MonthlyIncome.isnull()].values unknown = np.nan_to_num(unknown.astype(np.float32)) # print(unknown) # print(unknown[:, 1:]) # X为特征属性值 X = known[:, 1:] # y为结果标签值 y = known[:, 0] # fit到RandomForestRegressor之中 rfr = RandomForestRegressor(random_state=0, n_estimators=200, max_depth=3, n_jobs=-1) rfr.fit(X, y)
问题代码就出现在unknowed = (),要将numpy数组填充,需要用上np.nan_to_num()来讲空缺值先填充上。
来源地址:https://blog.csdn.net/m0_65157892/article/details/129568679