【发布时间】:2015-06-22 06:22:39
【问题描述】:
我正在尝试将 scikit-learn (0.16.1) 中的 GridSearchCV 和 RandomizedSearchCV 用于逻辑回归和随机森林分类器(可能还有其他分类器)来解决二元类问题。我设法让 GridSearchCV 与标准 LogisticRegression 分类器一起工作,但我无法让 LogisticRegressionCV 与自定义评分函数一起工作(或 RandomizedGridCV 用于 RandomForestClassifier),特别是 brier_score_loss。我试过这段代码:
lrcv = LogisticRegressionCV(scoring = make_scorer(brier_score_loss, greater_is_better=False, needs_proba=True, needs_threshold=False, pos_label=1))
lrcv_clf = lrcv.fit(X=X_train,y=y_train)
但我不断收到错误,这些错误本质上是说 brier_score_loss 函数正在接收具有 2 列的输入 (y_prob),从而导致错误(输入形状错误)。有没有办法指定只使用 y_prob (lrcv.predict_proba) 的第二列,以便可以通过这种方式计算 Brier 分数?我认为 pos_label 可能会有所帮助,但显然没有。我是否需要避免 make_scorer 而只创建自己的评分函数?
感谢您的任何建议!
【问题讨论】:
标签: python scikit-learn