您好,欢迎来到12图资源库!分享精神,快乐你我!我们只是素材的搬运工!!
  • 首 页
  • 当前位置:首页 > 开发 > WEB开发 >
    用「最好的言语」PHP,做一个机器学习数据集
    时间:2021-08-06 08:20 来源:网络整理 作者:网络 浏览:收藏 挑错 推荐 打印

    用「最好的言语」PHP,做一个机器学习数据集

    机器学习是一门经过数据来教计算机处置成绩的迷信,而不是编写序列算法,让指令逐一执行。

    普通来说,数据预备是机器学习的首要义务,通常包括两个子步骤:创立数据集和转换数据。

    假设想构建一个相似人类的 AI 象棋游戏,首要成绩就是创立一个数据库,并且该数据库需求尽能够多的包含象棋巨匠玩游戏的数据。通常状况下,大少数人运用 Python 构建数据集,并且在一定水平上以为 Python 是数据迷信的独一编程言语。

    但是,项目作者 Jordi Bassaganas 打破盛行观念(该观念以为 Python 是世界上独一用于数据迷信的编程言语),不运用 Python,而是在构建数据中运用了 MySQL、PHP 和 Rubix ML,其中 Rubix ML 是一个初级机器学习库,可构建运用 PHP 言语从数据中学习的顺序。

    用「最好的言语」PHP,做一个机器学习数据集

    项目地址:https://github.com/programarivm/chess-data

    项目引见

    该项目是一组命令行界面(Command-Line Interface,CLI)工具,可协助管理 PGN 游戏中的象棋数据库,此外,该工具还可以停止数据预备、可视化数据和运用 Rubix ML 训练监视模型。

    用「最好的言语」PHP,做一个机器学习数据集

    所谓的 PGN 就是「可移植式棋局记号法」(Portable Game Notation),是一种以 ASCII 文本文件表示国际象棋棋局数据的标准设定。PGN 设计成使人们很容易停止阅读和编写,电脑顺序很容易停止解析和产生。定义和传达 PGN 的目的,是为了促进地下对局数据的共享交流,包括来自全世界的棋手 (不管有无组织)、出版人和电脑国际象棋研讨的。

    接上去真正的成绩是:应该给计算机提供哪些示例以使机器学习变得更容易?

    这个数据预备存储库主要义务是将数百万个象棋游戏加载到 SQL 数据库中。作者从 PGN Mentor 中下载了 PGN 文件,PGN Mentor 是一个用于国际象棋研讨的软件运用顺序,同时还提供了一个包含数百万个游戏的文件集合,并将这些文件复制到 programarivm/chess-data/data/players 文件夹中。

    其实运用 PHP 为机器学习预备数据集并没有什么复杂办法。但完成进程触及到不同的技术,这是关于对处置成绩的了解、搜集和过滤数据的最好实际进程。

    例如,当触及国际象棋时,首先你需求过滤和验证游戏,这意味着要删除那些语法上有效或包含错误的游戏。cli/pgn-validate.php 命令查找 PGN 文件中错误,这条命令在将信息加载到数据库时会被普遍运用。

    示例展现

    下面展现了运用该项目设置和运转 MySQL 国际象棋数据库,第一步是创立如下所示的象棋数据库:

    $ php cli/db-create.php 

    然后,按照下面的描画,games 表将被植入有效数据。

    $ time php cli/db-seed.php data/players 

    ✗ 15 games did not pass the validation. 

    ✓ 3234 games out of a total of 3249 are OK. 

    ✓ 1353 games out of a total of 1353 are OK. 

    ✓ 1900 games out of a total of 1900 are OK. 

    ✓ 776 games out of a total of 776 are OK. 

    ✗ 1 games did not pass the validation. 

    ✓ 1660 games out of a total of 1661 are OK. 

    ✗ 4 games did not pass the validation. 

    ... 

    ✓ 1124 games out of a total of 1124 are OK. 

    ✓ 265 games out of a total of 265 are OK. 

    ✗ 1 games did not pass the validation. 

    ✓ 2099 games out of a total of 2100 are OK. 

    cli/db-seed.php 命令需求大约 40 分钟才能加载大约 400,000 个游戏。

    mysql> select count(*) from games; 

    +----------+ 

    | count(*) | 

    +----------+ 

    402658 | 

    +----------+ 

    1 row in set (0,23 sec) 

    值得一提的是,一切这些都是用 PHP 言语完成的!

    树立好国际象棋数据库后,就可以为机器学习算法预备数据。在接上去的文章中,项目作者将详细阐明如何经过运用多层感知器分类器和该数据库,停止国际象棋防卫、战术等的开发。

    【编辑引荐】

    白话PHP-PHP基础与提升之第一章变量&数据类型&运算符视频课程

    1亿行为数据,知乎、清华开放国际最大特性化引荐实践交互数据集

    顺序标准化[Java/MySQL/PHP/Python/Go]

    转型golang(go言语)web开发 适宜java转go、php转go、python转go

    韩国用AI预防汉桥自杀:正在用救援数据训练机器学习模型

    (责任编辑:admin)