3. 用决策树预测获胜球队

本文介绍如何运用决策树模型来预测体育比赛中哪支球队更可能获胜。通过分析历史比赛数据,建立决策树模型,可以预测未来比赛的结果,提供有价值的比赛预测分析。
摘要由CSDN通过智能技术生成
# -*- coding: utf-8 -*-
"""
Created on Sun Sep 23 16:15:30 2018

@author: asus
"""
#3 用决策树预测获胜球队

#3.1.2 用pandas加载数据集
import pandas as pd
dataset = pd.read_csv("NBA.csv")
dataset.ix[:5]
dataset[dataset.duplicated()] #检查重复元素

#3.1.3 数据集清洗
#日期是字符串格式,而不是日期对象
#第一行没有数据
#从视觉上检查结果,发现表头不完整或不正确

dataset = pd.read_csv("NBA.csv", parse_dates=["Date"]) #参数skiprows=[0,],表示
                                                  #数据从除去标题的第一行开始读取
dataset.columns = ["Date", "Score Type", "Visitor Team", "VisitorPts",
                   "Home Team", "HomePts", "OT?", "Notes"]
dataset.ix[:5]
print(dataset[dataset.duplicated()])
#每场比赛有两个队:主场队和客场队。最直接的方法就是拿几率作为基准,猜中的几率为50%。
#猜测任意一支球队获胜,都有一半胜算。

#3.1.4 提取新特征
#确定类别值,用1表示主场获胜,用0表示客场获胜。对于篮球比赛而言,得分最多的获胜。
dataset["HomeWin"] = dataset["VisitorPts"] < dataset["HomePts"]
y_ture = dataset["HomeWin"].values
#y_true数组保存的是类别数据,scikit-learn可直接读取

#首先,创建两个能帮助我们进行预测的特征,分别是这两支队伍上场比赛的胜负情况。赢得上场
#比赛,大致可以说明该球队的水平较高。
#遍历每一行数据,记录获胜球队。当到达一行新数据时,分别查看该行数据中两支球队在各自的
#上一场比赛中有没有获胜。
from collections import defaultdict
won_last = defaultdict(int) #作用为查询字典中没有的key时,返回一个默认值,如0
#字典的键为球队,值为是否赢得上一场比赛。
dataset['HomeLastWin'] = None     #此两行书上没有,应增加改两行,否则下面的循环不能
dataset['VisitorLastWin'] = None  #创建这两列

for index, row in dataset.iterrows():
    home_team = row["Home Team"]
    visitor_team = row["Visitor Team"]
    
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值