в этом случае не будет произведена ни начальная выборка, ни случайный выбор объектов, и производительность должна быть примерно равна производительности одного дерева решений.
чаю машинное обучение сscikit-learn
библиотека. Я применяю классификатор дерева решений и классификатор случайных лесов к своим данным с помощью этого кода:
def decision_tree(train_X, train_Y, test_X, test_Y):
clf = tree.DecisionTreeClassifier()
clf.fit(train_X, train_Y)
return clf.score(test_X, test_Y)
def random_forest(train_X, train_Y, test_X, test_Y):
clf = RandomForestClassifier(n_estimators=1)
clf = clf.fit(X, Y)
return clf.score(test_X, test_Y)
Почему результат намного лучше для классификатора случайных лесов (для 100 прогонов со случайной выборкой 2/3 данных для обучения и 1/3 для теста)?
100%|███████████████████████████████████████| 100/100 [00:01<00:00, 73.59it/s]
Algorithm: Decision Tree
Min : 0.3883495145631068
Max : 0.6476190476190476
Mean : 0.4861783113770316
Median : 0.48868030937802126
Stdev : 0.047158171852401135
Variance: 0.0022238931724605985
100%|███████████████████████████████████████| 100/100 [00:01<00:00, 85.38it/s]
Algorithm: Random Forest
Min : 0.6846846846846847
Max : 0.8653846153846154
Mean : 0.7894823428836184
Median : 0.7906101571063208
Stdev : 0.03231671150915106
Variance: 0.0010443698427656967
Оценщики случайных лесов с одним оценщиком - это не просто дерево решений? Я сделал что-то не так или неправильно понял концепцию?
Спасибо за ваш ответ.