phpml基于 PHP-ML 庫實(shí)現(xiàn)機(jī)器學(xué)習(xí)
phpml
基于 PHP-ML 庫實(shí)現(xiàn)機(jī)器學(xué)習(xí)
基于語言學(xué)習(xí)
基于語言學(xué)習(xí),根據(jù)語言編碼實(shí)現(xiàn)學(xué)習(xí)
實(shí)例
require_once 'vendor/autoload.php';
use Phpml\Classification\KNearestNeighbors;
use Phpml\Dataset\CsvDataset;
use Phpml\Dataset\ArrayDataset;
use Phpml\FeatureExtraction\TokenCountVectorizer;
use Phpml\Tokenization\WordTokenizer;
use Phpml\CrossValidation\StratifiedRandomSplit;
use Phpml\FeatureExtraction\TfIdfTransformer;
use Phpml\Metric\Accuracy;
use Phpml\Classification\SVC;
use Phpml\Regression\SVR;
use Phpml\SupportVectorMachine\Kernel;
$dataset = new CsvDataset('languages.csv', 1);
$vectorizer = new TokenCountVectorizer(new WordTokenizer());
$tfIdfTransformer = new TfIdfTransformer();
$testample=['我是中國人'];
$samples = [];
foreach ($dataset->getSamples() as $sample) {
$samples[] = $sample[0];
}
$vectorizer->fit($samples);
$vectorizer->transform($samples);
$vectorizer->fit($testample);
$vectorizer->transform($testample);
$tfIdfTransformer->fit($samples);
$tfIdfTransformer->transform($samples);
$dataset = new ArrayDataset($samples, $dataset->getTargets());
$randomSplit = new StratifiedRandomSplit($dataset, 0.1);
$classifier = new SVC(Kernel::RBF, 10000);
$classifier->train($randomSplit->getTrainSamples(), $randomSplit->getTrainLabels());
$testpredictedLabels = $classifier->predict($testample);
print_r($testpredictedLabels);// return Array ( [0] => zh )
exit;評(píng)論
圖片
表情
