Как выбрать n_estimators в RandomForestClassifier? - PullRequest
0 голосов
/ 20 марта 2020

Я строю бинарный классификатор случайного леса в python на предварительно обработанном наборе данных с 4898 экземплярами, 60-40 стратифицированным коэффициентом разделения и 78% данных, принадлежащих одной целевой метке, а остальные - другой. Какое значение n_estimators я должен выбрать, чтобы получить наиболее практически полезную / наилучшую модель случайного лесного классификатора? Я построил график зависимости точности от n_estimators, используя фрагмент кода ниже. x_trai и, y_train - метки объектов и целей в обучающем наборе соответственно, а x_test и y_test - метки объектов и целей в тестовом наборе соответственно.

from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score
scores =[]
for k in range(1, 200):
    rfc = RandomForestClassifier(n_estimators=k)
    rfc.fit(x_train, y_train)
    y_pred = rfc.predict(x_test)
    scores.append(accuracy_score(y_test, y_pred))

import matplotlib.pyplot as plt
%matplotlib inline

# plot the relationship between K and testing accuracy
# plt.plot(x_axis, y_axis)
plt.plot(range(1, 200), scores)
plt.xlabel('Value of n_estimators for Random Forest Classifier')
plt.ylabel('Testing Accuracy')

accuracy vs n_estimators

Здесь видно, что высокое значение для n_estimators даст хороший показатель точности, но оно случайно колеблется на кривой даже для близких значений n_estimators, поэтому я не могу точно выбрать лучший. Я только хочу узнать о настройке гиперпараметра n_estimators, как его выбрать, помогите пожалуйста. Должен ли я использовать кривую RO C или CAP вместо accuracy_score? Спасибо.

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