Код: Выделить всё
DecisionTreeClassifier
Код: Выделить всё
X.shape
# Output: (7857, 5)
y.shape
# Output: (7857,)
Код: Выделить всё
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.25, random_state=28
)
weak_learner = DecisionTreeClassifier(max_depth=1)
adb = AdaBoostClassifier(estimator=weak_learner, n_estimators=50, random_state=42)
adb_model = adb.fit(X_train, y_train)
y_pred = adb_model.predict(X_test)
print(classification_report(y_test, y_pred))
Код: Выделить всё
precision recall f1-score support
Cheap 1.00 1.00 1.00 496
Expensive 1.00 1.00 1.00 506
Reasonable 1.00 1.00 1.00 963
accuracy 1.00 1965
macro avg 1.00 1.00 1.00 1965
weighted avg 1.00 1.00 1.00 1965
Однако, когда я меняю test_size на любое другое значение (например, 0,3, 0,2), я получите следующую ошибку:
Код: Выделить всё
ValueError: Found input variables with inconsistent numbers of samples
- Убедилось, что X и y имеют одинаковое количество образцов.
- Подтверждено, что в X или y нет пропущенных значений.
- Почему test_size=0.25 дает идеальные метрики, а test_size – другие приводят к ошибке?
- Как исправить эту проблему и использовать разные значения test_size?
Подробнее здесь: https://stackoverflow.com/questions/793 ... ent-sample