Случайный лес не классифицирует

1

Я получил векторы функций с помощью обучения передачи на наборе данных (изображения)

X =
[[0.06381412 1.5189143  0.7007909  ... 0.22550535 0.56980544 0.07307615]
 [0.06381412 1.5189143  0.7007909  ... 0.22550535 0.56980544 0.07307615]
 [0.06381412 1.5189143  0.7007909  ... 0.22550535 0.56980544 0.07307615]
 ...
 [0.06381412 1.5189143  0.7007909  ... 0.22550535 0.56980544 0.07307615]
 [0.06381412 1.5189143  0.7007909  ... 0.22550535 0.56980544 0.07307615]
 [0.06381412 1.5189143  0.7007909  ... 0.22550535 0.56980544 0.07307615]]







imgs_train, imgs_test, y_train, y_test, = train_test_split(X, Y,test_size=0.33, random_state=42)                
Mrfc = RandomForestClassifier(n_estimators = 1000, 
                                 bootstrap = True,
                                 oob_score = True,
                                 criterion = 'gini', 
                                 max_features = 'auto',
                                 max_depth = dep,
                                 min_samples_split = int(3000), 
                                 min_samples_leaf = int(1000), 
                                 max_leaf_nodes = None,
                                 n_jobs=-1
                                )       
Mrfc.fit(imgs_train,y_train)
y_predict = Mrfc.predict(imgs_train)

Вывод y_predict - все нули:

[0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0....]

Y содержит метки (0 или 1). Модель не может делать прогнозы. Что я могу сделать?

  • 0
    X составляет (1050, 2048) ... 1050 изображений ... 2048 функций на изображение
Теги:
random-forest
classification

1 ответ

0

Может ли быть так, что у вас есть перекос классов в ваших ярлыках, так что предсказание всех нулей на самом деле дает вам высокую точность? В этом случае вы можете попробовать установить class_weight = "balance" для вашего RandomForestClassifier.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню