*** line xxxx of `fraud.data': bad value of xxxx for attribute `id_11'
Quinlan的C4.5以及C5.0在處理大數據的時候可能會碰到下面的問題。
?
完整錯誤復現如下:
*** line 52964 of `fraud.data': bad value of `92.41000366210937' for attribute `id_11'
*** line 53380 of `fraud.data': bad value of `94.16000366210937' for attribute `id_11'
*** line 60351 of `fraud.data': bad value of `90.41000366210937' for attribute `id_11'
*** line 71414 of `fraud.data': bad value of `92.41000366210937' for attribute `id_11'
*** line 88959 of `fraud.data': bad value of `90.16000366210937' for attribute `id_11'
*** line 90522 of `fraud.data': bad value of `90.41000366210937' for attribute `id_11'
*** line 95732 of `fraud.data': bad value of `92.41000366210937' for attribute `id_11'
*** line 97738 of `fraud.data': bad value of `95.27999877929687' for attribute `id_11'
*** line 101550 of `fraud.data': bad value of `94.02999877929687' for attribute `id_11'
*** line 106822 of `fraud.data': bad value of `90.16000366210937' for attribute `id_11'
?
解決方案:
因為這個算法包里面有兩種文件:
fraud.data
fraud.names
所以當.data文件中存在.names文件中不存在的取值時,就會報錯。
也就是說,.data中關于某個離散特征的只,必須全部記錄在.names中。
否則就會出現此類錯誤。
另外,因為算法讀取數據是一條一條來讀取的,如果兩條數據的逗號數量不同(也就是特征數不同),也會導致發生這類錯誤。
.data文件其實就是.csv格式,用逗號隔開。
總結
以上是生活随笔為你收集整理的*** line xxxx of `fraud.data': bad value of xxxx for attribute `id_11'的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: awk或者sed识别和替换数据中最后一列
- 下一篇: 快速保留小数点后面几位(转)