Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用lightgbm校准的分类RCV进行概率校准_Python_Probability_Calibration_Lightgbm - Fatal编程技术网

Python 使用lightgbm校准的分类RCV进行概率校准

Python 使用lightgbm校准的分类RCV进行概率校准,python,probability,calibration,lightgbm,Python,Probability,Calibration,Lightgbm,我正在尝试将sklearn的CalibredClassifiedRCV()与lightgbm一起使用,如下所示: clf = LGBMClassifier( boosting_type= 'gbdt', objective= 'multiclass', num_class=5, metric= 'multi_logloss', learning_rate= 0.05, max_depth= 7, num_leaves= 60, feature_fraction= 0.7, bagging_fra

我正在尝试将sklearn的CalibredClassifiedRCV()与lightgbm一起使用,如下所示:

clf = LGBMClassifier(
boosting_type= 'gbdt',
objective= 'multiclass',
num_class=5,
metric= 'multi_logloss',
learning_rate= 0.05,
max_depth= 7,
num_leaves= 60,
feature_fraction= 0.7,
bagging_fraction= 1,
bagging_freq= 20,
nthread=4,
n_estimators=50)

calibrated_clf = CalibratedClassifierCV(clf, method='isotonic', cv=5)
calibrated_clf.fit(train_df[v1], train_df['label'])
然而,这给我带来了一个错误,因为有一些分类变量,lightgbm可以有效地处理这些变量,而无需转换为一个热编码,但CalibredClassifiedRCV则不能

错误:
ValueError:无法将字符串转换为浮点:“RC”

它调用的是sklearn的validation.py,它在步骤中抛出错误,因为调用字符串对象上的astype float:

if dtype_numeric and array.dtype.kind == "O":
    array = array.astype(np.float64)

有没有一种方法可以在不转换为数值变量的情况下处理这个问题?我避免将类别转换为数字,因为有10000多个类别

请发布您收到的完整错误消息,包括完整的回溯。不在inbuild CalibredClassifiedRCV中。但是您可以查看源代码并对其进行修改,以删除它所做的检查。