github :
建議 composer
composer require php-ai/php-ml
**:
require_once '../vendor/autoload.php';use phpml\classification\knearestneighbors;
use phpml\association\apriori;
use phpml\regression\leastsquares;
use phpml\math\statistic\standarddeviation;
use phpml\math\statistic\correlation;
use phpml\dataset\csvdataset;
use phpml\classification\ensemble\randomforest;
/**k近鄰演算法**/
//應用於 文字分類、聚類分析、**分析、模式識別、影象處理
$samples = [[1, 3], [1, 4], [2, 4], [3, 1], [4, 1], [4, 2]];
$labels = ['a', 'a', 'a', 'b', 'b', 'b'];
$classifier = new knearestneighbors();
$classifier->train($samples, $labels);
$res = $classifier->predict([[3, 2],[1, 3]]);
//print_r($res); // return b a
/**先驗演算法**/
//根據資料列出樣本,和提供的乙個樣本,算出含有提供的樣本的所有資料(以陣列形式返回)
$samples = [['alpha', 'beta', 'epsilon'], ['alpha', 'beta', 'theta'], ['alpha', 'beta', 'epsilon'], ['alpha', 'beta', 'theta']];
$labels = ;
$associator = new apriori($support = 0.5, $confidence = 0.5);
$associator->train($samples, $labels);
$res = $associator->predict(['alpha','theta']);
//print_r($res);
// return [['beta']]
$res = $associator->predict([['alpha','epsilon'],['beta','theta']]);
//print_r($res);
// return [[['beta']], [['alpha']]]
//獲取生成的關聯規則只需使用rules方法。
$res = $associator->getrules();
//print_r($res);
// return [['antecedent' => ['alpha', 'theta'], 'consequent' => ['beta'], 'support' => 1.0, 'confidence' => 1.0], ... ]
//生成k長度的頻繁項集只需使用apriori方法即可。
$res = $associator->apriori();
//print_r($res);
// return [ 1 => [['alpha'], ['beta'], ['theta'], ['epsilon']], 2 => [...], ...]
/**多元線性回歸**/
$samples = [[73676, 1996], [77006, 1998], [10565, 2000], [146088, 1995], [15000, 2001], [65940, 2000], [9300, 2000], [93739, 1996], [153260, 1994], [17764, 2002], [57000, 1998], [15000, 2000]];//【里程 年份】
$targets = [2000, 2750, 15500, 960, 4400, 8800, 7100, 2550, 1025, 5900, 4600, 4400]; //**
$regression = new leastsquares();
$regression->train($samples, $targets);
$res = $regression->predict([60000, 1996]); //計算出 1996 年,60000里程的車,**** 是 4094.82
//print_r($res);
//return 4094.82
/**計算標準差**/
$population = [5, 6, 8, 9];
$res = standarddeviation::population($population);
//print_r($res);
// return 1.825
$population = [7100, 15500, 4400, 4400, 5900, 4600, 8800, 2000, 2750, 2550, 960, 1025];
$res = standarddeviation::population($population);
//print_r($res);
//return 4079
/**皮爾遜相關**/
$x = [43, 21, 25, 42, 57, 59];
$y = [99, 65, 79, 75, 87, 82];
$res = correlation::pearson($x, $y);
//print_r($res);
//return 0.549
機器學習庫
一 前提 在pthon下做機器學習,需要科學計算包和繪相簿的支援,科學計算則是numpy或scipy,似乎numpy更流行些。畫圖工具包則必定為matplotlib。這些 都是開源 免費使用的,選擇這些庫主要的原因是做線性代數中的矩陣計算極為便利,而且效率比自己開發高的多 二 機器學習庫 1 sci...
matlab機器學習庫
knn fitcknn meas,species,numneighbors 5 cvmdl crossval knn kloss kfoldloss cvmdl predict knn,ones 1,size meas,2 latent 特徵值 從大到小 score特徵向量 coeff,score,...
sklearn 機器學習庫
pipeline parameters steps 步驟 列表 list 被連線的 名稱,變換 元組 實現擬合 變換 的列表,按照它們被連線的順序,最後乙個物件是估計器 estimator memory 記憶體引數,instance of sklearn.external.joblib.memory...