静かなる名辞

pythonとプログラミングのこと

特徴抽出

【python】sklearnのVarianceThresholdを試してみる

はじめに VarianceThresholdは名前の通り、分散がしきい値以下の特徴量を捨てます。sklearn.feature_selection.VarianceThreshold — scikit-learn 0.19.1 documentation これといってすごいところはありませんが、気楽に使えそうなので試してみました。 目次…

sklearnのLabelEncoderとOneHotEncoderの使い方

はじめに sklearnのLabelEncoderとOneHotEncoderは、カテゴリデータを取り扱うときに大活躍します。シチュエーションとしては、 なんかぐちゃぐちゃとカテゴリデータがある特徴量をとにかくなんとかしてしまいたい 教師ラベルがカテゴリデータなので数値ラベ…

【python】sklearnで「何もしない」モデルがほしい

sklearnで「何もしない」モデルがあると、チョー便利。個人的にはそう思う。 どうやって使うかというと、具体的には前の記事で書いたFeatureUnionと組み合わせて使う。 参考:【python】複数の特徴をまとめるFeatureUnion - 静かなる名辞 たとえば、100次元…

【python】複数の特徴をまとめるFeatureUnion

単一の入力データから、複数の処理方法で幾つもの異なる特徴量が得られる・・・というシチュエーションがある。 この場合、「どれが最善か」という観点でどれか一つを選ぶこともできるけど、そうすると他の特徴量の情報は捨ててしまうことになる。総合的な性…

【python】tfidfは分類精度を向上させるのか?→向上しなかった

目次 はじめに――長年の疑問 検証 結果 tf-idfは死んだのか? まとめ はじめに――長年の疑問 自然言語処理でテキスト分類などに、よくtf-idfが使われます(最近はそうでもないのかもしれないが)。一般には、tf-idfを使うことで分類精度の向上効果があると認識…

【python】sklearnのCountVectorizerの使い方

sklearnのCountVectorizerを使うとBoW(Bag of Words)の特徴量が簡単に作れます。ただし、指定するパラメタが多かったり、デフォルトで英語の文字列を想定していたりして若干とっつきづらい部分もあります。 この記事ではCountVectorizerの使い方を簡単に説明…

【python】sklearnのPipelineを使うとできること

機械学習では、何段もの前処理をしてから最終的な分類や回帰のアルゴリズムに入力するということがよくあります。前処理にはけっこう泥臭い処理も多く、leakageの問題なども絡んできます。はっきり言って自分で書こうとすると面倒くさいです。 こういう問題…

【python】ランダムフォレストの特徴重要度で特徴選択を試す

最終更新:2018-04-02 はじめに RandomForestでは特徴重要度を計算できる、というのは結構有名な話です。では、これはどの程度実用的なのでしょうか? pythonのsklearnを使い、簡単に実験して確かめてみました。 目次 はじめに 実験条件 実験 実装 気を配っ…

【python】pythonでn-gramの特徴量を作る

○○ってパッケージでできるよ! という意見もあると思いますが、ちょっと挙動を変えたくなる度にパッケージのhelp読んだり、微妙に柔軟性のないパッケージに苦しむ(たとえば文末の句点と次の文の最初の文字は繋げないで欲しいのにできない、とか)くらいなら…