代码如下:
X_train, X_test,y_train,y_test = train_test_split(X,y,test_size = 0.3)
model_svm = svm.SVC(kernel = 'rbf',gamma = 'auto',probability = True).fit(X_train,y_train)
score_svm = model_svm.score(X_test,y_test)
print(score_svm)
输出结果总是变化,有时候是 0.7916666666666666 有时候是0.8333333333333334。。。。。。
你可以设置一下random state这个参数,划分数据集的时候也可以设置一下,这样每次得到的结果就是一样的了,有用的话麻烦给个采纳,谢谢
因为每次训练时,数据集是随机划分为训练集和测试集的,模型拟合数据越好,score越高,所以导致召回率score会有变动,这是正常的情况。
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632