質問

import numpy as np
from sklearn import linear_model

X = np.array([[-1, -1], [-2, -1], [1, 1], [2, 1]])
Y = np.array(['C++', 'C#', 'java','python'])
clf = linear_model.SGDClassifier()
clf.fit(X, Y)
print (clf.predict([[1.7, 0.7]]))
#python

テストケースを提供し、トレーニングデータでトレーニングすることにより、配列Yから値を予測しようとしています。 バツ, 、今私の問題は、トレーニングセットを変更したいということです バツTF-IDF機能ベクトル, 、それで、それはどのように可能ですか?漠然と、私はこのようなことをしたいです:

import numpy as np
from sklearn import linear_model

X = np.array_str([['abcd', 'efgh'], ['qwert', 'yuiop'], ['xyz','abc'],  ['opi', 'iop']])
Y = np.array(['C++', 'C#', 'java','python'])
clf = linear_model.SGDClassifier()
clf.fit(X, Y)
役に立ちましたか?

解決

これを行うと便利です Pipeline:

import numpy as np
from sklearn import linear_model, pipeline, feature_extraction

X = np.array([[-1, -1], [-2, -1], [1, 1], [2, 1]])
Y = np.array(['C++', 'C#', 'java','python'])
clf = pipeline.make_pipeline(
        feature_extraction.text.TfidfTransformer(use_idf=True),
        linear_model.SGDClassifier())
clf.fit(X, Y)
print(clf.predict([[1.7, 0.7]]))

他のヒント

このブログでそれを実現する方法を見つけることができます: http://blog.christianperone.com/2011/10/machine-learning-text-feature-extraction-tf-idf-part-ii/

これは特にパートIIです。パートIでは、著者は「用語頻度」とは何かについて説明します。

パートIへのリンク。 http://blog.christianperone.com/2011/09/machine-learning-text-feature-extraction-tf-idf-part-i/

ライセンス: CC-BY-SA帰属
所属していません datascience.stackexchange
scroll top