机器学习-NBA球员薪水预测使用说明

NBA是美国运动员薪酬最高的几大联赛之一,由于每支球队都有工资上限,作为球队管理人员如何更有效的确定球员薪水(避免溢价合同)是十分重要的。研究人员发现,在支付NBA球员薪酬方面、得分、球员国家、球队、助攻、篮板和犯规等等都是影响因素。本案例通过分析球员相关的多方面因素,对球员薪水进行回归预测,是一个典型的回归分析预测案例。本部分包括NBA球员薪水预测建模示例和快速创建两部分。

NBA球员薪水预测建模示例

数据集分析

首先对数据集的特征列进行简单说明,各特征列的具体含义如-1所示。

表-1 特征列含义说明

特征列

特征列含义说明

Player

球员(名字)

TRB%

总篮板

Salary

薪水

AST%

助攻

NBA_Country

球员国家

STL%

抢断

NBA_DraftNumber

选秀编号

BLK%

盖帽

Age

年龄

TOV%

失误

Tm

球队

USG%

使用率

G

出场数

OWS

进攻正负值

MP

出场时间

DWS

防守正负值

PER

球员效率值

WS

净正负值

TS%

真实命中率

WS/48

48min胜利贡献值

3PAr

投中三分球的比率

OBPM

超出联盟进攻平均水平值

FTr

罚球命中率

DBPM

超出联盟防守平均水平值

ORB%

进攻篮板

BPM

超出联盟平均水平值

DRB%

防守篮板

VORP

该球员与可替换球员的绝对价值差

 

然后调用人工智能平台数据准备模块-获取csv列名和列参数信息组件,对数据集有个初步了解,发现数据集共有485条数据,每条数据28个特征,其中3ParFTrTOV%TS%存在空值需要修复,AgeGMPNBA_DraftNumberSalary是整型数值数据,NBA_CountryPlayerTm是非数值型数据,其余都是浮点数。

人工智能平台AI建模操作流程

  1. 首先在[人工智能平台]左侧导航栏中选择[文件管理/我的文件]菜单项,然后新建文件夹,上传项目需要的训练数据集和测试数据集。

图-1 上传数据集

 

  1. [人工智能平台]左侧导航栏中选择[样例库管理/AI建模]菜单项,单击<创建工程>按钮,新建工程工作目录选择文件管理中自己存放数据的文件夹。单击<确定>按钮,完成工程创建。

图-2 新建工程

 

  1. 工程创建完成后单击图标,创建新的任务流,输入任务流名称后,单击<确定>按钮,完成任务流的创建。

图-3 创建任务流

 

  1. 双击创建的任务流,进入任务流组件选择页面,此时会看到左侧包含输入、框架、算法、输出4个部分,此案例主要使用到算法-机器学习相关的组件。

图-4 组件列表

 

特征分析和案例任务流组件选择

  1. 任务流主要包含数据预处理、模型训练、模型评估、预测以及预测结果输出。

图-5 任务流组件

 

  1. 经分析球员姓名对预测薪水来说属于无效特征列,应直接删除。选择特征工程-删除列组件实现功能。

图-6 无效列删除

http://10.121.44.6:34000/assets/nba-1.png

 

  1. 选择数据准备-数据修复组件对有缺省值的特征列(3ParFTrTOV%TS%)进行修复,修复方法即空值填充方法选择用所在列的平均值填充。

图-7 数据修复

http://10.121.44.6:34000/assets/nba-2.png

 

  1. 选择特征工程-数值化组件对非数值型特征列NBA_CountryTm进行数值化。

图-8 非数值型数据数值化

http://10.121.44.6:34000/assets/nba-3.png

 

  1. 选择输出-可视化-箱线图组件查看特征数据分布情况。

图-9 查看分布和归一化

http://10.121.44.6:34000/assets/nba-4.png

 

分布不均,需要选择特征工程-归一化组件对除Salary以外的特征进行归一化。归一化方法选择minmaxscaler

 

图-10 归一化

http://10.121.44.6:34000/assets/nba-5.png

 

  1. 数据特征列过多,有无效或者包含特征,所以利用特征工程-PCA组件对数据集除salary之外的特征进行降维处理,保留10列有效特征。

图-11 PCA降维

http://10.121.44.6:34000/assets/nba-6.png

 

  1. 对降维后的数据集利用数据准备-数据集分割组件进行分割,分割比例为0.7,即训练集0.7,测试集0.3

图-12 数据集分割

http://10.121.44.6:34000/assets/nba-7.png

 

  1. 此处采用回归-随机森林回归组件的默认参数,本案例重点在于讲述如何借助人工智能平台进行回归分析预测,参数调优的过程用户可以自己探索。

图-13 随机森林回归

http://10.121.44.6:34000/assets/nba-8.png

 

  1. 对训练好的回归模型采用预测组件调用模型和测试集生成预测值predict_class,并用输出-回归模型评估组件进行模型评估。

图-14 模型预测和评估

http://10.121.44.6:34000/assets/nba-9.png

 

  1. 对预测的结果采用输出-可视化-折线图组件进行可视化。

图-15 预测结果可视化

http://10.121.44.6:34000/assets/nba-11.png

 

快速创建

用户可以通过“立即创建”的功能,来快速创建NBA球员薪水预测的示例。

  1. 选择[人工智能平台],进入人工智能平台页面。

  1. [人工智能平台]左侧导航栏中选择[样例库管理/样例库]菜单项,进入样例库页面。

  1. 单击机器学习-NBA球员薪水预测样例右侧的<立即创建>按钮,选择任务流所在工程,输入任务流名称,单击<确定>按钮,保存任务流。页面会自动跳转到该工程的页面。

  1. 单击上一步创建的任务流,进入任务流页面。各个组件已经创建,且参数已经配置。用户也可以根据自己的需要,调整参数。

  1. 单击页面上方的<启动>按钮,启动任务流即可。