首页 > 解决方案 > 我得到一个负值作为 Iterative Imputer 的输出并使用了最小值和最大值列表

问题描述

我正在使用 sklearn 库中的 Multiple Imputer 来估算一些缺失值。我能够运行 IterativeImputer 并获得填充了所有缺失值的输出。问题是输出包含负值。我试图给出一个最小值和最大值的列表,但它抛出了错误。我尝试给出一个带有列名的最小值和最大值数组。

minimun_before = df_sample.iloc[:,:].min(axis=0)


maximum_before = df_sample.iloc[:,:].max(axis=0)

imputer_data = IterativeImputer(random_state = 0, skip_complete=True,sample_posterior=True, max_iter = 10, missing_values = np.nan,verbose=2, min_value = min_list, max_value=max_list )
ValueError: operands could not be broadcast together with shapes (12,) (31,) 

你能帮忙吗?

标签: pythonscikit-learniteration

解决方案


imp = IterativeImputer(random_state = 0, skip_complete=True,sample_posterior=True, 
max_iter = 10, missing_values = np.nan,verbose=2, min_value = min_list, ` 
max_value=max_list )`
imp.fit(df_sample)

imputed_data = pd.DataFrame(data=imp.transform(df_sample))
imputed_data.describe()

推荐阅读