SVM算法:不使用sklearn包(从头编写代码)

我正在尝试从头开始编写SVM算法而不使用sklearn包,现在我想测试我的X_test和Y_predict的准确率得分。sklearn已经有了这个功能的函数:

clf.score(X_test,Y_predict)

现在,我追踪了sklearn包中的代码,我找不到’score’函数是如何从头编写的。

以及如何从sklearn的SVC生成模型:

SVM分类器 :: SVC(C=1.0, cache_size=200, class_weight=None, coef0=0.0, decision_function_shape='ovr', degree=3, gamma=2, kernel='poly', max_iter=-1, probability=False, random_state=None, shrinking=True, tol=0.001, verbose=False)

在我拟合和训练数据集后,我希望模型能够生成,以便我可以使用Pickle保存和加载它。


回答:

如果你使用IPython,通常可以通过在函数后面添加??来查找函数的定义位置。例如:

>>> from sklearn.svm import SVC>>> svc = SVC()>>> svc.score??Signature: svc.score(X, y, sample_weight=None)Source:       def score(self, X, y, sample_weight=None):        """Returns the mean accuracy on the given test data and labels.        In multi-label classification, this is the subset accuracy        which is a harsh metric since you require for each sample that        each label set be correctly predicted.        Parameters        ----------        X : array-like, shape = (n_samples, n_features)            Test samples.        y : array-like, shape = (n_samples) or (n_samples, n_outputs)            True labels for X.        sample_weight : array-like, shape = [n_samples], optional            Sample weights.        Returns        -------        score : float            Mean accuracy of self.predict(X) wrt. y.        """        from .metrics import accuracy_score        return accuracy_score(y, self.predict(X), sample_weight=sample_weight)File:      ~/miniconda/lib/python3.6/site-packages/sklearn/base.pyType:      method

在这种情况下,它来自ClassifierMixin,因此这段代码可以用于所有分类器。

https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/base.py#L310

https://ipython.readthedocs.io/en/stable/interactive/python-ipython-diff.html#accessing-help

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注