2012-04-22 209 views
0

代替缺失值,有一個名爲「ReplaceMissingValues」的過濾器,允許使用每個屬性的平均值替換數據集中的所有缺失值。我想使用屬於某個類的值的均值來替換某個屬性的缺失值。例如,在一個二進制數據集中,我認爲使用僅用屬於正類的記錄計算的均值來替代屬於正類的記錄中的屬性的缺失值是更正確的。那麼如何才能實現它呢?我們如何才能替換屬於某個類的記錄的值?在Weka中用均值(Weka)

回答

1

如果你想採取從特定類A的訓練實例計算出的平均值來代替A級的缺失值,那麼你是「偏見」荷蘭國際集團的數據集。爲了避免偏差(最終會過度訓練你的訓練模型),使用默認的「替換缺失值」功能是明智的 - 即考慮所有訓練實例的平均值和模式,而不僅僅是該特定類。

+0

我工作的醫療數據集,所以我因子評分也可能是更加「現實」與類的平均值,該記錄屬於更換。我也會嘗試替換缺失值函數,但是我希望能夠在不修改原始數據文件的情況下嘗試我的想法(一個xls文件!) – 2012-04-23 16:52:24

+0

正如我所說,你很有可能過度擬合訓練好的模型。因爲在現實生活中,看不見的數據更可能具有特徵X,其特徵值其實並不是特定類別的特徵。如果你使用這個設置訓練你的模型,那麼模型只會知道「特徵X的值實際上更接近任何特定A類的均值」 - 如果不是這樣的話,那麼肯定是你你的模型已經過時了。 – 2012-04-23 18:18:55

+0

我嘗試了您的建議(使用J48構建的樹),結果比使用缺失值的結果要糟糕!這怎麼可能? – 2012-04-24 09:37:28