Grid или Random Поиск по списку весов для мультиклассового классификатора? - PullRequest
0 голосов
/ 03 марта 2020

У меня очень несбалансированный набор данных с 3 классами:

 Class 1: 90% of the data
 Class 2: 4% of the data
 Class 3 : 6% of the data

Я хотел использовать опцию class_weights в Случайном лесу или XGboost для назначения весов выборки для выборок. Есть ли способ для gridsearch через список весов для каждого из классов?

Примерно так:

weights =[0:int(x) for x in np.linspace(start = 1, stop = 100, num = 5), 
           1:int(x) for x in np.linspace(start = 1, stop = 100, num = 5),
         2:int(x) for x in np.linspace(start = 1, stop = 100, num = 5)]


 rf_random_grid = {'rf__class_weights': weights}

 rf_clf_random = RandomizedSearchCV(estimator = rf, param_distributions = rf_random_grid, 
                               scoring = 'precision_macro', random_state=42, n_jobs = -1)
...