Spaces:
Runtime error
Runtime error
| # Copyright 2020 The HuggingFace Datasets Authors and the current dataset script contributor. | |
| # | |
| # Licensed under the Apache License, Version 2.0 (the "License"); | |
| # you may not use this file except in compliance with the License. | |
| # You may obtain a copy of the License at | |
| # | |
| # http://www.apache.org/licenses/LICENSE-2.0 | |
| # | |
| # Unless required by applicable law or agreed to in writing, software | |
| # distributed under the License is distributed on an "AS IS" BASIS, | |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| # See the License for the specific language governing permissions and | |
| # limitations under the License. | |
| """TODO: Add a description here.""" | |
| import datasets | |
| from sklearn.metrics import accuracy_score | |
| import evaluate | |
| _CITATION = """\ | |
| @article{scikit-learn, | |
| title={Scikit-learn: Machine Learning in {P}ython}, | |
| author={Pedregosa, F. and Varoquaux, G. and Gramfort, A. and Michel, V. | |
| and Thirion, B. and Grisel, O. and Blondel, M. and Prettenhofer, P. | |
| and Weiss, R. and Dubourg, V. and Vanderplas, J. and Passos, A. and | |
| Cournapeau, D. and Brucher, M. and Perrot, M. and Duchesnay, E.}, | |
| journal={Journal of Machine Learning Research}, | |
| volume={12}, | |
| pages={2825--2830}, | |
| year={2011} | |
| } | |
| """ | |
| _DESCRIPTION = """\ | |
| Accuracy classification score. | |
| """ | |
| _KWARGS_DESCRIPTION = """ | |
| Note: To be consistent with the `evaluate` input conventions the scikit-learn inputs are renamed: | |
| - `y_true`: `references` | |
| - `y_pred`: `predictions` | |
| Scikit-learn docstring: | |
| Accuracy classification score. | |
| In multilabel classification, this function computes subset accuracy: | |
| the set of labels predicted for a sample must *exactly* match the | |
| corresponding set of labels in y_true. | |
| Read more in the :ref:`User Guide <accuracy_score>`. | |
| Parameters | |
| ---------- | |
| y_true : 1d array-like, or label indicator array / sparse matrix | |
| Ground truth (correct) labels. | |
| y_pred : 1d array-like, or label indicator array / sparse matrix | |
| Predicted labels, as returned by a classifier. | |
| normalize : bool, default=True | |
| If ``False``, return the number of correctly classified samples. | |
| Otherwise, return the fraction of correctly classified samples. | |
| sample_weight : array-like of shape (n_samples,), default=None | |
| Sample weights. | |
| Returns | |
| ------- | |
| score : float | |
| If ``normalize == True``, return the fraction of correctly | |
| classified samples (float), else returns the number of correctly | |
| classified samples (int). | |
| The best performance is 1 with ``normalize == True`` and the number | |
| of samples with ``normalize == False``. | |
| See Also | |
| -------- | |
| balanced_accuracy_score : Compute the balanced accuracy to deal with | |
| imbalanced datasets. | |
| jaccard_score : Compute the Jaccard similarity coefficient score. | |
| hamming_loss : Compute the average Hamming loss or Hamming distance between | |
| two sets of samples. | |
| zero_one_loss : Compute the Zero-one classification loss. By default, the | |
| function will return the percentage of imperfectly predicted subsets. | |
| Notes | |
| ----- | |
| In binary classification, this function is equal to the `jaccard_score` | |
| function. | |
| Examples | |
| -------- | |
| >>> from sklearn.metrics import accuracy_score | |
| >>> y_pred = [0, 2, 1, 3] | |
| >>> y_true = [0, 1, 2, 3] | |
| >>> accuracy_score(y_true, y_pred) | |
| 0.5 | |
| >>> accuracy_score(y_true, y_pred, normalize=False) | |
| 2 | |
| In the multilabel case with binary label indicators: | |
| >>> import numpy as np | |
| >>> accuracy_score(np.array([[0, 1], [1, 1]]), np.ones((2, 2))) | |
| 0.5 | |
| """ | |
| class AccuracyScore(evaluate.Metric): | |
| """Accuracy classification score.""" | |
| def _info(self): | |
| return evaluate.MetricInfo( | |
| # This is the description that will appear on the modules page. | |
| module_type="metric", | |
| description=_DESCRIPTION, | |
| citation=_CITATION, | |
| inputs_description=_KWARGS_DESCRIPTION, | |
| # This defines the format of each prediction and reference | |
| features=[ | |
| datasets.Features( | |
| { | |
| "predictions": datasets.Sequence(datasets.Value("int32")), | |
| "references": datasets.Sequence(datasets.Value("int32")), | |
| } | |
| ), | |
| datasets.Features( | |
| {"predictions": datasets.Sequence(datasets.Value("int32")), "references": datasets.Value("int32")} | |
| ), | |
| datasets.Features( | |
| {"predictions": datasets.Value("int32"), "references": datasets.Sequence(datasets.Value("int32"))} | |
| ), | |
| datasets.Features({"predictions": datasets.Value("int32"), "references": datasets.Value("int32")}), | |
| ], | |
| # Homepage of the module for documentation | |
| homepage="https://scikit-learn.org/stable/modules/generated/sklearn.metrics.accuracy_score.html", | |
| # Additional links to the codebase or references | |
| codebase_urls=["https://github.com/scikit-learn/scikit-learn"], | |
| reference_urls=["https://scikit-learn.org/stable/index.html"], | |
| ) | |
| def _compute(self, predictions, references, normalize=True, sample_weight=None): | |
| """Returns the scores""" | |
| score = accuracy_score(y_true=references, y_pred=predictions, normalize=normalize, sample_weight=sample_weight) | |
| return {"accuracy_score": score} | |