fit()缺少1个必需的位置参数:“ self”

时间:2019-05-08 12:49:45

标签: scikit-learn svc

我尝试将SVC放入skikit-learn,但得到TypeError: fit() missing 1 required positional argument: 'self' in the line SVC.fit(X=Xtrain, y=ytrain)

from sklearn.svm import SVC
import seaborn as sns; sns.set()


from sklearn.datasets.samples_generator import make_circles
from sklearn.model_selection import train_test_split
from sklearn.model_selection import cross_val_score


X, y = make_circles(100, factor=.2, noise=.2)
Xtrain, Xtest, ytrain, ytest = train_test_split(X,y,random_state=42)

svc = SVC(kernel = "poly")
SVC.fit(X=Xtrain, y=ytrain)
predictions = SVC.predict(ytest)

1 个答案:

答案 0 :(得分:0)

问题是您在svc = SVC(kernel = "poly")处创建模型,但是您使用非实例化模型调用拟合。

您必须将对象更改为:

svc_model = SVC(kernel = "poly")
svc_model.fit(X=Xtrain, y=ytrain)
predictions = svc_model.predict(Xtest)

我建议您检查一下测试大小,通常最佳做法是30%的测试和70%的训练。所以你可以指出。

Xtrain, Xtest, ytrain, ytest = train_test_split(X,y,test_size=0.30, random_state=42)