Недостающие части Матрицы замешательства в XGBoost в R - PullRequest
0 голосов
/ 26 сентября 2019

Я пытаюсь получить путаницу из моего XGBoost и вычислить точность.Тем не менее, моя матрица путаницы не является полной и пропускает все ложные области и выглядит следующим образом:

y_pred   0   1
  TRUE 526 482

Поэтому я не могу вычислить точность.Вот мой код:

# Splitting the dataset into the training set and test set
dataset$Good.Bad.Stock = factor(dataset$Good.Bad.Stock, levels = c(0,1))
training_set = dataset[1:2740,]
test_set = dataset[2741:3748,]
data = as.factor(as.character(training_set$Good.Bad.Stock))
data = replace(training_set$Good.Bad.Stock, is.na(training_set$Good.Bad.Stock), 0)
data

# Fitting XGBoost to the Training set
classifier_XGB = xgboost(data = as.matrix(training_set[-63]), 
                     label = data, 
                     nrounds = 15,                      
                     objective = "binary:logistic")

# Predicting the Test set results
pred_data=as.matrix(test_set[-63])
y_pred = predict(classifier_XGB, pred_data)
y_pred = (y_pred > 0.5)

# Making the Confusion Matrix
cm_XGB = table(y_pred, test_set$Good.Bad.Stock)
cm_XGB

# Evaluate Model
accuracy_XGB = (cm_XGB[1,1] + cm_XGB[2,2]) / (cm_XGB[1,1] + cm_XGB[2,2] + cm_XGB[1,2] + cm_XGB[2,1])
print(accuracy_XGB)

Спасибо за помощь!

1 Ответ

0 голосов
/ 26 сентября 2019

Я не запускал код, но мне интересно, что проблема в:

y_pred = (y_pred> 0.5)

Просто напечатайте y_pred, прежде чем делатьчто, и, вероятно, вы увидите вектор 1s или вероятности выше 0,5.

Это, вероятно, вызвано неверно сконфигурированной моделью (подробнее о параметрах xgb) или сильно несбалансированным набором данных (не кажется, что вtestset).

Отредактировано: Конечно, вы должны быть уверены, что ваша переменная ответа указана как фактор.Также вы должны установить целевую функцию как двоичную.Как я уже сказал, я настоятельно рекомендую вам продолжать читать основные посты о xgb.https://www.analyticsvidhya.com/blog/2016/01/xgboost-algorithm-easy-steps/ https://cran.r -project.org / web / packages / xgboost / виньетки / DiscoverYourData.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...