我正在尝试使用 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
并计算权重时,只有其中五个是正确计算的,其他是零或 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