Python 如何使用支持向量机调整二进制数据集的预测?

Python 如何使用支持向量机调整二进制数据集的预测?,python,numpy,dataframe,machine-learning,svm,Python,Numpy,Dataframe,Machine Learning,Svm,所以我有一个数据集(1000列乘1000行),它有两个类,零或一个,我应用了下面的代码,它给了我58%的预测率。我想调整它,但我真的很困惑不同的类,以及如何用这种类型的数据选择它们的参数,所以我希望在这里得到一些指导 #here I am importing the libraries that I need for this situation import numpy as np import pandas as pd import matplotlib.pyplot as plt from

所以我有一个数据集(1000列乘1000行),它有两个类,零或一个,我应用了下面的代码,它给了我58%的预测率。我想调整它,但我真的很困惑不同的类,以及如何用这种类型的数据选择它们的参数,所以我希望在这里得到一些指导

#here I am importing the libraries that I need for this situation
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn import svm

#reading the data
data = pd.read_csv('train.csv')
x = data.loc[:, 'D_0':'D_1023']
y = data['Class']
test = pd.read_csv('test.csv')
model = svm.SVC(kernel='linear', C=1)
model.fit(x,y)
model.score(x,y)
predictions = model.predict(test)
pd.DataFrame(predictions,
             columns=['PredictedScore']).to_csv('prediction.csv')

这些参数实际上取决于数据,因此没有通用指南。然而,我认为至少尝试“rbf”内核是值得的。另外,我将首先更改C参数,因为它通常具有最大的效果。但同样,这在很大程度上取决于数据。

读取@leoschet我读取了它们,但它们没有指定哪一个适合于少量数据(在我的例子中,两个类的值为1000),并且我发现这有点难实际上,“rbf”内核随着数据的增加而改进。另一件有趣的事情是尝试“poly”内核,并尝试从3开始的不同程度。对于较小的数据集,多项式核可能更好。