Python 我如何训练我的SVM来预测比赛结果?

Python 我如何训练我的SVM来预测比赛结果?,python,machine-learning,scikit-learn,svm,Python,Machine Learning,Scikit Learn,Svm,目前,我有一个使用熊猫的数据帧,有30个特性和30行。这些功能是[“主场球队进球差距”“客场球队进球差距”“比赛主场球队”“比赛客场球队”“比赛对胜”“比赛对输”“联赛24558.0”“主场球员1整体评分”…“主场球员11整体评分” “客场球员1整体评分”…“客场球员11整体评分”标签]所有值都是浮点数 标签为赢=1、抽=0或输=-1 我试图训练Sklearn的svm.SVC,但我不确定如何.fit()数据,以便根据所有其他特征预测胜负 我看过Sklearn教程,但它们使用了dataset.da

目前,我有一个使用熊猫的数据帧,有30个特性和30行。这些功能是<代码>[“主场球队进球差距”“客场球队进球差距”“比赛主场球队”“比赛客场球队”“比赛对胜”“比赛对输”“联赛24558.0”“主场球员1整体评分”…“主场球员11整体评分” “客场球员1整体评分”…“客场球员11整体评分”标签]所有值都是浮点数

标签
为赢=1、抽=0或输=-1

我试图训练Sklearn的svm.SVC,但我不确定如何
.fit()
数据,以便根据所有其他特征预测胜负

我看过Sklearn教程,但它们使用了dataset.data和dataset.target,我不知道这与我的数据有什么相同之处

clf = svm.SVC(gamma=0.001)
x = inputs[:-1]
y = inputs.loc[:,'label'][:-1]
clf.fit(x,y)
print("Prediction:", clf.predict(PCAinput[-1]))
这就是我正在尝试的
x
是整个数据帧,
y
标签
。PCAinput是数据帧,但没有
标签
<代码>标签是赢、抽或输的标签


我相信问题在于我给出的格式是
x
y
,但我不知道如何将其转换为正确的输入格式。

我发现了问题,当
x
是一个没有
标签的数据帧时,它可以工作,
y
必须是pandas.core.series.series类型,这是通过输入获得的['label'],这就是我的结局

X = PCAinput          #pandas DataFrame without 'label'
y = inputs['label']   #pandas Series only the labels
clf = svm.SVC()
clf.fit(X,y)
有了这个,我现在可以做:

clf.predict(PCAinput)
并返回:

['Defeat', 'Defeat', 'Defeat', 'Win', 'Draw', 'Defeat', 'Win',
   'Defeat', 'Defeat', 'Win', 'Win', 'Defeat', 'Win', 'Draw', 'Defeat',
   'Defeat', 'Win', 'Defeat', 'Win', 'Defeat', 'Win', 'Win', 'Win',
   'Win', 'Draw', 'Draw', 'Win', 'Defeat', 'Win', 'Win']
适用于此处。在您发布MCVE代码并准确描述问题之前,我们无法有效帮助您。请向我们展示您到目前为止如何设置数据:为我们提供只需要2-5行帮助的代码(以及您迄今为止的最佳解决方案)顺便说一句,可能不是我——我使用MLlib和Trusted Analytics;我对SciKit不是特别精通。