Я хочу применить веса к моим классам в lgbm (ie. Вручную вынуждает модель отдавать предпочтение определенным категориям). Я вижу, какие у меня категории, но когда я делаю весовые коэффициенты класса, используя эти категории, ошибки модели с ValueError: Class label [somevalue] not present.
import lightgbm as lgbm
### Data prep
#[skipping as long & irrelevant -- only need to know classes for the question]#
### Get classes from data
model = lgbm.LGBMClassifier()
model.fit(X_train,y_train)
model.classes_
дают: array([ 100., 200., 300., 500., 600., 700., 800., 1000.])
применять известные классы к диктату class_weight согласно документации
class_weight (dict, 'сбалансированный' или None, необязательный (по умолчанию = None)) - Веса, связанные с классами в форме {class_label: weight}. [...]
model = lgbm.LGBMClassifier(class_weight = {100.:1, 200.:20, 300.:30, 500.:50, 600.:60, 700.:70, 800.:80,1000.:100} )
model.fit(X_train,y_train)
и мы получаем ошибку: ValueError: Class label 100.0 not present.
Ошибка повторяется для первого элемента в словаре, если мы переупорядочиваем или удаляем элементы.