Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
pfinal-nc committed Jan 8, 2018
1 parent a4f9402 commit e4d8dd1
Show file tree
Hide file tree
Showing 17 changed files with 305 additions and 288 deletions.
449 changes: 201 additions & 248 deletions .idea/workspace.xml

Large diffs are not rendered by default.

16 changes: 9 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -171,36 +171,38 @@
> php-ML 二乘法算法 使用如 car_price.php
> php-ML 回归预测算法 使用如 stock.php
- SVM 支持向量回归算法 [SVM](./SVR.md)
- SVM 支持向量回归算法 [SVM](doc/SVR.md)

> php-ML SVR算法实验 使用如 svr.php
- SVC 支持向量机分类器 [SVC](./SVC.md)

> php-ML SVC算法实验 如: svc.php
- Apriori算法 关联规则 [Apriori](./Apriori.md)
- Apriori算法 关联规则 [Apriori](doc/Apriori.md)

> php-ML Apriori 关联规则算法 使用如 index.php
> php-ML Apriori 关联规则算法 使用如 apriori.php

- NB算法–朴素贝叶斯算法 [NB](./Nb.md)
- NB算法–朴素贝叶斯算法 [NB](doc/Nb.md)

> php-ML 朴素贝叶斯分类算法 使用如 nb.php
- DecisionTree (CART)–决策树算法 [CART](./CART.md)
- DecisionTree (CART)–决策树算法 [CART](doc/CART.md)

> php-ML 决策树算法 使用如 cart.php
- [聚类算法-KMeans](./clustering.md)
- [聚类算法-KMeans](doc/clustering.md)

> php-ML 聚类算法-KMeans 使用如 kmeans.php
- [聚类算法-DBSCAN](./DBSCAN.md)
- [聚类算法-DBSCAN](doc/DBSCAN.md)

> php-ML 聚类算法-DBSCAN 使用如 Dbscan.php
- [混淆矩阵](./CM.md)
- [混淆矩阵](doc/CM.md)

> php-ML 混淆矩阵 使用如 ConfusionMatrix.php
- [交叉验证](./doc/Cross.md)
24 changes: 24 additions & 0 deletions RandomSpilt.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<?php

use Phpml\CrossValidation\RandomSplit;
use Phpml\Dataset\ArrayDataset;

require './vendor/autoload.php';

$dataset = new ArrayDataset(
$samples = [[1], [2], [3], [4], [5], [6], [7], [8],[9],[10]],
$targets = ['a', 'a', 'a', 'a', 'b', 'b', 'b', 'b','c','c']
);
//第二个参数 是按照百分比 去分割的
//第三个参数 是播下一个更好的随机数发生器种子 是 mt_stand() 这个函数
$dataset_demp = new RandomSplit($dataset, 0.3, 1234);

//随机取得训练数据
echo '<pre>';
print_r($dataset_demp->getTrainSamples()); //训练的数据
print_r($dataset_demp->getTrainLabels()); //训练的标记

//随机取得测试数据
echo '<pre>';
print_r($dataset_demp->getTestSamples()); //测试的数据
print_r($dataset_demp->getTestLabels()); //测试的标记
25 changes: 25 additions & 0 deletions StratifiedRandomSplit.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<?php


use Phpml\CrossValidation\StratifiedRandomSplit;
use Phpml\Dataset\ArrayDataset;

require './vendor/autoload.php';

$dataset = new ArrayDataset(
$samples = [[1], [2], [3], [4], [5], [6], [7], [8],[9],[10]],
$targets = ['a', 'a', 'a', 'a', 'b', 'b', 'b', 'b','c','c']
);

$split = new StratifiedRandomSplit($dataset, 0.3);


//随机取得训练数据
echo '<pre>';
print_r($split->getTrainSamples()); //训练的数据
print_r($split->getTrainLabels()); //训练的标记

//随机取得测试数据
echo '<pre>';
print_r($split->getTestSamples()); //测试的数据
print_r($split->getTestLabels()); //测试的标记
17 changes: 8 additions & 9 deletions composer.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

File renamed without changes.
File renamed without changes.
2 changes: 1 addition & 1 deletion CM.md → doc/CM.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

分类结束后得到的混淆矩阵为:

![](./image/1.png)
![](../image/1.png)

每一行之和为50,表示50个样本,
第一行说明类1的50个样本有43个分类正确,5个错分为类2,2个错分为类3
Expand Down
15 changes: 15 additions & 0 deletions doc/Cross.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# 交叉验证

交叉验证的基本思想是把在某种意义下将原始数据(dataset)进行分组,
一部分做为训练集(train set),
另一部分做为验证集(validation set or test set),
首先用训练集对分类器进行训练,再利用验证集来测试训练得到的模型(model),以此来做为评价分类器的性能指标。


- 随机分割 [例如:A](../RandomSpilt.php)

交叉验证最简单的方法之一就是实现RandomSpilt类。样本分为两组:训练组和测试组。您可以调整每个组的样本数量。

- 分层随机分割 [例如:B](../StratifiedRandomSplit.php)

类似于RandomSpilt类样本被划分到两个组:列车组和试验组。样本的分布考虑到了他们的目标,并试图平分他们。您可以调整每个组的样本数量。
12 changes: 6 additions & 6 deletions DBSCAN.md → doc/DBSCAN.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,19 +19,19 @@ DBSCAN算法的显著优点是聚类能够有效处理噪声点和发现任意
> 应用领域有数学和计算机两个方面。计算公式gcd(a,b) = gcd(b,a mod b)。
PHP-ML 中的 应用 如 [欧几里德距离](./euclidean.php)
PHP-ML 中的 应用 如 [欧几里德距离](../euclidean.php)

2. 曼哈顿距离 - Manhattan

![](./image/mh.jpg)
![](../image/mh.jpg)

图中红线代表曼哈顿距离,绿色代表欧氏距离,也就是直线距离,而蓝色和黄色代表等价的曼哈顿距离

PHP-ML 中的 应用 如 [曼哈顿距离](./euclidean.php)
PHP-ML 中的 应用 如 [曼哈顿距离](../euclidean.php)

3. 切比雪夫距离 - Chebyshev distance

![](./image/qb.jpg)
![](../image/qb.jpg)

```
国际象棋玩过么?
Expand Down Expand Up @@ -60,8 +60,8 @@ DBSCAN算法的显著优点是聚类能够有效处理噪声点和发现任意
  D = 1 2 2
```
PHP-ML 中的 应用 如 [切比雪夫距离](./euclidean.php)
PHP-ML 中的 应用 如 [切比雪夫距离](../euclidean.php)

4. 闵可夫斯基距离 - Minkowski

PHP-ML 中的 应用 如 [闵可夫斯基距离](./euclidean.php)
PHP-ML 中的 应用 如 [闵可夫斯基距离](../euclidean.php)
File renamed without changes.
File renamed without changes.
File renamed without changes.
2 changes: 1 addition & 1 deletion vendor/autoload.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@

require_once __DIR__ . '/composer/autoload_real.php';

return ComposerAutoloaderInitef5f5a82083fb5c4886a92460f1915aa::getLoader();
return ComposerAutoloaderInita11386d33059a5e9c769e813d0fd32bb::getLoader();
8 changes: 4 additions & 4 deletions vendor/composer/autoload_real.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

// autoload_real.php @generated by Composer

class ComposerAutoloaderInitef5f5a82083fb5c4886a92460f1915aa
class ComposerAutoloaderInita11386d33059a5e9c769e813d0fd32bb
{
private static $loader;

Expand All @@ -19,15 +19,15 @@ public static function getLoader()
return self::$loader;
}

spl_autoload_register(array('ComposerAutoloaderInitef5f5a82083fb5c4886a92460f1915aa', 'loadClassLoader'), true, true);
spl_autoload_register(array('ComposerAutoloaderInita11386d33059a5e9c769e813d0fd32bb', 'loadClassLoader'), true, true);
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
spl_autoload_unregister(array('ComposerAutoloaderInitef5f5a82083fb5c4886a92460f1915aa', 'loadClassLoader'));
spl_autoload_unregister(array('ComposerAutoloaderInita11386d33059a5e9c769e813d0fd32bb', 'loadClassLoader'));

$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
if ($useStaticLoader) {
require_once __DIR__ . '/autoload_static.php';

call_user_func(\Composer\Autoload\ComposerStaticInitef5f5a82083fb5c4886a92460f1915aa::getInitializer($loader));
call_user_func(\Composer\Autoload\ComposerStaticInita11386d33059a5e9c769e813d0fd32bb::getInitializer($loader));
} else {
$map = require __DIR__ . '/autoload_namespaces.php';
foreach ($map as $namespace => $path) {
Expand Down
6 changes: 3 additions & 3 deletions vendor/composer/autoload_static.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

namespace Composer\Autoload;

class ComposerStaticInitef5f5a82083fb5c4886a92460f1915aa
class ComposerStaticInita11386d33059a5e9c769e813d0fd32bb
{
public static $prefixLengthsPsr4 = array (
'p' =>
Expand All @@ -31,8 +31,8 @@ class ComposerStaticInitef5f5a82083fb5c4886a92460f1915aa
public static function getInitializer(ClassLoader $loader)
{
return \Closure::bind(function () use ($loader) {
$loader->prefixLengthsPsr4 = ComposerStaticInitef5f5a82083fb5c4886a92460f1915aa::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInitef5f5a82083fb5c4886a92460f1915aa::$prefixDirsPsr4;
$loader->prefixLengthsPsr4 = ComposerStaticInita11386d33059a5e9c769e813d0fd32bb::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInita11386d33059a5e9c769e813d0fd32bb::$prefixDirsPsr4;

}, null, ClassLoader::class);
}
Expand Down
17 changes: 8 additions & 9 deletions vendor/composer/installed.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,25 +6,24 @@
"source": {
"type": "git",
"url": "https://github.com/php-ai/php-ml.git",
"reference": "c4ad117d285e723fa56ca334334bacc6cc21e089"
"reference": "5a691635d7633f964404e9a743d44d1da2e66e54"
},
"dist": {
"type": "zip",
"url": "https://files.phpcomposer.com/files/php-ai/php-ml/c4ad117d285e723fa56ca334334bacc6cc21e089.zip",
"reference": "c4ad117d285e723fa56ca334334bacc6cc21e089",
"url": "https://files.phpcomposer.com/files/php-ai/php-ml/5a691635d7633f964404e9a743d44d1da2e66e54.zip",
"reference": "5a691635d7633f964404e9a743d44d1da2e66e54",
"shasum": ""
},
"require": {
"php": "^7.1"
},
"require-dev": {
"friendsofphp/php-cs-fixer": "^2.4",
"phpunit/phpunit": "^6.4",
"symplify/coding-standard": "dev-master as 2.5",
"symplify/easy-coding-standard": "dev-master as 2.5",
"symplify/package-builder": "dev-master#3604bea as 2.5"
"phpstan/phpstan-shim": "^0.9",
"phpunit/phpunit": "^6.5",
"symplify/coding-standard": "^3.1",
"symplify/easy-coding-standard": "^3.1"
},
"time": "2017-12-05T20:09:06+00:00",
"time": "2018-01-07T09:57:14+00:00",
"type": "library",
"installation-source": "dist",
"autoload": {
Expand Down

0 comments on commit e4d8dd1

Please sign in to comment.