https://www.youtube.com/watch?v=Q4gTV4r0zRs
- Python 3
- scikit-learn
- tqdm
pip install .
MIT
from onesan import onesan
# prepare the training and validation dataset
X = feature matrix # numpy.array
Y = target vector # numpy.array
# create onesan
robot = onesan(X, Y,
train_size=0.9, # divide to x0.9 for training, x0.1 for validation
n_onesan=8 # number of parallel processes, 1 by default
) # if classifier was not specified, onesan will use linear-SVM as a classifier by default
# Good luck! Onesan!!!!
result = onesan.run()
print(result)
'''
returns list of list
[
[1, '0000...01', accuracy_1],
[2, '0000...10', accuracy_2],
...,
[2^d - 1, '1111...11', accuracy]
]
'''__init__(self, X, Y, train_size=0.8, n_onesan=1, evaluator=DefaultEvaluator, classifier=None, classifier_param=None)
n_onesan specifies a number of onesans. If n_onesan == 1, Onesan would run alone.
If n_onesan >= 2, Onesan would fission into child processes and runs almost n_onesan times faster.
evaluator specifies the evaluation metrics for resulting classification performance. evaluator takes callable object
which takes 2 arguments, true label t and prediction y.
sklearn.metrics.precision_recall_fscore_support will be chosen by default.
We can specify the classifier onesan uses.
The classifier must have fit and predict method to training and validation
the model.
classifier shold inherit sklearn.base.BaseEstimator.
Aiga SUZUKI ai-suzuki@aist.go.jp