FSelector パッケージを使用して、R でデータセットの重みを計算しようとしています。データはこの場所から取得されます。
data = read.csv("filepath/Indian Liver Patient Dataset (ILPD).csv")
names(data)<-c("Age","Gender", "TB", "DB", "Alkphos", "Sgpt", "Sgot", "TP", "ALB", "A/G Ratio", "Selector")
library(FSelector)
weights <- gain.ratio(Selector ~., data)
print(weights)
すべての重みを計算することはできません。gain.ratio
関数を使用すると、Age
重みは NaN になります。chi.squared
代わりに関数を使用すると、Age
との両方A/G Ratio
がゼロになります。から最初の 200 要素を取得しdata
て重みを計算すると、そのうちの 5 つだけが正確に計算され、その他はゼロまたは NaN です。
データから間違った要素を削除しようとしましdata <- na.omit(data)
たが、結果は変わりませんでした。
重みを正しく計算するにはどうすればよいですか?
以下はウェイト印刷の例です。
Age 0.0000000
Gender 0.1304229
TB 0.3281865
DB 0.3238010
Alkphos 0.2965842
Sgpt 0.2734633
Sgot 0.3120432
TP 0.2504747
ALB 0.3051724
A/G Ratio 0.0000000