Случайный лес не классифицирует - PullRequest
1 голос
/ 15 апреля 2019

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

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) Модель не может делать прогнозы. Что я могу сделать?

1 Ответ

0 голосов
/ 15 апреля 2019

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...