{"id":17976676,"url":"https://github.com/iamhankai/euro2016predictor","last_synced_at":"2025-10-04T16:45:46.892Z","repository":{"id":87392279,"uuid":"60712371","full_name":"iamhankai/euro2016predictor","owner":"iamhankai","description":" Soccer Matches Predictor using Machine Learning","archived":false,"fork":false,"pushed_at":"2017-02-12T14:44:36.000Z","size":285,"stargazers_count":42,"open_issues_count":1,"forks_count":23,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-06T05:23:42.134Z","etag":null,"topics":["machine-learning","scikit-learn","soccer"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iamhankai.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-06-08T16:21:52.000Z","updated_at":"2025-03-27T14:10:36.000Z","dependencies_parsed_at":null,"dependency_job_id":"6214eddb-6764-4452-92b8-f709b147dfb7","html_url":"https://github.com/iamhankai/euro2016predictor","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/iamhankai/euro2016predictor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamhankai%2Feuro2016predictor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamhankai%2Feuro2016predictor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamhankai%2Feuro2016predictor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamhankai%2Feuro2016predictor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iamhankai","download_url":"https://codeload.github.com/iamhankai/euro2016predictor/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamhankai%2Feuro2016predictor/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278343071,"owners_count":25971399,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-04T02:00:05.491Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["machine-learning","scikit-learn","soccer"],"created_at":"2024-10-29T17:24:42.399Z","updated_at":"2025-10-04T16:45:46.835Z","avatar_url":"https://github.com/iamhankai.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Euro Cup 2016 Predictor\nSimply, this predictor is based on typical \"feature+classifier\" machine learning framework.\n\n- feature: ELO rating, win/draw/lose rate, goal/lost-goal since 1920\n- label: goal difference between team1 and team2\n- classifier: Random Forest Classifier\n\nThe code is a little in chaos due to limited time. Maybe I'll update it.\n\n## Run\nenvironment: Python2.7 with scikit-learn package installed;\n\n1. run `group_stage.py` to get group stage results (./result/nation_point.csv and ./result/promoted_nation.csv);\n2. run `knockout_stage.py` to get final results (./result/knockout_result.csv).\n\n## Prediction Results\n#### Champion\n**Germany** \u003cimg src=\"http://images.huanqiu.com/sarons/2012/12/d08afac79e262eeedec18bf20f3e8815.png\" width = \"30\" height = \"18\" alt=\"Germany\" align=center /\u003e \n\n#### Knockout Stage\n| round | team1 | team2 | result |\n|-------|-------------|-------------|--------|\n| 16 | france | ukraine | 3 |\n| 16 | spain | italy | 1 |\n| 16 | england | romania | 1 |\n| 16 | portugal | ireland | 3 |\n| 16 | germany | romania | 2 |\n| 16 | belgium | czechia | 1 |\n| 16 | switzerland | poland | 2 |\n| 16 | slovakia | austria | 1 |\n| 8 | france | spain | 1 |\n| 8 | england | portugal | 3 |\n| 8 | germany | belgium | 1 |\n| 8 | switzerland | slovakia | 1 |\n| 4 | france | england | 1 |\n| 4 | germany | switzerland | 2 |\n| 2 | france | germany | -1 |\n\n#### Group Stage\n**Standings**\n\n| group | team | points | goal difference |\n|-------|------------------|--------|-----------------|\n| a | switzerland | 7 | 3 |\n| a | france | 5 | 1 |\n| a | romania | 4 | 1 |\n| a | albania | 0 | -5 |\n| b | england | 5 | 3 |\n| b | slovakia | 5 | 2 |\n| b | wales | 2 | -2 |\n| b | russia | 2 | -3 |\n| c | germany | 7 | 4 |\n| c | ukraine | 4 | -1 |\n| c | poland | 4 | -1 |\n| c | northern ireland | 1 | -2 |\n| d | spain | 9 | 3 |\n| d | czechia | 4 | 1 |\n| d | turkey | 2 | -1 |\n| d | croatia | 1 | -3 |\n| e | belgium | 7 | 2 |\n| e | ireland | 5 | 1 |\n| e | italy | 4 | 0 |\n| e | sweden | 0 | -3 |\n| f | portugal | 9 | 6 |\n| f | austria | 6 | 3 |\n| f | hungary | 3 | -4 |\n| f | iceland | 0 | -5 |\n\n**Matches Details**\n\u003e((team1,team2),result)    \n(('france', 'romania'), 0)  \n(('france', 'albania'), 1)  \n(('france', 'switzerland'), 0)  \n(('romania', 'albania'), 2)  \n(('romania', 'switzerland'), -1)  \n(('albania', 'switzerland'), -2)  \n(('england', 'russia'), 3)  \n(('england', 'wales'), 0)  \n(('england', 'slovakia'), 0)  \n(('russia', 'wales'), 0)  \n(('russia', 'slovakia'), 0)  \n(('wales', 'slovakia'), -2)  \n(('germany', 'ukraine'), 2)  \n(('germany', 'poland'), 2)  \n(('germany', 'northern ireland'), 0)  \n(('ukraine', 'poland'), 0)  \n(('ukraine', 'northern ireland'), 1)  \n(('poland', 'northern ireland'), 1)  \n(('spain', 'czechia'), 1)  \n(('spain', 'turkey'), 1)  \n(('spain', 'croatia'), 1)  \n(('czechia', 'turkey'), 0)  \n(('czechia', 'croatia'), 2)  \n(('turkey', 'croatia'), 0)  \n(('belgium', 'italy'), 1)  \n(('belgium', 'ireland'), 0)  \n(('belgium', 'sweden'), 1)  \n(('italy', 'ireland'), 0)  \n(('italy', 'sweden'), 1)  \n(('ireland', 'sweden'), 1)  \n(('portugal', 'iceland'), 2)  \n(('portugal', 'austria'), 1)  \n(('portugal', 'hungary'), 3)  \n(('iceland', 'austria'), -2)  \n(('iceland', 'hungary'), -1)  \n(('austria', 'hungary'), 2)  \n\n## Thanks\nhistorcal data from [fedebayle](https://github.com/fedebayle/brazil2014_learning/blob/master/rawdata_elo.txt)  \neuro2016 data from [nowaycomputer](https://github.com/nowaycomputer/euro2016/blob/master/data.csv)\npromotion rules of euro2016 from [Sohu](http://sports.sohu.com/20151014/n423094484.shtml)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiamhankai%2Feuro2016predictor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiamhankai%2Feuro2016predictor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiamhankai%2Feuro2016predictor/lists"}