PHP-ML機器學習預測2018俄羅斯世界盃比賽結果

前言: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

相關文章
相關標籤/搜索