Как правильно рассчитать все веса с пакетом FSelector?

Я пытаюсь вычислить вес набора данных в R с помощью пакета FSelector. Данные взяты из этого места.

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

1 ответ

Решение

Ноль является допустимым значением важности объекта - это означает, что у объекта нет никакой информации относительно цели классификации. NaN вызваны ошибкой в ​​FSelector, которая делится на 0, если функция не несет информации. Я исправил это в версии для разработчиков.

Название "A/G Ratio" не является допустимым идентификатором R и, следовательно, вызывает проблемы с некоторыми методами. Ниже приведен код, который исправляет это и устанавливает версию разработки FSelector.

data = read.csv("Indian\ Liver\ Patient\ Dataset\ (ILPD).csv")
names(data)<-c("Age","Gender", "TB", "DB", "Alkphos", "Sgpt", "Sgot", "TP", "ALB", "AGRatio", "Selector")

library(devtools)
install_github("larskotthoff/fselector")

library(FSelector)
weights = gain.ratio(Selector~., data)
print(weights)

weights = chi.squared(Selector~., data)
print(weights)

Выход:

        attr_importance
Age          0.00000000
Gender       0.01539699
TB           0.09711392
DB           0.11547683
Alkphos      0.06593879
Sgpt         0.06566624
Sgot         0.07667241
TP           0.08836895
ALB          0.07766682
AGRatio      0.15403574

        attr_importance
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
AGRatio       0.0000000
Другие вопросы по тегам