mirror of
https://github.com/Llewellynvdm/php-ml.git
synced 2024-11-21 20:45: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.
|
||||
|
||||
* 0.2.0 (in plan/progress)
|
||||
* 0.1.2 (in plan/progress)
|
||||
* feature [Dataset] - FilesDataset - load dataset from files (folder names as targets)
|
||||
* feature [Metric] - ClassificationReport - report about trained classifier
|
||||
* bug [Feature Extraction] - fix problem with token count vectorizer array order
|
||||
|
@ -51,6 +51,7 @@ composer require php-ai/php-ml
|
||||
* Metric
|
||||
* [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/)
|
||||
* [Classification Report](http://php-ml.readthedocs.io/en/latest/machine-learning/metric/classification-report/)
|
||||
* Workflow
|
||||
* [Pipeline](http://php-ml.readthedocs.io/en/latest/machine-learning/workflow/pipeline)
|
||||
* Cross Validation
|
||||
|
@ -51,6 +51,7 @@ composer require php-ai/php-ml
|
||||
* Metric
|
||||
* [Accuracy](machine-learning/metric/accuracy/)
|
||||
* [Confusion Matrix](machine-learning/metric/confusion-matrix/)
|
||||
* [Classification Report](machine-learning/metric/classification-report/)
|
||||
* Workflow
|
||||
* [Pipeline](machine-learning/workflow/pipeline)
|
||||
* 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:
|
||||
- Accuracy: machine-learning/metric/accuracy.md
|
||||
- Confusion Matrix: machine-learning/metric/confusion-matrix.md
|
||||
- Classification Report: machine-learning/metric/classification-report.md
|
||||
- Workflow:
|
||||
- Pipeline: machine-learning/workflow/pipeline.md
|
||||
- Cross Validation:
|
||||
|
Loading…
Reference in New Issue
Block a user