sklearnのAdaBoostを使う機会がありましたが、デフォルトパラメータのまま使ってみたら性能が悪すぎて驚きました。0.20でclassification_reportの仕様が変わったことに気づきました。基本的な使い方は変わりませんが、それなりに大きな変化になります。0.19の引数と出力のフォーマット。RandomizedSearchCVなるものがあるということを知ったので、使ってみます。うまく使うとグリッドサーチよりよい結果を生むかもしれないということです。scipyの階層型クラスタリングを使う機会がありましたが、使い方がわかりづらいと思ったのでまとめておきます。思っても想像とかけ離れた分離超平面になっていることがままある。この組み合わせは少し怖いということを説明する。irisを分類します。newsgroupsはこのブログでも過去何回か取り上げまたしが、ベクトル化済みのデータを読み込めるfetch_20newsgroups_vectorizedは意図的にスルーしていました。使えるかどうか気になったので、試してみます。OneClassSVMというものがあると知ったので使ってみます。「1クラスSVM?」と思われると思いますが、要するに異常検知・外れ値検出などで使う手法です。以前、3次元のサンプルデータを内挿してmatplotlibでうまくプロットする方法について記事にしました。FeatureAgglomerationは階層的クラスタリングを用いた教師なし次元削減のモデルです。特徴量に対して階層的クラスタリングを行い(つまり通常のサンプルに対するクラスタリングと縦横の向きが入れ替わる)、似ている特徴量同士をマージします。sklearnで書籍やネットに掲載されているコードを実行した結果、表題のようなエラーが出ることがある。データ前処理カテゴリデータをone-hot表現として取り扱うという方法は、機械学習などでは一般的に行われます。SparsePCAというものがあることを知ったので、使ってみようと思います。その名の通り、スパースな主成分分析です。スパースな主成分ベクトルを推定します。Elimination)というものがあることを知ったので試してみたいと思いました。RFEは特徴選択の手法で、その名の通り再帰的にモデルを再構築しながら特徴を選択するという特色があります。CountVectorizer注意:線形判別分析(LinearDiscriminantAnalysis)ではありません。トピックモデルのLDAです。最近回帰モデルで遊んでいるのですが、決定木系の回帰に好印象が持てなくなりました。回帰とは名ばかりのカクカクの回帰曲線が出てくることは目に見えています。Rdige、Lassoといえば割と定番の正則化アルゴリズムです。Lassoはスパースな解を得てくれるという触れ込みです。なんだかカッコいいので、昔から触ってみたいと思っていました。やれ、RBFカーネルだ、決定木だ、ニューラルネットだ、深層学習だ、と流行り物に乗っかって、言うことを聞かない非線形な分類器をなんとかねじ伏せている私たちは、きっと心が荒んでいるのでしょう。estimate、OOB誤り率)を見ることができます。交差検証と同様に汎化性能を見れます。語り尽くされた感のあるネタですが、TF-IDFで文書の重要な単語(重要語、あるいは特徴語)を抽出してみます。numpyとsklearnを使うと、10行程度のコードで実現できるので簡単です。機械学習でパラメータ・チューニングをしたい場合、グリッドサーチを行うのが定石とされています。sklearnではグリッドサーチはGridSearchCVで行うことができます。VarianceThresholdは名前の通り、分散がしきい値以下の特徴量を捨てます。これといってすごいところはありませんが、気楽に使えそうなので試してみました。sklearnのLabelEncoderとOneHotEncoderは、カテゴリデータを取り扱うときに大活躍します。機械学習pythonの環境構築に悩む人たちのために、環境構築についてまとめておきます。前回の記事ではMeanShiftクラスタリングを試してみました。このMeanShiftにはbandwidthというパラメータがあり、クラスタ数を決定する上で重要な役割を果たしているはずです。MeanShiftはクラスタリングアルゴリズム。クラスタ数を自動で決定してくれるという長所がある。理論的には最急降下法で各クラスタの極大点を探していく感じらしいです。先に断っておくと、class_weightの挙動はモデルによって異なる可能性が十分ある。今回はsklearn.svm.SVCとsklearn.ensemble.RandomForestClassifierのドキュメントを参照して、一応基本的に共通する部分を抜き出した。データ前処理sklearnで「何もしない」モデルがあると、チョー便利。やって使うかというと、具体的には以前の記事で書いたFeatureUnionと組み合わせて使う。単一の入力データから、複数の処理方法で幾つもの異なる特徴量が得られる・・・というシチュエーションがある。この場合、「どれが最善か」という観点でどれか一つを選ぶこともできるけど、そうすると他の特徴量の情報は捨ててしまうことになる。回帰分析を行う際、複数の目的変数に対して回帰をしたい場合があります。普通のモデルではできないのでちょっと面食らいますが、やり方は色々あるようです。一般的な機械学習のアルゴリズムでは、パラメタチューニングにはグリッドサーチ・交差検証を組み合わせて使うのが割と普通だと思います。sklearnにはそれ専用のGridSearchCVというクラスまで用意されています。このブログについてスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。