日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

比赛结果预测_决策树_随机森林(通用 数据挖掘入门与实践-实验5)

發布時間:2024/4/18 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 比赛结果预测_决策树_随机森林(通用 数据挖掘入门与实践-实验5) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#數據導入 import pandas as pddata_filename="datasets.csv" dataset=pd.read_csv(data_filename) #dataset.loc[:5]#數據清洗 dataset=pd.read_csv(data_filename, parse_dates=["Date"]) #dataset.loc[:5]#方法1:上場比賽情況特征提取,并用其進行預測#主隊獲勝情況提取 from collections import defaultdictdataset["HomeWin"]=dataset["VisitorPTS"]<dataset["HomePTS"] y_true=dataset["HomeWin"].values#隊伍上一次比賽情況記錄 won_last=defaultdict(int)#HomeLastWin && VisitorLastWint填充 dataset["HomeLastWin"]=0 dataset["VisitorLastWin"]=0 for index, row in dataset.sort_values("Date").iterrows():home_team=row["Home Team"]visitor_team=row["Visitor Team"]row["HomeLastWin"]=won_last[home_team]row["VisitorLastWin"]=won_last[visitor_team]dataset.loc[index]=rowwon_last[home_team]=int(row["HomeWin"])won_last[visitor_team]=1-int(row["HomeWin"])#決策樹 交叉驗證 from sklearn.tree import DecisionTreeClassifier from sklearn.model_selection import cross_val_score import numpy as np clf=DecisionTreeClassifier(random_state=14) X_previouswins=dataset[["HomeLastWin","VisitorLastWin"]].valuesscores=cross_val_score(clf,X_previouswins,y_true,scoring="accuracy") #print("Accuracy: {0:.1f}%".format(np.mean(scores) * 100))#方法2:上場比賽情況 && 球隊排名用于預測#雙方相對排名提取 standings = pd.read_csv("standings.csv") dataset["HomeTeamRanksHigher"]=0 for index,row in dataset.iterrows():home_team=row["Home Team"]visitor_team=row["Visitor Team"]home_rank=standings[standings["Team"]==home_team]["Rk"].values[0]visitor_rank=standings[standings["Team"]==visitor_team]["Rk"].values[0]row["HomeTeamRankingHigher"]=int(home_rank>visitor_rank)# 決策樹 交叉驗證 X_homehigher = dataset[["HomeLastWin", "VisitorLastWin", "HomeTeamRanksHigher"]].values clf=DecisionTreeClassifier(random_state=14)scores=cross_val_score(clf,X_homehigher,y_true,scoring="accuracy") #print("Accuracy: {0:.1f}%".format(np.mean(scores) * 100))# 方法3 忽略主客場,記錄最后的勝利last_match_winner = defaultdict(int) dataset["HomeTeamWonLast"] = 0 for index, row in dataset.iterrows():home_team = row["Home Team"]visitor_team = row["Visitor Team"]teams = tuple(sorted([home_team, visitor_team]))row["HomeTeamWonLast"] = 1 if last_match_winner[teams] == home_team else 0dataset.loc[index] = rowwinner = row["Home Team"] if row["HomeWin"] else row["Visitor Team"]last_match_winner[teams] = winner# 決策樹 交叉驗證 clf=DecisionTreeClassifier(random_state=14) X_lastwinner=dataset[["HomeLastWin","VisitorLastWin"]].valuesscores=cross_val_score(clf,X_lastwinner,y_true,scoring="accuracy") #print("Accuracy: {0:.1f}%".format(np.mean(scores) * 100))#方法4 球隊姓名數字化from sklearn.preprocessing import LabelEncoder encoding = LabelEncoder()#轉換為整型 encoding.fit(dataset["Home Team"].values)#球隊名數據接收 home_teams = encoding.transform(dataset["Home Team"].values) visitor_teams = encoding.transform(dataset["Visitor Team"].values)#拼接 X_teams = np.vstack([home_teams, visitor_teams]).T#print(X_teams)#獨熱編碼 from sklearn.preprocessing import OneHotEncoder onehot = OneHotEncoder() X_teams_expanded = onehot.fit_transform(X_teams).todense()clf = DecisionTreeClassifier(random_state=14) scores = cross_val_score(clf, X_teams_expanded, y_true, scoring='accuracy') #print("Accuracy: {0:.1f}%".format(np.mean(scores) * 100))#隨機森林# 僅用隊名 from sklearn.ensemble import RandomForestClassifier clf = RandomForestClassifier(random_state=14) scores = cross_val_score(clf, X_teams, y_true, scoring='accuracy') #print("Accuracy: {0:.1f}%".format(np.mean(scores) * 100)) # 隊名 && 上一場勝者 #X_previouswins X_all = np.hstack([X_previouswins, X_teams]) clf = RandomForestClassifier(random_state=14) scores = cross_val_score(clf, X_all, y_true, scoring='accuracy') #print("Accuracy: {0:.1f}%".format(np.mean(scores) * 100))# GridSearchCV搜索最佳參數 from sklearn.model_selection import GridSearchCVparameter_space = { "max_features": [2, 10, 'auto'], "n_estimators": [100,], "criterion": ["gini", "entropy"], "min_samples_leaf": [2, 4, 6], } clf = RandomForestClassifier(random_state=14) grid = GridSearchCV(clf, parameter_space) grid.fit(X_all, y_true) #print("Accuracy: {0:.1f}%".format(grid.best_score_ * 100))#隨機森林 正確率最高的模型參數 clf = RandomForestClassifier(bootstrap=True,criterion='entropy', max_depth=None, max_features=2,max_leaf_nodes=None, min_samples_leaf=6,min_samples_split=2, n_estimators=100, n_jobs=1,oob_score=False, random_state=14, verbose=0) scores = cross_val_score(clf, X_all, y_true, scoring='accuracy') #print("Accuracy: {0:.1f}%".format(np.mean(scores) * 100))

總結

以上是生活随笔為你收集整理的比赛结果预测_决策树_随机森林(通用 数据挖掘入门与实践-实验5)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 1000部国产精品成人观看 | 丰满大乳露双乳呻吟 | 人禽l交视频在线播放 视频 | 一区二区三区四区在线 | 欧美成人一区二区在线 | 日韩经典三级 | 久久久久久久久蜜桃 | 一区二区三区欧美在线 | 国产妇女馒头高清泬20p多 | 又大又硬又爽免费视频 | 草草地址线路①屁屁影院成人 | 天堂素人| av片在线观看免费 | 国产精品19p | 日韩精品欧美在线 | 校园激情亚洲 | 欧美性xxxxxxxxx | 日韩一级av毛片 | 男生插女生视频在线观看 | 色资源网站| 亚洲88| 国产欧美一区二区精品性色超碰 | 麻豆一区二区在线观看 | 国产一区二区啪啪啪 | 国产乱妇无码大片在线观看 | 成人爽a毛片一区二区免费 日本高清免费看 | 久久久激情视频 | 日韩视频在线观看 | 免费日批网站 | www日| xxxx黄色片| 日韩女优在线 | 欧美高清大白屁股ass18 | 日韩一区在线看 | 男欢女爱久石 | 福利国产片 | 伊人亚洲 | 欧美成人精品在线观看 | 久久久精品免费 | 俺去久久 | 日本ww色| 麻豆一区二区三区 | 啄木乌欧美一区二区三区 | 手机看黄色 | 老司机免费在线视频 | 青青艹av| 五月婷婷丁香花 | 国产精品国产三级国产专区51区 | 少妇裸体挤奶汁奶水视频 | 中国色视频 | 粉嫩av一区二区三区四区五区 | www日本www | 日韩精品一区二区亚洲av性色 | 中国黄色小视频 | 久久人人爽人人爽人人片av高清 | 久久亚洲精品中文字幕 | 在线观看黄网址 | 寂寞人妻瑜伽被教练日 | 久久女同互慰一区二区三区 | 日韩av日韩 | 黑白配在线观看免费观看 | 中文字幕第31页 | 99热2| 欧美日韩第一页 | 日韩av无码中文字幕 | 91精品国产综合久久久蜜臀 | 色av网| 国产黄频在线观看 | 亚欧洲精品视频在线观看 | 被灌满精子的波多野结衣 | 毛片在线免费观看网站 | 青青草原亚洲视频 | 美女光屁屁露胸胸 | 少妇逼逼 | 玖玖爱在线精品视频 | 在线视频这里只有精品 | 欧美性aaa| 全黄性高潮 | 蜜桃久久久久 | 国产日产欧美一区二区 | 韩国黄色片网站 | 欧美草逼网| 影音先锋中文字幕在线播放 | 少妇与公做了夜伦理 | 少妇无码吹潮 | 国产十八熟妇av成人一区 | 一级片a级片 | 午夜视频在线观看国产 | 木下凛凛子av一区二区三区 | 久操新在线 | 国产一区二区综合 | 久久久无码人妻精品无码 | 无码国产69精品久久久久网站 | 日韩在线电影一区二区 | 又黄又高潮的视频 | 久久精品一 | 与亲女洗澡时伦了毛片 | 91se在线 | 欧美日韩中文在线视频 |