小编Ore*_*nik的帖子

sklearn - 对类的子集进行精确评分的交叉验证

我有一个分类数据集,有3个类标签[0,1,2].

我想运行交叉验证并尝试几个估算器,但我对只有1级和2级精度的评分感兴趣.我不关心0级的精度,我不希望它的得分甩开CV优化.我也不关心任何课程的召回.换句话说,我想确保无论何时预测1或2,它都具有很高的置信度.

所以问题是,如何运行cross_val_score并告诉其评分函数忽略0级的精度?

更新:根据接受的答案,这是一个示例答案代码:

def custom_precision_score(y_true,y_pred):
  precision_tuple, recall_tuple, fscore_tuple, support_tuple = metrics.precision_recall_fscore_support(y_true, y_pred)
  precision_tuple = precision_tuple[1:]
  support_tuple = support_tuple[1:]
  weighted_precision = np.average(precision_tuple, weights=support_tuple)
  return weighted_precision

custom_scorer = metrics.make_scorer(custom_precision_score)

scores = cross_validation.cross_val_score(clf, featuresArray, targetArray, cv=10, scoring=custom_scorer)
Run Code Online (Sandbox Code Playgroud)

python machine-learning scikit-learn cross-validation

7
推荐指数
1
解决办法
1958
查看次数

为什么flask-admin要求mongoengine的ListField具有字段类型?

我正在尝试使用flask-admin,这看起来非常简单,但我有一个问题.

我在集合中有一个字段,定义为a ListField(),具有None列表字段类型的隐式类型.我没有为该字段定义类型的原因是因为我保留了一个列表列表,并且没有其他优雅的方式(我发现)用mongoengine来实现这一点.

但是flask-admin不会让我定义这样一个字段,错误是ListField "movements" must have field specified for model.

有没有解决的办法?

python flask flask-admin

5
推荐指数
1
解决办法
712
查看次数