[英]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, y
是label
。 PCAinput是DataFrame但沒有label
。 label
是獲勝,平局或失敗的標簽。
我相信問題出在我給x
和y
的格式上,但是我不知道如何將其變成正確的輸入格式。
我發現了這個問題,當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.