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

时间:2019-03-02 19:58:43

标签: python matlab classification svm

我将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 个答案:

答案 0 :(得分:0)

  1. Matlab和Python的两个库之间的应用可能有所不同。
  2. SVM对浮点精度很敏感,所以我想这是由于Matlab和Python中浮点数的差异。如果您将matlab强制为uint64进行计算,则可能会找到更接近的答案。

最好在datascience forum中提问。