Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Auto-generate a classifier Capabilities summary #997 #1229

Merged
Merged
Show file tree
Hide file tree
Changes from 16 commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
552df83
Create classifier_capabilities_table.py
BINAYKUMAR943 Jul 28, 2021
2422cfa
Merge branch 'main' into autogenerate_Classifier_Capabilities
TonyBagnall Jul 30, 2021
d20b219
Update classifier_capabilities_table.py
BINAYKUMAR943 Jul 31, 2021
27da2b5
Update classifier_capabilities_table.py
BINAYKUMAR943 Aug 1, 2021
679998d
Update classifier_capabilities_table.py
BINAYKUMAR943 Aug 1, 2021
63cd0be
Update classifier_capabilities_table.py
BINAYKUMAR943 Aug 1, 2021
4fcef70
Merge branch 'alan-turing-institute:main' into autogenerate_Classifie…
BINAYKUMAR943 Aug 2, 2021
edd41d1
Added missing full stop in the docs and added myself to the contribut…
BINAYKUMAR943 Aug 2, 2021
022ffdf
Merge branch 'alan-turing-institute:main' into autogenerate_Classifie…
BINAYKUMAR943 Aug 4, 2021
2868feb
changing sktime.utils to sktime.registory for importing all_estimators
BINAYKUMAR943 Aug 5, 2021
abd4115
Merge branch 'autogenerate_Classifier_Capabilities' of https://github…
BINAYKUMAR943 Aug 5, 2021
354cdcb
Merge branch 'main' into autogenerate_Classifier_Capabilities
BINAYKUMAR943 Aug 9, 2021
5b13476
Merge branch 'main' into autogenerate_Classifier_Capabilities
TonyBagnall Aug 12, 2021
1e431a8
Merge branch 'main' into autogenerate_Classifier_Capabilities
TonyBagnall Aug 15, 2021
b99dba5
Merge branch 'main' into autogenerate_Classifier_Capabilities
TonyBagnall Sep 16, 2021
831b8a1
Merge branch 'main' into autogenerate_Classifier_Capabilities
TonyBagnall Sep 17, 2021
d577631
Merge branch 'main' into autogenerate_Classifier_Capabilities
TonyBagnall Sep 20, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
11 changes: 11 additions & 0 deletions .all-contributorsrc
Expand Up @@ -1224,6 +1224,17 @@
"doc"
]
}
{
"login": "BINAYKUMAR943"
"name":"Binay Kumar"
"avatar_url":"https://avatars.githubusercontent.com/u/38756834?v=4
"profile":"https://github.com/BINAYKUMAR943"
"contributions":[
"code",
"doc",
"test"
]
}
],
"projectName": "sktime",
"projectOwner": "alan-turing-institute",
Expand Down
55 changes: 55 additions & 0 deletions sktime/contrib/classifier_capabilities_table.py
@@ -0,0 +1,55 @@
# -*- coding: utf-8 -*-
"""Auto-generate a classifier capabilites summary."""
import pandas as pd
from sktime.registry import all_estimators

# List of columns in the table
df_columns = [
"Classifier Category",
"Classifier Name",
"multivariate",
"unequal_length",
"missing_values",
"train_estimate",
"contractable",
]
# creates dataframe as df
df = pd.DataFrame([], columns=df_columns)
# Loop through all the classifiers
for classiName, classiClass in all_estimators(estimator_types="classifier"):
category = str(classiClass).split(".")[2]
try:
# capabilites of each of the classifier classifier
cap_dict = classiClass.capabilities
multivariate = str(cap_dict["multivariate"])
unequal_length = str(cap_dict["unequal_length"])
missing_values = str(cap_dict["missing_values"])
train_estimate = str(cap_dict["train_estimate"])
contractable = str(cap_dict["contractable"])
# Adding capabilites for each classifier in the table
df = df.append(
{
"Classifier Category": category,
"Classifier Name": classiName,
"multivariate": multivariate,
"unequal_length": unequal_length,
"missing_values": missing_values,
"train_estimate": train_estimate,
"contractable": contractable,
},
ignore_index=True,
)
except AttributeError:
df = df.append(
{
"Classifier Category": category,
"Classifier Name": classiName,
"multivariate": "N/A",
"unequal_length": "N/A",
"missing_values": "N/A",
"train_estimate": "N/A",
"contractable": "N/A",
},
ignore_index=True,
)
df.to_html("Classifier_Capabilities.html", index=False, escape=False)