Как выбрать n_estimators в RandomForestClassifier?Python

Программы на Python
Anonymous
Как выбрать n_estimators в RandomForestClassifier?

Сообщение Anonymous »

Я создаю двоичный классификатор случайного леса на 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')

Изображение


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

Подробнее здесь: https://stackoverflow.com/questions/607 ... classifier

Вернуться в «Python»