テキスト文書から特徴抽出を学習しており、this tutorialが見つかりました。 3行目の末尾にあるnp.asarray(doc_counts.sum(axis=0)).ravel()
が返ってくるのを理解できませんでした。私はこれをチェックし、数字のリストを返しました。私はそれが用語 - 頻度だと思うが、私は確信していない。Pythonのlambda関数で何が起こっていますか?
そして、idx: -1 * idx[1]
が何をしているのですか?特に-1を掛けてください。 zip()
関数にアクセス要素に関連付けられた.idx
があるが、見つからなかったかどうかを確認しました。
コード:
import numpy as np
from sklearn.feature_extraction.text import CountVectorizer
docs = <load your docs as an iterable>
count_vect = CountVectorizer()
doc_counts = count_vect.fit_transform(docs)
word_counts = zip(count_vect.get_feature_names(), np.asarray(doc_counts.sum(axis=0)).ravel())
word_counts = sorted(word_counts, key=lambda idx: -1 * idx[1])
# Display top 100 words by frequency
word_counts[:100]
誰かがこれら二つのラインを説明してもらえます。
ありがとうございます。
'word_counts'の各項目' idx'は '-1 * idx [1]'のようにソートされます。 – timgeb
私は本当にこの質問に投票して下さった動機を理解していません。それは***の投票ボタン****をクリックすることが質問に答えるよりも簡単で、初心者をSOから遠ざけることができるからですか? –
@OmPrakashあなたが単純なGoogle検索で簡単に答えられる質問でこのサイトを混乱させているので、下落はあります。 ["lambdaはソートされたpythonで何をするのですか"](https://stackoverflow.com/questions/8966538/syntax-behind-sortedkey-lambda) – gobrewers14