mirror of
https://github.com/Llewellynvdm/php-ml.git
synced 2024-11-22 04:55:10 +00:00
add ClassificationReport docs
This commit is contained in:
parent
093e8fc89c
commit
963cfea551
@ -3,7 +3,7 @@ CHANGELOG
|
|||||||
|
|
||||||
This changelog references the relevant changes done in PHP-ML library.
|
This changelog references the relevant changes done in PHP-ML library.
|
||||||
|
|
||||||
* 0.2.0 (in plan/progress)
|
* 0.1.2 (in plan/progress)
|
||||||
* feature [Dataset] - FilesDataset - load dataset from files (folder names as targets)
|
* feature [Dataset] - FilesDataset - load dataset from files (folder names as targets)
|
||||||
* feature [Metric] - ClassificationReport - report about trained classifier
|
* feature [Metric] - ClassificationReport - report about trained classifier
|
||||||
* bug [Feature Extraction] - fix problem with token count vectorizer array order
|
* bug [Feature Extraction] - fix problem with token count vectorizer array order
|
||||||
|
@ -51,6 +51,7 @@ composer require php-ai/php-ml
|
|||||||
* Metric
|
* Metric
|
||||||
* [Accuracy](http://php-ml.readthedocs.io/en/latest/machine-learning/metric/accuracy/)
|
* [Accuracy](http://php-ml.readthedocs.io/en/latest/machine-learning/metric/accuracy/)
|
||||||
* [Confusion Matrix](http://php-ml.readthedocs.io/en/latest/machine-learning/metric/confusion-matrix/)
|
* [Confusion Matrix](http://php-ml.readthedocs.io/en/latest/machine-learning/metric/confusion-matrix/)
|
||||||
|
* [Classification Report](http://php-ml.readthedocs.io/en/latest/machine-learning/metric/classification-report/)
|
||||||
* Workflow
|
* Workflow
|
||||||
* [Pipeline](http://php-ml.readthedocs.io/en/latest/machine-learning/workflow/pipeline)
|
* [Pipeline](http://php-ml.readthedocs.io/en/latest/machine-learning/workflow/pipeline)
|
||||||
* Cross Validation
|
* Cross Validation
|
||||||
|
@ -51,6 +51,7 @@ composer require php-ai/php-ml
|
|||||||
* Metric
|
* Metric
|
||||||
* [Accuracy](machine-learning/metric/accuracy/)
|
* [Accuracy](machine-learning/metric/accuracy/)
|
||||||
* [Confusion Matrix](machine-learning/metric/confusion-matrix/)
|
* [Confusion Matrix](machine-learning/metric/confusion-matrix/)
|
||||||
|
* [Classification Report](machine-learning/metric/classification-report/)
|
||||||
* Workflow
|
* Workflow
|
||||||
* [Pipeline](machine-learning/workflow/pipeline)
|
* [Pipeline](machine-learning/workflow/pipeline)
|
||||||
* Cross Validation
|
* Cross Validation
|
||||||
|
61
docs/machine-learning/metric/classification-report.md
Normal file
61
docs/machine-learning/metric/classification-report.md
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
# Classification Report
|
||||||
|
|
||||||
|
Class for calculate main classifier metrics: precision, recall, F1 score and support.
|
||||||
|
|
||||||
|
### Report
|
||||||
|
|
||||||
|
To generate report you must provide the following parameters:
|
||||||
|
|
||||||
|
* $actualLabels - (array) true sample labels
|
||||||
|
* $predictedLabels - (array) predicted labels (e.x. from test group)
|
||||||
|
|
||||||
|
```
|
||||||
|
use Phpml\Metric\ClassificationReport;
|
||||||
|
|
||||||
|
$actualLabels = ['cat', 'ant', 'bird', 'bird', 'bird'];
|
||||||
|
$predictedLabels = ['cat', 'cat', 'bird', 'bird', 'ant'];
|
||||||
|
|
||||||
|
$report = new ClassificationReport($actualLabels, $predictedLabels);
|
||||||
|
```
|
||||||
|
|
||||||
|
### Metrics
|
||||||
|
|
||||||
|
After creating the report you can draw its individual metrics:
|
||||||
|
|
||||||
|
* precision (`getPrecision()`) - fraction of retrieved instances that are relevant
|
||||||
|
* recall (`getRecall()`) - fraction of relevant instances that are retrieved
|
||||||
|
* F1 score (`getF1score()`) - measure of a test's accuracy
|
||||||
|
* support (`getSupport()`) - count of testes samples
|
||||||
|
|
||||||
|
```
|
||||||
|
$precision = $report->getPrecision();
|
||||||
|
|
||||||
|
// $precision = ['cat' => 0.5, 'ant' => 0.0, 'bird' => 1.0];
|
||||||
|
```
|
||||||
|
|
||||||
|
### Example
|
||||||
|
|
||||||
|
```
|
||||||
|
use Phpml\Metric\ClassificationReport;
|
||||||
|
|
||||||
|
$actualLabels = ['cat', 'ant', 'bird', 'bird', 'bird'];
|
||||||
|
$predictedLabels = ['cat', 'cat', 'bird', 'bird', 'ant'];
|
||||||
|
|
||||||
|
$report = new ClassificationReport($actualLabels, $predictedLabels);
|
||||||
|
|
||||||
|
$report->getPrecision();
|
||||||
|
// ['cat' => 0.5, 'ant' => 0.0, 'bird' => 1.0]
|
||||||
|
|
||||||
|
$report->getRecall();
|
||||||
|
// ['cat' => 1.0, 'ant' => 0.0, 'bird' => 0.67]
|
||||||
|
|
||||||
|
$report->getF1score();
|
||||||
|
// ['cat' => 0.67, 'ant' => 0.0, 'bird' => 0.80]
|
||||||
|
|
||||||
|
$report->getSupport();
|
||||||
|
// ['cat' => 1, 'ant' => 1, 'bird' => 3]
|
||||||
|
|
||||||
|
$report->getAverage();
|
||||||
|
// ['precision' => 0.75, 'recall' => 0.83, 'f1score' => 0.73]
|
||||||
|
|
||||||
|
```
|
@ -15,6 +15,7 @@ pages:
|
|||||||
- Metric:
|
- Metric:
|
||||||
- Accuracy: machine-learning/metric/accuracy.md
|
- Accuracy: machine-learning/metric/accuracy.md
|
||||||
- Confusion Matrix: machine-learning/metric/confusion-matrix.md
|
- Confusion Matrix: machine-learning/metric/confusion-matrix.md
|
||||||
|
- Classification Report: machine-learning/metric/classification-report.md
|
||||||
- Workflow:
|
- Workflow:
|
||||||
- Pipeline: machine-learning/workflow/pipeline.md
|
- Pipeline: machine-learning/workflow/pipeline.md
|
||||||
- Cross Validation:
|
- Cross Validation:
|
||||||
|
Loading…
Reference in New Issue
Block a user