随着人工智能的发展,越来越多的新技术涌现出来,无论是深度学习还是传统机器学习的出现,让整个技术可以实现更多的可能
本文作为启蒙科普文章,简单介绍机器学习基本技法,如果你是一个phper,看了这篇文章,对机器学习产生了极大的兴趣,那么文章最后面会给出指引学习路线,帮助更多的人去入门,去学习解决生活中更多的问题
使用php-ml库的随机森林算法训练一个基本分类模型,预测泰坦尼克号上面
乘客的生存率
然后在kaggle(模型比拼网站)提交你的训练模型结果
wow!这很酷!一共8000人参与了这次算法比赛,我使用php库训练的算法拿
到了2784名!你不准备动手试试?
这个库我最早是在2017年初看到的,当时在github上star只有寥寥几百颗
经过半年的迭代更新,这个库拥有了更多的star,但是我发现中文教程却是极
少,几乎没有什么中国文档(可能是中国phper都忙着赚钱了,手动滑稽)
php作为我的入门语言,我是非常感谢他的简单,实用主义,为我的人生带来
了很多不一样的精彩,虽然他使用场景比较单一,虽然我后来学习了更多
更有意思的语言,但是我依然忘不了那个夏天,用php在屏幕上打出hello world
那个时候激动的感觉,所以我这次选择了php来进行现在流行的机器学习,我
个人比较看好php未来的发展,swoole
的诞生,让php拥有了新的不一样的
思路,再加上这次的php-ml
,这更酷了!
我在文章最后简单的翻译一下文档列表,有兴趣的初学同学可以根据我翻译的中文
搜索更多的相关的内容,我收集了官方文档。翻译如果不准确,请指出修正
感谢!
数据data下载链接
php>=7.0
php-ml库
在github上的数据包里面,我们可以看到有几个不同的csv文件
其中for_php_train.csv
/for_php_test.csv
是我已经处理好的数据
建议大家直接使用,在这篇科普启蒙文章里,我就不多说关于数据分析的内
容了,那些知识比较琐碎繁杂,我们这次着重关注机器学习
composer require php-ai/php-ml
require_once 'vendor/autoload.php';
use Phpml\Dataset\CsvDataset;
use Phpml\Classification\Ensemble\RandomForest;
$dataset = new CsvDataset('./data/for_php_train.csv',5,true);
$testset = new CsvDataset('./data/for_php_test.csv',5,true);
$dataset->getColumns()
$sample = $dataset->getSamples();
$label = $dataset->getTargets();
$RandomForest = new RandomForest();
$RandomForest->train($sample,$label);
$result = $RandomForest->predict($testset->getSamples());
$csv=[];
$csv[0]['PassengerId']='PassengerId';
$csv[0]['Survived']='Survived';
foreach ($result as $k=>$value){
$csv[$k+1]['PassengerId']=$k+892;
$csv[$k+1]['Survived']=$value;
}
var_dump($csv);
$file = fopen('write.csv','a+b');
$data = $csv;
foreach ($data as $value){
fputcsv($file,$value);
}
fclose( $file);
wow!我们做到了,我们训练了第一个模型,并得到了结果!
让我们把他提交上去kaggle并获得你自己的分数吧!
经过这次最最最基础的教程,恭喜你!你已经从机器学习的婴儿,迈出了婴
儿的第一步,接下来就是我们知识的补充与学习,如果你想在机器学习上
有所斩获的话,你还需要更多的知识来填充你的思路与想法!
下面是我写的另一篇文章,里面有关于机器学习的路线,come on!
学习路线文章
hello world