簡體   English   中英

如何訓練我的SVM預測比賽結果?

[英]How can I train my SVM to predict the outcome of the match?

目前,我有一個使用帶有30個功能和30行的熊貓的DataFrame。 功能包括['home_team_goals_difference' 'away_team_goals_difference' 'games_won_home_team' 'games_won_away_team' 'games_against_won' 'games_against_lost' 'League_24558.0' 'home_player_1_overall_rating'...'home_player_11_overall_rating' 'away_player_1_overall_rating'...'away_player_11_overall_rating' 'label']值是浮點數。

label為贏= 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是整個DataFrame, ylabel PCAinput是DataFrame但沒有label label是獲勝,平局或失敗的標簽。

我相信問題出在我給xy的格式上,但是我不知道如何將其變成正確的輸入格式。

我發現了這個問題,當x是一個沒有label的DataFrame並且y必須是pandas.core.series.Series類型時,它可以工作,該類型是通過輸入input ['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']

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM