3

iPythonで下からグリッド検索分類子を実行しました:

http://scikit-learn.org/dev/auto_examples/grid_search_digits.html

次に、ピクルスでシリアル化しようとしましたが、次のトレースバックを受け取りました。

In [6]: with open('clf.pkl', 'wb') as f:
    cPickle.dump(clf, f)
   ...:     
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-6-577559be619c> in <module>()
      1 with open('clf.pkl', 'wb') as f:
----> 2     cPickle.dump(clf, f)
      3 

/Library/Frameworks/EPD64.framework/Versions/7.3/lib/python2.7/copy_reg.pyc in     _reduce_ex(self, proto)
     68     else:
     69         if base is self.__class__:
---> 70             raise TypeError, "can't pickle %s objects" % base.__name__
     71         state = base(self)
     72     args = (self.__class__, base, state)

TypeError: can't pickle instancemethod objects

回避策はありますか?

私はiPythonとsklearnの両方の最新のベータ版を使用しています。

ありがとう :)

4

1 に答える 1

1

ピクル問題を作成したすべての推定量を保持するために使用されるグリッド検索分類子。この問題は以前に報告され、解決済みです。このパッチコメントは、 pickling だけで分類子を pickle できることを示していますbest_estimator_。あなたの場合、それは次のようになります:

cPickle.dump(clf.best_estimator_, f)
于 2012-08-17T14:14:41.117 に答える