php-ml是一個(gè)使用PHP編寫(xiě)的機(jī)器學(xué)習(xí)庫(kù)。雖然我們知道,python或者是C++提供了更多機(jī)器學(xué)習(xí)的庫(kù),但實(shí)際上,他們大多都略顯復(fù)雜,配置起來(lái)讓很多新手感到絕望。php-ml這個(gè)機(jī)器學(xué)習(xí)庫(kù)雖然沒(méi)有特別高大上的算法,但其具有最基本的機(jī)器學(xué)習(xí)、分類(lèi)等算法,我們的小公司做一些簡(jiǎn)單的數(shù)據(jù)分析、預(yù)測(cè)等等都是夠用的。我們的項(xiàng)目中,追求的應(yīng)該是性?xún)r(jià)比,而不是過(guò)分的效率和精度。一些算法和庫(kù)看上去非常厲害,但如果我們考慮快速上線,而我們的技術(shù)人員沒(méi)有機(jī)器學(xué)習(xí)方面的經(jīng)驗(yàn),那么復(fù)雜的代碼和配置反而會(huì)拖累我們的項(xiàng)目。而如果我們本身就是做一個(gè)簡(jiǎn)單的機(jī)器學(xué)習(xí)應(yīng)用,那么研究復(fù)雜庫(kù)和算法的學(xué)習(xí)成本很顯然高了點(diǎn),而且,項(xiàng)目出了奇奇怪怪的問(wèn)題,我們能解決嗎?需求改變了怎么辦?相信大家都有過(guò)這種經(jīng)歷:做著做著,程序忽然報(bào)錯(cuò),自己怎么都搞不清楚原因,上谷歌或百度一搜,只搜出一條滿(mǎn)足條件的問(wèn)題,在五年、十年前提問(wèn),然后零回復(fù)。。。所以,選擇最簡(jiǎn)單最高效、性?xún)r(jià)比最高的做法是必須的。php-ml的速度不算慢(趕緊換php7吧),而且精度也不錯(cuò),畢竟算法都一樣,而且php是基于c的。博主最看不慣的就是,拿python和Java,PHP之間比性能,比適用范圍。真要性能,請(qǐng)你拿C開(kāi)發(fā)。真要追求適用范圍,也請(qǐng)用C,甚至匯編。。。
首先,我們要使用這個(gè)庫(kù),需要先下載這個(gè)庫(kù)。在github可以下載到這個(gè)庫(kù)文件(https://github.com/php-ai/php-ml)。當(dāng)然,更推薦使用composer來(lái)下載該庫(kù),自動(dòng)配置。
當(dāng)下載好了以后,我們可以看一看這個(gè)庫(kù)的文檔,文檔都是一些簡(jiǎn)單的小示例,我們可以自己建一個(gè)文件嘗試一下。都淺顯易懂。接下來(lái),我們來(lái)拿實(shí)際的數(shù)據(jù)測(cè)試一下。數(shù)據(jù)集一個(gè)是Iris花蕊的數(shù)據(jù)集,另一個(gè)由于記錄丟失,所以不知道是有關(guān)什么的數(shù)據(jù)了。。。
Iris花蕊部分?jǐn)?shù)據(jù),有三種不同的分類(lèi):
不知名數(shù)據(jù)集,小數(shù)點(diǎn)被打成了逗號(hào),所以計(jì)算時(shí)還需要處理一下:<