Weitere ähnliche Inhalte
Ähnlich wie PHP-MLを使用して気軽に機械学習にトライしてみる (20)
Mehr von Ryo Shibayama (15)
PHP-MLを使用して気軽に機械学習にトライしてみる
- 10. なにはともあれREADME を読んでみる
やけに簡単そうに見えませんか
require_once 'vendor/autoload.php';
use PhpmlClassificationKNearestNeighbors;
$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);
echo $classifier->predict([3, 2]);
// return 'b'
- 11. k 近傍法
教師あり学習
分類問題を解くときに使用されるアルゴリズムのひとつ
先程の例でやっていること
[1, 3] , [1, 4] , [2, 4] に a というラベル、
[3, 1] , [4, 1] , [4, 2] に b というラベルをつけておき
[3, 2] というデータがあった場合、
どちらのラベルがつきますか?というのを分類する
→この場合、 b が返ってくる
- 13. Iris Dataset
サンプル例
sepal length,sepal width,petal length,petal width,class
5.1,3.5,1.4,0.2,Iris-setosa
4.9,3.0,1.4,0.2,Iris-setosa
4.7,3.2,1.3,0.2,Iris-setosa
7.0,3.2,4.7,1.4,Iris-versicolor
6.4,3.2,4.5,1.5,Iris-versicolor
6.9,3.1,4.9,1.5,Iris-versicolor
6.3,3.3,6.0,2.5,Iris-virginica
5.8,2.7,5.1,1.9,Iris-virginica
7.1,3.0,5.9,2.1,Iris-virginica
6.3,2.9,5.6,1.8,Iris-virginicacs
がく(sepal)・花弁(petal)の幅と高さを特徴量としている
- 15. デモを使ってみる
$classifier = new PhpmlClassificationNaiveBayes();
$iris_dataset = new PhpmlDatasetDemoIrisDataset();
$classifier->train(
$iris_dataset->getSamples(),
$iris_dataset->getTargets()
);
// 試しに適当な sepal, petal を入れて predict させてみる
echo $classifier->predict([1.0, 2.0, 2.1, 2.5]);
// virginica