Кривая обучения с набором данных

#python #scikit-learn

#python #scikit-learn

Вопрос:

У меня есть набор данных, и я разделил его на проценты 60, 20, 20. 60% предназначено для обучения, 20% — для тестирования, а остальное — для проверки (я разделил, потому что мне это нужно).

Я использовал следующий код, чтобы разделить его (я думаю, что нашел его в stackoverflow) и применил наивный байесовский классификатор…

 train_ratio = 0.60
validation_ratio = 0.20
test_ratio = 0.20

# train is now 60% of the entire data set
# the _junk suffix means that we drop that variable completely
x_train, x_test, y_train, y_test = train_test_split(X, y, test_size = 1 - train_ratio)

# test is now 20% of the initial data set
# validation is now 20% of the initial data set
x_val, x_test, y_val, y_test = train_test_split(x_test, y_test, test_size=test_ratio/(test_ratio   validation_ratio)) 

print(x_train, x_val, x_test)



q=gnb.fit(x_train, y_train)

predict = gnb.predict(x_test)
print(predict)
print("Accuracy: ", accuracy_score(y_test, predict))
  

Я попытался использовать scikit-learn для создания кривой обучения, но, согласно документации scikit-learn, функция кривой обучения выдает train_sizes, train_sores и valid_sores.

Это немного сбивает с толку, я новичок в scikit-learn, и я понятия не имею, как использовать make a learning curve с каждым процентом данных, которые я разделил.

Кто-нибудь знает, как использовать разделенные данные в кривых обучения scikit?

Заранее спасибо.

Комментарии:

1. Вам не нужно подмножество проверки для learning_curve . достаточно разделения на обучение / тестирование. вы находите необходимую статистику по поезду через разделитель cv, а затем используете оптимальные параметры для тестирования

2. Понятно, большое вам спасибо.