V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
jakeyfly
V2EX  ›  Python

如何在有足球队伍数据的情况下,用程序分类强队与弱队呢?

  •  
  •   jakeyfly · 2018-11-21 16:59:12 +08:00 · 6420 次点击
    这是一个创建于 2199 天前的主题,其中的信息可能已经有所发展或是发生改变。
    不知道如何表达,就是如何让程序能知道那个是强队,比如英超利物浦,曼城之类的明显的强队,然后伯尔顿什么的之类的是二流三流队。

    有没有什么好思路吗?

    单手比赛数据上看去对比,是可以分类出强队弱队,但一些老牌强队,就像上面说的比如曼联有时候是很烂的,但他身上是有强队光环的,我们人去看,就算他最近的打的再烂,也是强队,而电脑是没有这种感情色彩的。有可能一断时期成绩很差,程序就会把队伍归为弱队了。

    求思路
    72 条回复    2018-11-23 18:24:12 +08:00
    fl2d
        1
    fl2d  
       2018-11-21 17:03:03 +08:00
    做分类时历史战绩 buff
    saturnx
        2
    saturnx  
       2018-11-21 17:04:53 +08:00
    基本面:球队阵容身价总和,历史排名
    走势:最近 20 场比赛走势,当然对手也有关系;
    根据基本面分级,根据走势加权;
    SeaRecluse
        3
    SeaRecluse  
       2018-11-21 17:06:03 +08:00
    SVM
    lixiangzaizheli
        4
    lixiangzaizheli  
       2018-11-21 17:08:16 +08:00
    别抬举我抬了 doge.jpg
    timi
        5
    timi  
       2018-11-21 17:09:42 +08:00
    用爬虫,爬贴吧关注用户数
    F1024
        6
    F1024  
       2018-11-21 17:11:30 +08:00   ❤️ 5
    菠菜公司已经帮你分析好了 看赔率
    jakeyfly
        7
    jakeyfly  
    OP
       2018-11-21 17:12:44 +08:00
    @saturnx 这些我都试过,我爬了大概十多年的数据。我最后发现一个问题,就是只用历史数据的话,是不太可行的,因为历史数据,并不能反就一个球队的光环。所以我现在很困惑,要用什么办法来弄。
    freak118
        8
    freak118  
       2018-11-21 17:12:55 +08:00
    欧足联俱乐部排名啊 直接爬数据
    jakeyfly
        9
    jakeyfly  
    OP
       2018-11-21 17:14:16 +08:00
    @freak118 那个太虚了,就像国际足联排名一样,毫无意义。懂足球的都知道,四 A 级比赛很多是友谊赛,根本不是正常阵容出场。
    jakeyfly
        10
    jakeyfly  
    OP
       2018-11-21 17:14:56 +08:00
    @SeaRecluse 我是想弄机器学习的,但这个工程有点大,而且这只是一个方法,我主要现在不知道思路,如果有方向我会去学习的。
    SeaRecluse
        11
    SeaRecluse  
       2018-11-21 17:16:57 +08:00   ❤️ 1
    @jakeyfly 我建议你不要局限于胜负的数据,而是应该去看俱乐部给球员开的工资。
    duzhihao
        12
    duzhihao  
       2018-11-21 17:18:48 +08:00
    说,你是不是鸟黑。
    还有一种思路就是比较球队身价,靠谱率怎么也比历史对战高吧。
    jimrok
        13
    jimrok  
       2018-11-21 17:21:47 +08:00
    近期的比赛成绩给一个比较高的权重。拍脑子可以试试用 e 的曲线增加一个系数。
    weo0
        14
    weo0  
       2018-11-21 17:24:04 +08:00
    我魔好惨,心疼。
    takato
        15
    takato  
       2018-11-21 17:25:25 +08:00
    如果你用一个一维向量来衡量队伍的属性的话,肯定得不到好结果的啦。。。
    jakeyfly
        16
    jakeyfly  
    OP
       2018-11-21 17:34:30 +08:00
    @SeaRecluse 身价,与工资总额我也有计入在内的。
    jakeyfly
        17
    jakeyfly  
    OP
       2018-11-21 17:35:31 +08:00
    @takato 感受到了,只是不知道要如何补充知识,只是一个业余爱好项目,但想能过这个自己想做的事,进一步学习,求指路
    weo0
        18
    weo0  
       2018-11-21 17:37:26 +08:00
    我感觉把球迷的拥趸数量,建队历史,球场容纳量可以作为参考。
    loveour
        19
    loveour  
       2018-11-21 17:38:02 +08:00
    我觉得,你是不是明确一下需求?强弱队本来也只是一个模糊的概念,正常就是大概判断一下就行了。历史强队还是现在战绩,这个权重可以根据需求改。但是,想要精确得知队伍强弱,这本来就不符合足球的规律。排名至少菠菜给的赔率还是相当准的,只是分个档次也就行了。
    dong3580
        20
    dong3580  
       2018-11-21 17:38:45 +08:00
    高中学的方差和标准差的例子,不就是拿了类似这个举例的么。
    Raymon111111
        21
    Raymon111111  
       2018-11-21 17:38:55 +08:00
    直接用两两之间的比赛结果计算分数即可

    看这个 https://en.wikipedia.org/wiki/Elo_rating_system
    yidinghe
        22
    yidinghe  
       2018-11-21 17:38:57 +08:00
    每个队员的:
    1、年龄
    2、身高
    3、耐力
    4、适合位置
    5、实际位置
    6、受伤记录
    7、最近体重
    8、最近婚姻状况
    9、饮食习惯
    10、作息习惯
    11、最近情绪
    youngster
        23
    youngster  
       2018-11-21 17:40:22 +08:00
    参考 fm 啊,把球员数据录入进去作为参考,同时针对球队风格和硬实力做算法,这样比较准。。
    jakeyfly
        24
    jakeyfly  
    OP
       2018-11-21 17:42:15 +08:00
    @loveour 做这个东西的目的就是用来比对波菜公司给出的盘口的,看球又玩球的都明白波菜公司是经常骗人的。我本来是想通过一些数据计算出对阵双方的实力是否符合这个盘口。但现在看来真的很难。波菜公司给出的数据,不可全信啊
    jakeyfly
        25
    jakeyfly  
    OP
       2018-11-21 17:43:31 +08:00
    @weo0 这个好,谢谢大佬,这个应该可以做为比较高的权重
    jakeyfly
        26
    jakeyfly  
    OP
       2018-11-21 17:44:13 +08:00
    @youngster 大佬,这种数据不好抓啊,实时更新球员个人数据的网站我还真没找到。
    yinanc
        27
    yinanc  
       2018-11-21 17:47:58 +08:00 via iPhone
    @jakeyfly 你觉得随便搞个玩具算法就能对抗任何一个有上千人整日研究这个,有上亿资金流的菠菜公司?
    zst
        28
    zst  
       2018-11-21 17:51:25 +08:00 via Android
    11 楼的方法可以啊......或者直接 SVM...或者聚类
    gmywq0392
        29
    gmywq0392  
       2018-11-21 18:12:34 +08:00
    赛季不同阶段积分、对证同赛事不同梯队的球队战绩、球队主客场进失球数、球队总身价、球队阵容整齐情况下不同阵型的输赢场次,很多啊
    nicevar
        30
    nicevar  
       2018-11-21 18:26:37 +08:00
    我也做过足球数据分析,手上的数据是 11 年到现在的,大约 30 多万场比赛,光靠历史数据分析比赛胜负准确度很低,影响的因素太多,比如赛程、伤病、教练战术、队伍近期状态、裁判、晋级关系、主客场、球场环境,比如玻利维亚高原比赛,你一顿数据分析猛如虎,不如直接看比赛场地,来这里的球队几乎就很少赢
    所以要么直接从概率学上来分析,否则很难判断,还有些比赛用历史数据也无法支撑,特别是跨联赛的,比如欧冠联赛开始了,一个新的队伍进入欧冠,你能拿到的它的历史数据都是它本国联赛的,用来对比分析毫无意义
    jakeyfly
        31
    jakeyfly  
    OP
       2018-11-21 18:37:18 +08:00
    @nicevar 其实我只是要分出强弱队,关于比赛的胜负,我对赔率有另一种算法,但不能公开,准确度的话,稳定在 6-7 层
    nicevar
        32
    nicevar  
       2018-11-21 18:51:01 +08:00
    @jakeyfly 分强弱你的数据远不如种菜的,直接看赔率就行了,如果是公司运营的话不如招一两个经常看比赛的人,毕竟每天开出来的比赛场数有限
    jatai
        33
    jatai  
       2018-11-21 19:01:16 +08:00 via Android
    让国足去遍历他们,拿到比分直接出排名
    freak118
        34
    freak118  
       2018-11-21 19:27:42 +08:00
    像莱斯特城夺冠那年你怎么半 有算法能模拟出来结果?比赛成绩这东西很难说的 皇马还输给过西乙的球队呢 这种小概率事件对算法影响很大
    SP00F
        35
    SP00F  
       2018-11-21 19:28:08 +08:00
    精算师或者。。菠菜公司
    aaa5838769
        36
    aaa5838769  
       2018-11-21 19:32:22 +08:00
    哥们,这是想通过程序暴富呀- - 光看双方战绩是不可能的,需要考虑这个球队最近是否有别的比赛,还有一些政治或者别的原因。
    jakeyfly
        37
    jakeyfly  
    OP
       2018-11-21 19:39:37 +08:00
    @aaa5838769 我目前只需要分强弱队的功能,对赔率有另一套算法。但是首先真的要分出强弱队,要不然赔率就毫无意义,我只是想通过程序,简化一下我本来要做事,我发现最关键的是要分出强弱。
    rswl
        38
    rswl  
       2018-11-21 19:41:20 +08:00 via Android
    你只需要爬菠菜的让球就行了吧
    总不能弱队让球吧
    fxxkgw
        39
    fxxkgw  
       2018-11-21 19:48:29 +08:00
    英超无弱旅。。。
    jakeyfly
        40
    jakeyfly  
    OP
       2018-11-21 20:06:24 +08:00
    @rswl 我本质上是要分析,盘口的合理性
    crab
        41
    crab  
       2018-11-21 20:15:49 +08:00
    强弱队分类直接看每个赛季的排名就可以。
    单场分析前提长期看比赛,对首发替补都清楚,好比最近一场的巴萨对皇马。
    takato
        42
    takato  
       2018-11-21 20:46:24 +08:00
    @jakeyfly 其实思路没有问题,Target 换一个即可。
    举个例子,有些队伍可能本身大众认为实力强劲,碾压大部分队伍没问题,但总输给一些奇怪的队伍爆冷,如何让对于队伍的预测标签,能够表达队伍的这个特征。
    yyai3
        43
    yyai3  
       2018-11-21 21:22:43 +08:00
    控球率,射门次数,传球成功率等指标来代替每场比赛的胜负关系来区分强弱可能会更准一点。再不行就拿 fifa 里的球员数值来计算
    liebeyii
        44
    liebeyii  
       2018-11-21 21:23:05 +08:00
    盘口的赔率,也是菠菜公司分析后得出数据,虽然有一定参考价值,但是也会有很大的误导性,因为球队的实力强弱,不会直接在赔率上告诉你的,他们会给自己预留出涨和降的空间。 强队和弱队,你看一场结束的比赛数据,就大概清楚了,进攻数据(射门,射正,传球率,传球数等等),防守数据(拦截数,拦截率,头球成功率,头球数等等)
    suxiaoxiann
        45
    suxiaoxiann  
       2018-11-21 22:41:52 +08:00
    WHR 算法对队伍进行分级。
    zomco
        46
    zomco  
       2018-11-22 01:04:21 +08:00 via iPhone
    比赛数据和球队强弱没有必然联系
    uptime
        47
    uptime  
       2018-11-22 01:15:51 +08:00
    你是想干什么?赌球?

    可以去看个战胜香港马会的真事,有人使用 100 多个维度和参数来预测跑马结果,并且每个参数都有不同的权重,不断失败,不断调试,然后真的做到,并且没兑现那张高奖金彩票
    binux
        48
    binux  
       2018-11-22 02:21:42 +08:00
    成绩烂就成绩烂,数据是真实的,程序能真实的反应这一事实,从而得出更客观的评估。
    然而你反而要求「而电脑是没有这种感情色彩的」?
    haiyang1992
        49
    haiyang1992  
       2018-11-22 02:52:55 +08:00 via Android
    足球我不知道。。篮球基本上看进攻效率和防守效率就行了
    AX5N
        50
    AX5N  
       2018-11-22 04:45:31 +08:00
    我觉得你不可能在这里问到答案,不然这里都是百万富翁了。(买足彩)
    yuikns
        51
    yuikns  
       2018-11-22 05:44:10 +08:00
    看是干什么用。若是简单 ranking,其实可以套很多模型的。
    比如我们可以把球队看过整体,那么球队之间的关系就是一个网络。那么很多网络之间的模型就能用了。
    比如跑个 page ranking。
    随便可以找个十篇论文都套一下试试看就是。反正数据集规模目测很小
    jagger2048
        52
    jagger2048  
       2018-11-22 08:59:57 +08:00
    试试各种聚类算法 (典型的 k -means )自己给球队的数据加权,之后就可以用算法把球队按照强弱分类了
    dtynn
        53
    dtynn  
       2018-11-22 09:10:40 +08:00
    玩一下 FM, 总结一套模型出来😂
    sikariba
        54
    sikariba  
       2018-11-22 09:10:43 +08:00
    @binux #48 没错,按照数据来看他抬根本就算不上强队了
    tanglijun
        55
    tanglijun  
       2018-11-22 09:21:27 +08:00
    球员的综合能力值相加
    xiaohuamao
        56
    xiaohuamao  
       2018-11-22 09:30:11 +08:00
    联赛近五年排名,欧洲联赛名词,冠军奖杯数量,主力球员身价
    epicnoob
        57
    epicnoob  
       2018-11-22 09:31:59 +08:00
    菠菜公司天天分析这个,直接抓赔率即可。
    xiangbohua
        58
    xiangbohua  
       2018-11-22 09:51:03 +08:00
    推荐一本书,《魔球》,讲的是早几年美国一支穷 b 棒球队如何利用数据挑选球手,最红获得成功的故事。
    我也是从别人哪里听来的,打算有空看看。
    deljuven
        59
    deljuven  
       2018-11-22 09:53:36 +08:00
    爬虫,爬博彩公司数据,人家的分析点比你多多了,包括每个球员的近况等等都会算进去……
    Sunrise837
        60
    Sunrise837  
       2018-11-22 10:14:18 +08:00
    加单点的,可以直接从往绩排名,球队价值,人气值和赔率入手
    xphy2321
        61
    xphy2321  
       2018-11-22 10:22:48 +08:00
    赛事分级别,可以按照欧洲联赛排名来调整权重,添加洲际赛事,同理。参照欧洲金靴奖的评选方式,可以细化系数
    不能单纯看战绩,小联赛的全胜含金量太低。


    看到你问题的最后一句,其实根本没必要靠机器来分析啊,按照你说的东西,国际足坛强队轻松就数出来了。从定义上来说,强队就是战绩强,你想区分的是底蕴吧,那可以再加上 google 结果数量、社交媒体粉丝数参考
    winglight2016
        62
    winglight2016  
       2018-11-22 11:10:19 +08:00
    lz 的问题具体操作不好说,只看想要从球队过往成绩推导出基于”情感“的强弱标签这一点,这个明显矛盾啊,再 NB 的算法也不能无中生有,如果是想知道人们心中的球队排名 /强弱,这数据来源应该是社交网站了
    SuT2i
        63
    SuT2i  
       2018-11-22 11:16:41 +08:00
    看盘
    diggerdu
        64
    diggerdu  
       2018-11-22 13:15:35 +08:00 via iPhone
    微软的 TrueSkill 算法
    8355
        65
    8355  
       2018-11-22 13:38:25 +08:00
    楼上的方法更切合实际
    看盘是最简单的方法 人家精算师加专业球队教练看人肯定比你准.
    jzp113
        66
    jzp113  
       2018-11-22 13:56:39 +08:00
    value bet ?
    xzc19970719
        67
    xzc19970719  
       2018-11-22 16:28:16 +08:00
    你在玩 FM2019 ?
    leeho
        68
    leeho  
       2018-11-22 16:32:27 +08:00
    根据球员的身价,综合能力,球队积分,历年成绩
    changoal
        69
    changoal  
       2018-11-22 20:41:09 +08:00
    感觉足球这种东西不是太能预测的。菠菜公司的赔率相对来说还是很准的,但是足球又有很强的偶然性,球员比赛时的状态时很重要的,而这种几乎无法根据之前的数据来预测
    Theo14
        70
    Theo14  
       2018-11-23 10:57:30 +08:00
    @jatai 哈哈 思路清奇
    sunnyzhi
        71
    sunnyzhi  
       2018-11-23 11:45:13 +08:00
    我认为懂足球战术和俱乐部运作才是根本,要对球场上的两队的每一个球员情况有足够多的了解,然后进行滚球下注
    dawn009
        72
    dawn009  
       2018-11-23 18:24:12 +08:00
    @binux #48 他的意思是,总有些未能纳入到数据中,但又确实在起作用的因素。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3282 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 12:42 · PVG 20:42 · LAX 04:42 · JFK 07:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.