- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试在 sklearn 管道中添加校准步骤以获得校准的分类器,因此 have more trustworthy probabilities在输出中。
到目前为止,我笨拙地尝试使用 CalibratedClassifierCV 插入“校准”步骤沿着(重复性的愚蠢例子):
import sklearn.datasets
import pandas as pd
import numpy as np
from sklearn.pipeline import Pipeline
from sklearn.linear_model import SGDClassifier
from sklearn.feature_extraction.text import TfidfVectorizer
data = sklearn.datasets.fetch_20newsgroups(categories=['alt.atheism', 'sci.space'])
df = pd.DataFrame(data = np.c_[data['data'], data['target']])\
.rename({0:'text', 1:'class'}, axis = 'columns')
my_pipeline = Pipeline([
('vectorizer', TfidfVectorizer()),
('classifier', SGDClassifier(loss='modified_huber')),
('calibrator', CalibratedClassifierCV(cv=5, method='isotonic'))
])
my_pipeline.fit(df['text'].values, df['class'].values)
但这行不通(至少不是这样)。有没有人有关于如何正确执行此操作的提示?
最佳答案
SGDClassifier
对象应该进入 CalibratedClassifierCV
's base_estimator
argument .
您的代码可能看起来像这样:
my_pipeline = Pipeline([
('vectorizer', TfidfVectorizer()),
('classifier', CalibratedClassifierCV(base_estimator=SGDClassifier(loss='modified_huber'), cv=5, method='isotonic'))
])
CalibratedClassifierCV
是一个元估计器。
关于python - 在 scikit-learn 管道中插入 CalibratedClassifierCV 的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49832981/
我注意到当 base_estimator 是 GradientBoostingClassifer 时,sklearn 的新 CalibratedClassifierCV 似乎表现不如直接 base_e
Scikit 有 CalibratedClassifierCV ,这允许我们在特定的 X、y 对上校准我们的模型。它还明确指出,用于拟合分类器和用于对其进行校准的数据必须是不相交的。 如果它们一定是不
我正在使用 SVM 分类器 LinearSVM 的 sklearn 线性实现。 我没有直接使用它,而是用 CaliberatedClassifierCV 包装它来获取预测时间内的概率,例如: mode
我想结合使用 sklearn 的 CalibratedClassifierCV 和 sklearn 的 SVC 来预测多类(9 类)预测问题。但是,当我运行它时,出现以下错误。同样的代码在不同的模型(
我已经构建了许多 sklearn 分类器模型来执行多标签分类,我想校准它们的 predict_proba 输出,以便获得置信度分数。我还想使用诸如 sklearn.metrics.recall_sco
我正在尝试在 sklearn 管道中添加校准步骤以获得校准的分类器,因此 have more trustworthy probabilities在输出中。 到目前为止,我笨拙地尝试使用 Calibra
我是一名优秀的程序员,十分优秀!