質問分類にscikit-learnを使用しています。私はこのコードを持っている:TfidfVectorizerとSelectPercentileは何を返しますか?
how serfdom develop leav russia ?
(0, 5270) 0.499265751002
(0, 3555) 0.473352969263
(0, 1856) 0.449852125968
(0, 5433) 0.569476725713
[ 0. 0. 0. ..., 0. 0. 0.]
6743
最初の質問は、tfidfVectorizerで返される行列は何を意味するのである:次のような結果が生成さ
print(features[0], '\n')
vectorizer = TfidfVectorizer(sublinear_tf=True, max_df=0.5,
stop_words='english')
features = vectorizer.fit_transform(features)
print(features[0], '\n')
selector = SelectPercentile(f_classif, percentile=100)
selector.fit(features, labels)
features = selector.transform(features).toarray()
print(features[0])
print(len(features[0]), '\n')
? sklearnのドキュメントには、
が含まれています。用語とドキュメントを返します。 これはfitに続くtransformに相当しますが、より効率的に実装されます。ウィキペディアから
:文書が条件と何回、彼らが現れる含ま
ショー。
行列のウィキペディアの例は単純ですが、戻り値はまったく異なるようです。
次はSelectPercentile機能は、与えられた割合に応じて、最も重要な機能のリストを返す必要があります:
を選択した機能にXを減らします。
なぜ6743の機能が得られますか? :D
P .:プログラムは89%の精度で動作するようです。
編集:私はPythonと機械学習には新しいので、im fiveのように説明してください。
クロス投稿:http://stats.stackexchange.com/q/245928あなたが詳細に全体のTf-IDFを説明し、以下のリンクを、参照している場合
これは、より便利になります/ 2921、http://stackoverflow.com/q/40595936/781723複数のサイトに同じ質問を投稿しないでください(http://meta.stackexchange.com/q/64068)。誰も時間を無駄にすることなく、それぞれのコミュニティは答えに正直な打撃を与えるべきです。 –