我尝试将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)
答案 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)