jubakit: Jubatus Toolkit¶
jubakitはJubatusの機能に容易にアクセスするためのPythonモジュールです。jubakitを scikit-learn と併せて使用することで、交差検証やモデル評価のような、強力な機能を使用することができます。詳細については、 Jubakit Documentation を参照してください。
現在のjubakitは Classifier, Regression, Anomaly, Recommender, NearestNeighbor, Clustering, Burst, Bandit および Weight エンジンをサポートします。
インストール¶
pip install jubakit
要件¶
- Python 2.7, 3.3, 3.4 または 3.5。
- Jubatus がインストール済みであること。
- 必須ではありませんが、K-分割交差検証のようないくつかの機能を使用する場合は scikit-learn のインストール をする必要があります。
クイックスタート¶
CSVのデータセットを使用して学習/分類を行う例です。
from jubakit.classifier import Classifier, Schema, Dataset, Config
from jubakit.loader.csv import CSVLoader
# Load a CSV file.
loader = CSVLoader('iris.csv')
# Define types for each column in the CSV file.
schema = Schema({
'Species': Schema.LABEL,
}, Schema.NUMBER)
# Get the shuffled dataset.
dataset = Dataset(loader, schema).shuffle()
# Run the classifier service (`jubaclassifier` process).
classifier = Classifier.run(Config())
# Train the classifier.
for _ in classifier.train(dataset): pass
# Classify using the trained classifier.
for (idx, label, result) in classifier.classify(dataset):
print("true label: {0}, estimated label: {1}".format(label, result[0][0]))
使用例¶
実際の例については、 example ディレクトリを参照してください。
例 | トピック | Requires scikit-learn |
---|---|---|
classifier_csv.py | CSVファイルと数値特徴量を扱う。 | |
classifier_shogun.py | CSVファイルと文字列特徴量を扱う。 | |
classifier_digits.py | toyデータセット (digits) を扱う。 | ✓ |
classifier_libsvm.py | LIBSVMファイルを扱う。 | ✓ |
classifier_kfold.py | K-分割交差検証と評価指標。 | ✓ |
classifier_parameter.py | 最適なハイパーパラメータを見つける。 | ✓ |
classifier_hyperopt_tuning.py | hyperoptを使用して最適なハイパーパラメータを見つける。 | ✓ |
classifier_bulk.py | 分類モデルの学習-テストの一括化。 | |
classifier_twitter.py | Twitter Streams を扱う。 | |
classifier_model_extract.py | 分類モデルファイルの内容を抽出する。 | |
classifier_sklearn_wrapper.py | scikit-learnラッパーを使用した分類。 | ✓ |
classifier_sklearn_grid_search.py | scikit-learnラッパーを使用したグリッドサーチ例。 | ✓ |
classifier_tensorboard.py | TensorBoardを使った学習プロセスの可視化。 | ✓ |
regression_boston.py | toyデータセット (boston) を使用した回帰。 | ✓ |
regression_csv.py | CSVファイルを使用した回帰。 | |
regression_sklearn_wrapper.py | scikit-learnラッパーを使用した回帰。 | ✓ |
anomaly_auc.py | 異常検知と評価指標。 | |
recommender_npb.py | 類似アイテムの推薦。 | |
nearest_neighbor_aaai.py | 近傍アイテムの探索。 | |
clustering_2d.py | 2次元データセットのクラスタリング。 | |
burst_dummy_stream.py | ストリームデータを使ったバースト検知。 | |
bandit_slot.py | スロットマシーン例を使った多腕バンディット。 | |
weight_shogun.py | Weightを使用したfv_converterのふるまいの追跡。 | |
weight_model_extract.py | Weightモデルファイルの内容を抽出する。 |
ライセンス¶
MIT License
リソース¶
Jubakit の紹介 from kmaehashi