没有合适的资源?快使用搜索试试~ 我知道了~
软件影响14(2022)100416原始软件出版物RatingsLib:一个用于对应用程序的方法进行评级的Python库基里亚科斯·塔拉蒂尼斯·乔治·斯蒂芬尼德斯马其顿大学信息科学学院,应用信息学系,希腊A R T I C L E I N F O关键词:评级方法评级系统预测模型足球预测A B标准RatingsLib是一个Python开源库,致力于实现体育和其他领域的评级/排名系统。由于体育赛事结果的预测近年来引起了相当大的关注,我们的工作面临的挑战,利用评级系统在体育成绩预测。RatingsLib将评级方法与基于排名的统计和机器学习方法相结合,以预测体育赛事的结果。此外,还包括其他领域的应用,如电影排名。为了证明该库的适用性和可扩展性,提供了几个真实数据集上的示例和用例。代码元数据当前代码版本v1.0.0用于此代码版本的代码/存储库的永久链接https://github.com/SoftwareImpacts/SIMPAC-2022-129可复制胶囊的永久链接https://codeocean.com/capsule/4120328/tree/v3法律代码许可证MIT许可证使用git的代码版本控制系统软件代码语言、工具和服务使用Python编译要求、运行环境和依赖python≥3.8numpy≥1.18.2,pandas ≥1.4.2,scikit_learn≥1.0.2,scipy ≥1.4.1,joblib≥1.1.0如果可用,请链接到开发人员文档/手册https://ktalattinis.github.io/ratingslib/问题支持电子邮件ktalattinis@uom.edu.gr1. 介绍一个值得注意的类别,吸引了许多学者这些系统基于成对比较方法[1,2],该方法提供了一种简单的方法,通过成对比较来对对象进行评级和排名。通常,评级是通过采用线性代数和计算方法产生的。在这项工作中,我们研究了属于这一类的几个评级系统,即Win-Loss,Colley [3],Massey [4],Keener [5],Elo系统[6],Offense–Defense [特别地,在先前的出版物中已经提出了AccuRATE[11]。最后,汇总方法的评级和排名也检查。上述方法虽然起源于运动队评分,但也可以成功地应用于其他领域。然而,尽管如此,在现实世界的问题和应用中利用评级系统涉及几个阶段,每个阶段具有不同的要求。数据准备和参数调整就是其中的一些例子。此外,与其他方法(如统计或机器学习方法)的集成使评级过程成为整个过程的一小部分。一般来说,应用程序的开发需要研究人员付出很大的努力,通常需要编程技能。为上述方法开发的开放源码软件的范围非常有限。Govan的博士论文中包含了一些排名系统的Matlab实现此外,在R中实现了两个开源包,第一个是最后,本文中的代码(和数据)已由Code Ocean认证为可复制:(https://codeocean.com/)。更多关于生殖器的信息徽章倡议可在https://www.elsevier.com/physical-sciences-and-engineering/computer-science/journals上查阅。∗通讯作者。电子邮件地址:ktalattinis@uom.edu.gr(韩国) Talattinis),steph@uom.gr(G.Stephanides)。https://doi.org/10.1016/j.simpa.2022.100416接收日期:2022年7月4日;接收日期:2022年8月24日;接受日期:2022年8月26日2665-9638/©2022由Elsevier B. V.发布。这是CC BY-NC-ND许可证下的开放获取文章(http://creativecommons.org/licenses/by-nc-nd/4.0/)。可在ScienceDirect上获得目录列表软件影响杂志 首页:www.journals.elsevier.com/software-impactsK. Talattinis和G. 斯蒂芬奈兹软件影响14(2022)1004162Fig. 1. 软件架构。虽然现有的一揽子计划主要侧重于执行在本文中,我们介绍了RatingsLib,一个Python库,它实现了大量的评级方法,并在各个领域的应用程序。虽然这项工作最初是作为一个应用程序的评级方法,利用在体育赛事预测方面,一个涵盖不同范畴的应用和例子的复杂而概括的资料库亦随之出现2. 执行RatingsLib是一个免费的Python库,在MIT许可下作为开源软件提供。它需要Python 3.8或更新版本,以及以下Python库:numpy,scipy,pandas,scikit-learn和joblib。作为一个python包,它可以很容易地用命令'' pip install ''安装。此外,RatingsLib还提供了高质量的文档和API包。此外,它还包含详细的分步示例和几个用例。该软件的架构由三个基本组件组成概述见图。1.一、The 解析、数据准备、预处理等。对于这个组件,使用了pan- das库[16]。“应用程序”组件嵌入了每个应用程序所需的模块和来自各个领域的示例。评级是图书馆的关键组成部分,与其他两个组成部分相互作用。基本上,它包括实施评级制度、汇总方法和比较措施。 如前所述,在大多数情况下,评级值是通过使用线性代数方法和计算方法生成的。 出于这个原因,这项工作中的大多数评级系统和方法都是通过利用Python中NumPy [17]和SciPy [18]库的几个函数来实现的,这些函数用于代数和科学计算。评级包的类图如图所示。二、评级过程分为三个阶段:准备、计算和评级。正如我们所看到的,RatingSystem是一个抽象类,每个评级系统都实现了抽象方法:calculation_phase()、computation_phase()和rate。我们可以看到,新的系统和方法的扩展和实施是很容易的。3. 功能应用图书馆最重要的功能将在这里介绍。有关软件功能和使用的更多详细信息,请参阅文档。此外,还提供了示例和小教程作为一种笔记本电脑。1. 数据收集和与澄清有关的职能• 原始数据收集:此功能适用于足球数据,用户可以从football-data.co.uk存储库收集和存储在线数据[19]。• 预处理数据:实施基本的预处理程序。例如,删除未评级或NaN值。• 统计量计算:计算数据集的统计量。例如,足球队的统计数据(获胜次数,总进球数• 数据准备:以方法或应用所需的适当形式准备数据。由于库处理成对比较,因此用于评级和排名的数据必须具有成对的形式2. 评级/排名系统、汇总方法和比较措施在这项工作中,我们实施了以下系统和方法:• 评分系统:WinLoss,Colley [3],Massey [4],Keener[5],Elo(胜利和积分版本)[6],• 评级聚合:马尔可夫[8,10,20],Perron [5,20],• 排名聚合方法:Borda计数[21],平均排名[20]。• 比较措施:肯德尔Tau [22]。3. 体育应用• 通过调用评级系统的rate()或rate_from_file()方法计算团队的评级。下面我们展示了一个使用RatingsLib对足球队进行评级的示例 英格兰超级联赛在2018-2019赛季的科利方法。此外,从足球和NFL的例子包括在手册中K. Talattinis和G. 斯蒂芬奈兹软件影响14(2022)1004163• 足球胜负预测图二. 评级系统的类图。最后,预测程序提供了一个分类预测技术可以以三种不同的方式执行:1. 基于排名:预测的逻辑是,较低的排名(较高的评级)优于较高的排名(较低的评级)。2. MLE:通过从结果中选择最高概率,可以将评级转化为预测。概率可以通过应用J.Lasek等人[23]使用的修改后的逻辑函数来计算,并考虑到团队的评级。此外,J.Lasek等人采用Glickman [24]的思想来计算平局概率。我们已经给出了这种方法的首字母缩略词“MLE”,因为概率所需的参数被设置为它们的最大似然估计。我们注意到,对于它们的 计 算 , 我 们 使 用 了 numpy [17] 库 的 函 数minimize。3. 机器学习分类:可以通过利用团队的评级作为机器学习分类器的特征来进行预测。而且 可以结合其他功能(即游戏统计)。scikit-learn库[25]中可用的分类器可以在RatingsLib的函数中传递RatingsLib提供两种类型的预测:后见之明和远见。后见之明预测是指使用整个赛季比赛的收视率预测过去的比赛,而前瞻性是使用前几周的收视率预测即将到来的比赛。对于前瞻性预测,我们包括以下选项来分割训练集和测试集:1. 百分比分割(例如,70%训练,30%测试)2. 比赛周数分割(例如13. 用窗口大小锚定walk-forward [26](在第一个说明性示例中解释)此外,为了同时测试多个评级方法和分类器,多处理库joblib [27]已被用于改善整体计算时间。准确性报告。• 参数整定可以调整评级系统参数以提高特定度量,例如准确性、f1分数等。在定义每个参数的搜索空间之后,通过网格搜索来执行调整。手册中提供了调整Elo系统参数的示例4. 电影应用从用户的评级电影的评级和排名。该应用程序在MovieLens数据集上进行了测试[28]。5. 其他领域的应用• 域名排名提供了基于[29]• 金融最后,利用评级和排序汇总方法,从投资选择和港口排序两个方面进行了实例分析.6. 测试-确认• RatingsLib为大多数提到的功能提供了单元测试。4. 说明性示例在这个例子中,我们评估每个评级系统的预测性能。我们测试了三种不同的方法,目标类是英超联赛(2009-2018赛季)比赛的最终结果。这些方法是基于秩的,MLE和机器学习分类器,我们选择了朴素贝叶斯。整个应用程序分为三个阶段。第一阶段是数据收集,我们从football-data.co.uk收集 2009/10至2017/18赛季英超联赛的数据。第二阶段是评级程序,我们测试所有可用的评级系统。每个赛季的评分是根据前几周的比赛数据每周计算的。每个赛季的第一个比赛周被删除,因为没有可用的评级。收视率产生后,在 第三阶段,我们进行预测。我们的目标是测试所有评级系统,因此每种预测方法每次都使用一个评级系统的评级值。每种预测方法K. Talattinis和G. 斯蒂芬奈兹软件影响14(2022)1004164图三. 足球结果预测程序。表1准确度结果。基于MLE的朴素贝叶斯准确度校正游戏错误的游戏准确度校正游戏错误的游戏准确度校正游戏错误的游戏赢-输0.4879 1535 1611 0.5067 1594 1552 0.4889 1538 16080.5105 1606 1540 0.4905 1543 1603梅西0.4886 1537 1609 0.5179 1593 1483Elo-Win 0.4803 1511 1635 0.513 1614 1532 0.4892 1539 1607埃洛点0.4879 1535 1611 0.513 1614 1532 0.4927 1550 15960.4854 1527 1619 0.5153 1621 1525 0.4981 1567 1579Offense–Defense0.4943 1555 1591 0.5079 1598 1548 0.4965 1562 1584准确率0.4898 1541 1605 0.5143 1618 1528 0.4924 1549 1597法预测是通过采用锚定的步行前进,并从每个赛季的第4周开始。 这意味着对于每个新的一周,预测是通过利用前几周的评级作为训练集来进行的。 每个赛季开始时,向前走的过程都会重新开始。图3 .第三章。说明了程序。各方法的准确度结果见表1。5. 影响概述RatingsLib是Python中的一个开源库,它不仅限于评级系统的实现,还包括应用程序也此外,还提供了几个例子,目的是更清楚地使用其他领域和领域的实施方法。事实上,代码是用Python编写的,这使得该工具更容易访问,因为Python非常流行。该项目最近作为开源软件公开发布,尚未在社区中建立。然而,我们的软件已经过测试(部分或全部)在我们的出版物中进行的实验[11,29特别是,我们的软件构成了与这些研究中使用的初始软件版本相关的升级版本,因为它使用了更新的技术,K. Talattinis和G. 斯蒂芬奈兹软件影响14(2022)1004165表2可能的新应用概述。可能的新应用体育预测体育博彩策略,球员房地产选择,大学排名金融金融工具排名,交易策略选择包括流行的和已建立的软件包,并且速度更快。此外,委员会认为,它已经成功地应用于[28],其中它在真实的基准数据集中对电影进行排名。RatingsLib的目标有两个:(1)对一组对象进行评级、排名和比较,(2)在现实世界的应用程序中应用评级方法。通过这种方式,该软件可以帮助研究人员,数据科学家,学者,学生和专业人士。 例如,该库可以显著地帮助体育分析师、投注者和教练 对未来体育比赛的结果进行评级、排名和预测。此外,决策者、投资者和投资组合管理者可以采用代码以简单的方式解决排名问题。此外,它还可以帮助科学家将大量知名的评级方法与其他方法和技术(如机器学习)结合起来。这个软件也可以用于教育目的。由于大多数本库提供的排序系统中,有一部分是使用线性代数和计算方法,这有助于学生了解线性代数、最优化模型和计算方法的应用和扩展。图书馆可供不同的用户群使用。下面我们展示对几个群体的总体影响和每个应用程序的影响• 总体:研究人员、数据科学家、程序员、学生、决策者• 体育预测:体育分析师,投注者,教练• 电影排名:在线租赁服务,视频租赁商店• 领域市场排名:投资者、另类基金经理• 金融:投资者、投资组合经理、交易员、决策者RatingsLib的另一个重要方面是,提供的每个应用程序和示例都可以用作模板或基线。特别地,可以通过小的修改来开发新的应用现有的应用程序或示例。例如,葡萄酒排名的发展可以将电影排名作为基线。同样,其他应用如房地产选择或汽车选择也可以完成通过考虑域名市场排名的例子。表2显示了一些可能的新应用程序的例子,我们可以得出结论,RatingsLib可以扩展到几个领域。最后,我们的工作有以下贡献:• 实施评级和排名系统、汇总方法和比较措施。• 一个全面的应用程序开发和处理体育结果预测。该应用程序涵盖了创建和测试预测模型所需的所有阶段。• 其他基于真实数据集[19,28]的应用程序和示例[29]也包含在库中• GitHub上提供了免费和开源代码,并提供了大量文档。• 易于使用的软件,无需高级编程技能的要求。6. 结论显然,评级和排名是一个科学领域,不仅吸引了学术界的兴趣,也吸引了商业界的兴趣。社区出于这个原因,与其他可用的工具,我们的工作更面向应用程序的评级方法。RatingsLib是第一个在运动结果预测领域将评分方法与机器学习相结合的开源库。此外,在其他领域的应用程序,如电影排名测试与基准数据集。此外,该软件还嵌入了几种方法,如评级聚合方法[20]和足球结果概率的计算[23]。此外,还提供了比较措施和数据功能,使图书馆更全面。竞合利益作者声明,他们没有已知的竞争性财务利益或个人关系,可能会影响本文报告的工作引用[1]G.T. Fechner,Elemente der psychophysik,Vol. 2,Breitkopf u. Härtel,1860年。[2]G.T.费希纳,心理物理学的元素:Transl。由Helmut E. Adler,Vol. I,Holt,Rinehart and Winston,1966.[3]W. Colley,Colley解释,2002年。[4]K. Massey,统计模型应用于运动队的评级,1997年。[5]J. P. Keener,Pe r r o n - F r o b e n i u s 定 理 和 足 球 队 的 排 名 , SI A M Re v . 3 5( 1 ) ( 19 9 3 ) 80 - 9 3 。[6]A.E. Elo,《The Rating of Chessplayers,Past and Present》,Arco Pub,1978年。[7] A.Y. Govan,A.N. Langville,C.D. Meyer,团队运动排名的攻防方法,J。 定量Anal. 体育5(1)(2009).[8]A.Y. Govan,Ranking Theory with Application to Popular Sports,2008。[9]S.布林湖首页>外文书>人文>历史> The Anatomy of a Large-Scale HypertextualWeb SearchEngine,Comput网络56(18)(2012)3825-3833。[10] L.C. 英格拉姆,排名NCAA运动队与线性代数,查尔斯顿,2007年。[11] G. Kyriakides,K.塔拉蒂尼斯湾Stephanides,预测运动成绩的混合方法和AccuRATE评级系统,Int.J. Appl. Comput.数学3(1)(2017)239-254。[12] E. Chasnovski,comperank:比赛结果的排名方法,2020。[13] J.Gou,F. Zhang,S.吴,项目展示评审系统:不完全信息下的评级与排名,2020。[14] J. Gou,F. Zhang,S.吴雨琴:不完全信息的排名,2020。[15] R. 王,一个简单的比赛排名解决方案,2019。[16] T. Pandas开发团队,Pandas-Dev/Pandas:Pandas,Zenodo,2020。[17] C.R.放大图片作者:Harris,K. J. Millman,S. J. Gommers,P. Virtanen,D.Cournapeau,E.作者:J. Berg,N. J. Smith,R.克恩,M。Picus,S. Hoyer,M.H. van Kerkwijk , M. 布 雷 特 , A. 哈 勒 什 , J.F. del Rio , M. Wiebe , P.P e t e r s o n ,P. Gérard-Marchant,K.谢泼德,T. Reddy,W. Weckesser,H.阿 巴 斯 ,C.Gohlke , T. E.Oliphant , Array programming with NumPy , Nature 585(2020)357-362.[18]维尔塔宁河Gommers,T. E. Oliphant,M. Haberland,T. Reddy,D. 库纳波,E. Burovski,P.Peterson,W.We c k e s s e r ,J. Bright ,S.J. van der Walt,M.布雷特,J.Wilson,K.J. Millman,N.放大图片作者:A.琼斯河,巴西-地Kern,E. Larson , C.J. Carey , 2004. Polat , Y. Feng , E.W. Moore , J.VanderPlas , D. Laxalde , J. 珀 克 托 尔 德 河 奇 默 尔 曼 岛 Henriksen ,E.A.Quintero,C.R.哈里斯,上午 阿奇博尔德A.H. 里贝罗角 Pedregosa,P. van Mulbregt,S.1. SciPy 1.0的贡献者Python中科学计算的基本算法,Nature Methods 17(2020)261-272。[19] 足球数据,足球结果,统计足球投注赔率数据。[20] A.N. Langville,C.D. Meyer,谁是第一?:The Science of Rating and Ranking,Princeton University Press,2012.[21] J.D. Borda,Mémoire sur les élections au scrutin,in:Histoire dedesSciences pour 1781,Paris,1784,1784.[22] M.G. Kendall,A new measure of rank correlation,Biometrika 30(1/2)(1938).[23] J.Lasek,Z. Szlávik,S. Bhulai,足球排名系统的预测能力,国际。 J.Appl. 模式识别。1(2013)27[24] 法医 大型动态配对比较中的参数估计实验,J. R. Stat. Soc. 序列C. Appl. Stat. 48(3)(1999)377[25] F.佩德雷戈萨湾瓦罗科格拉福,V.米歇尔,B.蒂里翁岛,澳-地格里塞尔,M。作者声明:R.放大图片作者:王伟帕索斯角,澳-地库那波,M。布鲁赫,M。Perrot,E.Duchesnay,Scikit-learn:Python中的机器学习,J。 马赫学习.Res. 12(2011)2825[26] M. 帕加诺,金融市场和增长:概述,欧洲。经济学修订版37(1993)613[27] Joblib开发团队,Joblib:将Python函数作为管道作业运行,2020年。K. Talattinis和G. 斯蒂芬奈兹软件影响14(2022)1004166[28] F.M. Harper,J.A. Konstan,The MovieLens datasets:history and context,ACMTrans. 互动. 内特尔系统5(2015年)。[29] K. 塔 拉 蒂 尼 斯 角 Zervopoulou 湾 Stephanides , Ranking domain namesusingvarious rating methods,in:Proceedings of the Ninth International Multi-Conference on Computing in the Global Information Technology,Seville,2014.[30] G. Kyriakides , K. Talattinis , S. George , Rating systems vs machine learningonthe context of sports , in : Proceedings of the 18th Panhellenic ConferenceonInformatics,New York,NY,USA,2014。[31] G. Kyriakides , K. 塔 拉 蒂 尼 斯 湾 Stephanides , Raw rating systems andstrategyapproachestosportsbetting , in : ProceedingsofMathSportInternational 2015,Loughborough,2015。
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功