それぞれの実行時間に応じて2つのクラシファイアを比較したいと思います。ナイーブベイなどのクラシファイアの実行時間をどのように測定できますか?ここでPythonを使用したNaive Bayesクラシファイアの実行時間
0
A
答えて
0
はtimeit
モジュールを使用して、機能の2つの実装の実行時間を比較するための一般的な方法である:
はFirstClassifier
というクラスを実装し、SecondClassifier
両方のことを、次の2つのモジュール、first.py
とsecond.py
を持っていると仮定しますともにclassify
というメソッドを実装しています。また、train
というメソッドがあり、呼び出されたときにトレーニングデータを読み込んでそのモデルをトレーニングし、classify
メソッドの速度を測定するとします。
のでfirst.pyは次のようになります。
# Fill in imports here.
import random
class FirstClassifier(object):
def __init__(self):
# Fill in initialization code here.
pass
def train(self):
# Fill in code to train model here.
pass
def classify(self, text):
# Fill in classification code here.
# Dummy "classification":
return random.choice(['sports', 'politics', 'video games'])
そしてsecond.pyは次のようになります。
# Fill in imports here.
class SecondClassifier(object):
def __init__(self):
# Fill in initialization code here.
pass
def train(self):
# Fill in code to train model here.
pass
def classify(self, text):
# Fill in classification code here.
# Dummy "classification":
return 'sports'
あなたがそうのようなtimeit
を使用してclassify
メソッドの実行を時間を計ることができます。
python -m timeit -s 'from first import FirstClassifier;classifier = FirstClassifier();classifier.train();' 'classifier.classify("The game ended in a draw.")'
サンプルの出力は、「ゲームはドローイングで終了しました」という分類を示しています。平均で0.417μ秒かかる。分類いることを示す
python -m timeit -s 'from second import SecondClassifier;classifier = SecondClassifier();classifier.train();' 'classifier.classify("The game ended in a draw.")'
出力例、:
1000000 loops, best of 3: 0.417 usec per loop
そして、第2の実施のための「ゲームは引き分けに終わりました。」平均で0.0836μ秒かかる。
10000000 loops, best of 3: 0.0836 usec per loop
timeit
これらのコマンドの一般的な形式はpython -m timeit -s 'SETUP_CODE' 'CODE_TO_TIME'
あります。したがって、測定する関数を準備するために実行する必要のあるコードは、-s
オプションに行き、メインの式はコマンドの最初の非フラグ引数に渡されます。
関連する問題
- 1. Python NLTK Naive Bayesクラシファイア
- 2. niveのNaive Bayesクラシファイア
- 3. 機械学習PythonのNaive Bayesクラシファイア
- 4. スパーク1.6.1 python 3.5.1建物naive bayesクラシファイア
- 5. n-gramとNaive Bayesクラシファイア
- 6. NLTK PythonのNaive Bayesクラシファイアでのドキュメント長の使用
- 7. naive bayesクラシファイアはテキスト注釈を実行しますか?
- 8. Naive Bayesクラシファイアでopen()文を使用すると長時間かかる
- 9. Python - Naive-Bayesを使用したSelectFromModel
- 10. naive bayesクラシファイアのトレーニングデータの選択方法
- 11. SciKit-learn - Gaussian Naive Bayesクラシファイアをトレーニングする
- 12. Apache Mahoutの重み付きNaive Bayesクラシファイア
- 13. Naive Bayesクラシファイアによるオンライン学習
- 14. textblob naive bayesクラシファイアのトピック分類時間を短縮する方法
- 15. Pythonで多項式Naive Bayesクラシファイアを分類する例
- 16. Multinomial Naive Bayesクラシファイアに機能を追加する - Python
- 17. Naive Bayesの訓練されたクラシファイアをNLTKに保存
- 18. Naive Bayes(Python、scikit)のスパース行列/オンライン学習の使用
- 19. PythonのNaive Bayes分類
- 20. Naive Bayesの行の分類
- 21. Naive Bayesを使用しているテキストスピナー
- 22. n-gram(movie_reviews)のNaive Bayesクラシファイアの学習方法
- 23. テキストをオブジェクトjavascriptで分類するnaive bayesクラシファイア
- 24. Naive Bayes in Ruby
- 25. Naive Bayes Confusion;
- 26. Naive Bayes回帰
- 27. Mahout - Naive Bayes
- 28. Naive Bayesの問題
- 29. Gaussian Naive Bayesを実装する
- 30. Wekaマシン学習:どのようにNaive Bayesクラシファイアをインタープレットするのですか?