论文部分内容阅读
研究背景:随着篮球赛事的广泛开展,传统数据处理分析方法已不能满足篮球运动训练指标的优化和培训状态的评估,严重制约了篮球数据的数字化管理进程。当前篮球运动大数据分析存在以下问题:(1)缺乏对数据计算分析平台与框架的应用研究。随着计算机存储设备与运动数据采集设备功能日益强大,篮球运动数据存储量与计算量都在不断飞速增长,目前的数据分析平台无法满足篮球运动大数据分析需求。(2)缺乏对深度学习建模与机器学习算法研究,局限于个别动作数据查询和竞技水平统计描述,对数据的挖掘与分析不够深入,无法提供篮球运动信息预测与策略支持。研究方法:2.1构建大数据分析开源计算平台Hadoop MapReduce技术广泛应用于篮球运动大数据平台,由于MapReduce需要将任务产生的中间结果写回磁盘,因此需要从网络中的各个节点进行数据拷贝,大量的时间耗费在网络磁盘存储过程中。因Hadoop MapReduce技术制约了篮球运动数据实时分析与计算。为了应对Hadoop MapReduce的运算速度限制,本研究基于美国加州大学伯克利分校AMPLab提出的开源类通用并行计算框架Spark搭建大数据并行计算平台。Spark被设计成支持多场景的通用大数据计算平台,它可以解决大数据计算中的批处理,交互查询及流式计算等核心问题,数据的存储在生产环境中由Hadoop分布式文件系统HDFS承担。Spark拥有Hadoop MapReduce所具有的优点,但不同于MapReduce,Spark中间输出和结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的算法。2.2.基于Scrapy抓取框架与AJAX技术提取球员数据基于web爬虫抓取技术自动采集技术统计数据作为学习样本,搭建深度学习网络模型,利用机器学习算法进行数据深入挖掘分析,为教练员提供运动训练决策支持。Scrapy是Python语言中实现抓取的框架技术,用于抓取web站点并从页面中提取的数据,可以用于数据挖掘与数据监测。AJAX(Asynchronous JavaScript And XML),即异步JS和XML,即使用JS语言与服务器进行异步交互。基于Python中json模块实现AJAX技术,通过json.dumps方法,将python中的基本数据类型序列化为一种标准格式的字符串,进而可以存储或通过网络传输。采用AJAX技术获取球员链接的网页,再基于Scrapy框架进行网络数据抓取,获得球员数据,导出CSV文件。2.3基于K-Means聚类算法进行数据分析与可视化控球后卫(Point Guards)是球场上拿球机会最多的人,通常是篮球运动中全队进攻的组织者。本文以控球后卫为例,采用k-Means聚类算法来进行数据分析与数据可视化展示。本研究通过控卫的助攻失误率和每场球赛的平均得分将控卫分为5大类型。我们也可以利用球员的更多信息来进行聚类。得到了这些聚类信息,再去获取每簇中的球员的信息,一个簇中的球员的水平相当,如果一个簇中有一个球员得到的关注很大,那么该簇内其它球员同样可能得到很大的关注,因为他们属于一个高水平的球员簇中。K-means算法的优点是容易实现,在聚类过程中,保存了每个点到质心的距离,将其理解为误差,那么SSH值越小表示数据点越接近于它们的质心,聚类效果也越好。因为对误差去了平方,因此更加重视那些远离中心的点。但因为随机初始化的质心不同,很有可能导致最后形成的簇也不同,因此可能不是最优解,并且要进行多次相似性度量。研究结果:在大数据时代,篮球赛事中数据挖掘能力不但影响着篮球数据统计与分析模式,也影响着篮球运动训练与竞技水平的未来发展水平。本文的研究意义在于:(1)基于Spark框架与云计算技术,整合现有分散孤立的运动数据源,并基于集群运算环境构建大数据分析计算平台,能够推进篮球赛事中数据分析信息化进程。(2)基于大量技术统计数据作为学习样本,搭建深度学习网络模型,利用机器学习算法进行数据深入挖掘分析,对篮球运动员比赛数据进行数据可视化描述,提升篮球运动的决策智能化水平。在下一步的研究工作中,将基于Spark框架,利用缓存与广播技术,调整计算并行度,从而进一步提升运算效率。同时,通过预处理使得数据满足分类算法的要求,减少对预定义类和类标号的训练实例依赖,从而减少计算代价异常增大的现象。