|
|
|
@ -1,27 +1,3 @@
|
|
|
|
|
#!/usr/bin/env python
|
|
|
|
|
# coding: utf-8
|
|
|
|
|
|
|
|
|
|
# ## 一、案例学习
|
|
|
|
|
|
|
|
|
|
# #### 任务描述
|
|
|
|
|
# 完成科比投篮预测案例,即数据的特征处理与训练预测代码。在学习该实训之前,你需要学习pandas、numpy 以及 keras 等 python 库的使用方法。
|
|
|
|
|
|
|
|
|
|
# #### 相关知识
|
|
|
|
|
#
|
|
|
|
|
#
|
|
|
|
|
# ##### 数据处理
|
|
|
|
|
#
|
|
|
|
|
# 数据处理通常包含剔除无用特征,缺失值补全,合并特征,标准化等步骤,下面在代码中会具体介绍实现方法。
|
|
|
|
|
|
|
|
|
|
# #### 1 数据集简介
|
|
|
|
|
# **数据来源**:
|
|
|
|
|
#
|
|
|
|
|
# 数据来源于 kaggle,该数据集收集了科比近20年职业生涯中所尝试的每个投篮命中的位置和情况,其中包含了 30697 次投篮出手的数据,包含了 25 个特征属性,由于是篮球领域的数据,这里做一个简短的说明。
|
|
|
|
|
#
|
|
|
|
|
# 数据官方说明和介绍及下载:https://www.kaggle.com/c/kobe-bryant-shot-selection/data
|
|
|
|
|
#
|
|
|
|
|
# 在 kaggle 上该数据集的准确率最高也只有 60% 多。
|
|
|
|
|
#
|
|
|
|
|
# 数据特征属性有:
|
|
|
|
|
# - action_type 进攻方式(更具体)
|
|
|
|
|
# - combined_shot_type 进攻方式
|
|
|
|
@ -47,34 +23,18 @@
|
|
|
|
|
# - matchup 比赛双方
|
|
|
|
|
# - opponent 对手
|
|
|
|
|
# - shot_id 投篮ID
|
|
|
|
|
#
|
|
|
|
|
# 标签:
|
|
|
|
|
# - shot_made_flag 是否进球
|
|
|
|
|
#
|
|
|
|
|
# 这其中包含了一些不是那么重要的属性和无关的属性,这些将在数据预处理中进行剔除
|
|
|
|
|
|
|
|
|
|
# In[2]:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#### 载入数据
|
|
|
|
|
import numpy as np
|
|
|
|
|
import pandas as pd
|
|
|
|
|
import matplotlib.pyplot as plt
|
|
|
|
|
# /data/shixunfiles/21979737119eb4fafd62cae509c0c571_1602468291676.csv
|
|
|
|
|
# 读入数据
|
|
|
|
|
data = pd.read_csv("/data/shixunfiles/21979737119eb4fafd62cae509c0c571_1602468291676.csv")
|
|
|
|
|
data = pd.read_csv("data.csv")
|
|
|
|
|
#显示大小
|
|
|
|
|
print("数据集大小:",data.shape)
|
|
|
|
|
# 数据集详细信息
|
|
|
|
|
print(data.info())
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# #### 1.1 数据分析
|
|
|
|
|
# 数据分析是为了查看数据集中正负样本的比例或者各个类别的分布情况,以便训练时调整样本比例,防止训练出现过拟合或者欠拟合的现象。
|
|
|
|
|
|
|
|
|
|
# In[3]:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 投中与未中的数量
|
|
|
|
|
yes=0
|
|
|
|
|
no=0
|
|
|
|
|