python - scikit-learn 分类器中的评分函数位于何处?

标签 python function machine-learning scikit-learn cross-validation

scikit-learn 内运行交叉验证时, 所有分类器都有一个工厂函数 score()我可以很容易地检查分类器的准确性,例如来自 http://scikit-learn.org/stable/modules/cross_validation.html

>>> import numpy as np
>>> from sklearn import cross_validation
>>> from sklearn import datasets
>>> from sklearn import svm

>>> iris = datasets.load_iris()
>>> iris.data.shape, iris.target.shape
((150, 4), (150,))
>>> X_train, X_test, y_train, y_test = cross_validation.train_test_split(
...     iris.data, iris.target, test_size=0.4, random_state=0)

>>> X_train.shape, y_train.shape
((90, 4), (90,))
>>> X_test.shape, y_test.shape
((60, 4), (60,))

>>> clf = svm.SVC(kernel='linear', C=1).fit(X_train, y_train)
>>> clf.score(X_test, y_test)                           
0.96...

在深入了解 scikit-learn 的 github 存储库之后,我仍然无法弄清楚 clf.score() 的功能在哪里功能。

有此链接,但不包含 score() , https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/svm/classes.py

score() 在哪里sklearn 的函数分类器位于?

我可以 implement my own score function easily , 但目的是构建我的库,使其与 sklearn 保持一致分类器,不要想出我自己的评分函数 =)

最佳答案

scikit-learn 分类器的默认 score() 方法是准确度分数,并且是 defined in the ClassifierMixin class .这个 mixin 是大多数(所有?)scikit-learn 内置分类器的父类。

如果您正在编写自己的分类器,我建议您也继承此 mixin 和 BaseEstimator,这样您就可以自动获得模型的评分和其他功能。

关于python - scikit-learn 分类器中的评分函数位于何处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33735437/

相关文章:

python - 一根 celery 打,很多 worker ?

python - 修改日志文件的名称以包含 jobid

python - 功能问题

javascript - 当 JavaScript 变量名和函数名相同时会发生什么?

python - 是否可以在不定义类的情况下编写一个以 "self"作为参数的函数?

Python - 二维列表 - 在一列中查找重复项并在另一列中求和值

python - 将变量列表转换为字符串

machine-learning - 使用 PCA 解决回归问题时模型精度降低

python - theano中的反卷积自动编码器

python - 如何更改算法中的参数以获得更好的性能?