繁体   English   中英

为什么svm在python和Matlab中的准确性不同?

[英]Why the accuracy of svm in python and Matlab are different?

我将svm应用于数据集,并且达到了100%的精度! 但是当我使用matlab分类器应用程序时,准确率达到了98.8%。 在他们两个人的内核是RBF。 在python中,我使用20%的数据作为测试,并使用80%的数据作为训练数据。 有人可以解释吗?

all_data = pd.read_csv('data.csv', header=0, lineterminator="\n")
all_data = shuffle(all_data,random_state= 20)
all_data = all_data.apply(LabelEncoder().fit_transform)
data = np.array(all_data.drop('g', axis=1), dtype=np.float32)
labels = np.array(all_data['g'])
train_data = data[:200]
train_lable = labels[:200]
test_data = data[200:]
test_lable = labels[200:]
class_names = [25]
clf = svm.SVC(gamma=0.001)
clf.fit(train_data, train_lable)
score = clf.score(test_data,test_lable)
print(score)
  1. Matlab和Python的两个库之间可能存在一些应用程序差异。
  2. SVM对浮点精度很敏感,所以我想这是由于Matlab和Python中浮点数的差异。 如果您强迫matlab以uint64的形式进行计算,则可能会找到更接近的答案。

最好在数据科学论坛上提问。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM