У меня очень несбалансированный набор данных с 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)