【问题标题】:How to store a trained classifier? [closed]如何存储经过训练的分类器? [关闭]
【发布时间】:2016-12-05 04:37:30
【问题描述】:

训练分类器以在输入 URL 时预测新闻类别

目前:对于每个输入,我训练分类器然后返回输出,因此我失去了训练的分类器

预期:一旦我训练了分类器,我应该能够在需要时从内存中调用这个分类器

我们将不胜感激。

PS:NLP 的业余爱好者

【问题讨论】:

    标签: python django scipy nlp scikit-learn


    【解决方案1】:

    that是你想要的吗?

    来自docs的示例:

    >>> from sklearn import svm
    >>> from sklearn import datasets
    >>> clf = svm.SVC()
    >>> iris = datasets.load_iris()
    >>> X, y = iris.data, iris.target
    >>> clf.fit(X, y)  
    SVC(C=1.0, cache_size=200, class_weight=None, coef0=0.0,
        decision_function_shape=None, degree=3, gamma='auto', kernel='rbf',
        max_iter=-1, probability=False, random_state=None, shrinking=True,
        tol=0.001, verbose=False)
    
    >>> import pickle
    >>> s = pickle.dumps(clf)    # <-- save/dump classifier to disk
    >>> clf2 = pickle.loads(s)   # <-- read/load saved classifier from disk to a new variable
    >>> clf2.predict(X[0:1])     # <-- use loaded (from disk) classifier
    array([0])
    >>> y[0]
    0
    

    【讨论】:

    • 你建议我用 sklearn 代替 nlp 吗?
    • 尝试腌制你的 nip 分类器对象 - 很可能它会工作......
    【解决方案2】:

    您可以使用 Pickle / cPickle 转储/加载您的模型。

    import pickle
    
    #Some COde
    model_path = "classifier.model"
    if not os.path.exists(model_path):
        #Some Code
        classifier = # Some Classifer
        pickle.dump(classifier, open(model_path, "wb" ))
    else:
        classifier = pickle.load(open(model_path, "rb"))
    
    #Some Code
    

    欲了解更多信息:Pickle / cPickle

    【讨论】:

      猜你喜欢
      • 2013-01-20
      • 2013-07-04
      • 2016-12-16
      • 2015-09-28
      • 2019-06-19
      • 2014-11-25
      • 2013-04-01
      • 1970-01-01
      • 2020-05-18
      相关资源
      最近更新 更多