Я строю бинарный классификатор случайного леса в 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
, как его выбрать, помогите пожалуйста. Должен ли я использовать кривую RO C или CAP вместо accuracy_score
? Спасибо.