前言:php
根据2014年巴西世界杯的小组赛比赛结果和赔率数据简单预测2018世界杯比赛结果,比赛的赔率咱们能够事先知道,因此能够使用赔率做为预测数据学习
技术:ui
PHP ML库 贝叶斯分类器code
样本数据:2014巴西世界杯小组赛赔率状况 和 比赛结果数据分析
预测数据:2018俄罗斯世界杯赔率状况io
代码:class
<?php /** * 做者:刘海装 * 电话:18814137313 * 日期:2018-6-12 * 项目:根据2014年世界杯的赔率和胜负平状况简单的预测2018世界杯比赛结果 * 技术:使用 PHP-ML库 贝叶斯分类器 */ require_once __DIR__ . '/vendor/autoload.php'; use Phpml\Classification\NaiveBayes; //2014世界杯小组赛比赛赔率 $samples = [ [1.29,11.13,5.05], [1.43,8.08,4.24], [1.83,4.75,3.33], [2.18,3.55,3.11], [2.58,2.79,3.13], [2.69,2.88,2.97], [1.42,8.36,4.17], [1.82,4.93,3.24], [1.34,8.85,5.05], [1.28,11.12,5.35], [2.37,3.13,3.12], [2.42,2.92,3.25], [4.19,1.94,3.32], [2.01,3.71,3.43], [1.86,4.32,3.47], [1.32,9.26,5.19], [1.35,8.91,4.85], [5.39,1.64,3.8], [1.56,5.54,4.27], [12.92,1.21,6.39], [2.27,3.19,3.28], [3.58,2.02,3.55], [2.04,3.65,3.38], [5.52,1.6,3.95], [4.57,1.81,3.49], [1.52,6.59,4.04], [4.2,1.87,3.51], [1.3,9.2,5.45], [1.13,19.99,8.36], [4.45,1.75,3.77], [2.42,3,3.21], [2.12,3.55,3.29], [2.62,2.66,3.31], [1.12,19.89,8.53], [2.55,2.69,3.38], [7.51,1.39,4.91], [3.78,1.97,3.48], [3.46,2.05,3.57], [4.32,1.78,3.8], [2.53,2.76,3.31], [5.21,1.63,3.96], [7.22,1.44,4.37], [2.12,3.45,3.45], [8.49,1.45,3.99] ]; //2014世界杯小组赛比赛结果 $labels = ['win','win','fail','win','win','fail','fail','win','win','win','win','fail','ping','win','ping','ping','win','fail','fail','fail','ping','win','win','fail','fail','fail','win','fail','win','ping','fail','win','fail','ping','win','fail','win','fail','ping','fail','ping','fail','win','fail']; //使用贝叶斯分类器统计 $classifier = new NaiveBayes(); //开始学习 $classifier->train($samples, $labels); //获取2018世界杯前9场比赛的赔率状况 $predictData = [ '俄罗斯 vs 沙特'=>[1.4,8.35,4.1],//俄罗斯 vs 沙特 '埃及 vs 乌拉圭'=>[6.25,1.6,3.6],//埃及 vs 乌拉圭 '摩洛哥 vs 伊朗'=>[2.5,3.6,2.9],//摩洛哥 vs 伊朗 '葡萄牙 vs 西班牙'=>[4.25,1.9,3.3],//葡萄牙 vs 西班牙 '法国 vs 澳洲'=>[1.2,11.25,5.95],//法国 vs 澳洲 '秘鲁 vs 丹麦'=>[3.05,2.4,3.15],//秘鲁 vs 丹麦 '克罗蒂亚 vs 尼日利亚'=>[1.7,5.0,3.55],//克罗蒂亚 vs 尼日利亚 '哥斯达黎加 vs 塞尔维亚'=>[4.25,1.9,3.35],//哥斯达黎加 vs 塞尔维亚 '德国 vs 墨西哥'=>[1.45,6.6,4.1],//德国 vs 墨西哥 ]; //预测2018世界杯前9场比赛结果 $res = []; foreach($predictData as $team=>$data){ $res[$team] = $classifier->predict($data); } //打印预测结果 echo '<pre>'; print_r($res);
预测结果以下:require
Array ( [俄罗斯 vs 沙特] => win //俄罗斯 赢 沙特 [埃及 vs 乌拉圭] => fail //埃及 输 乌拉圭 [摩洛哥 vs 伊朗] => win [葡萄牙 vs 西班牙] => fail [法国 vs 澳洲] => win [秘鲁 vs 丹麦] => fail [克罗蒂亚 vs 尼日利亚] => win [哥斯达黎加 vs 塞尔维亚] => fail [德国 vs 墨西哥] => win )
特别说明:以上数据分析,纯属我的学习用,预测结果和实际状况可能会有误差,不能用于其余用途。foreach