scikit-learnのRandomForestClassifierを使うことで,分類問題をランダムフォレストで解くことが出来ます. ランダムフォレストの特徴として,同じクラスに属するデータから,クラスを代表する属性値とは離れた値をもつ外れ値(outlier)のデータを特定することができます. 公式のscikit-learnでは外れ値を算出する機能がないため,今回はoutlierを出力するスクリプトを作成しました. (ちなみにRでは算出が可能です) 外れ値と求めるためには,scikit-learnのRandomForestClassifierのメソッドにあるapplyを使用します. これはランダムフォレストアルゴリズムで作成した各決定木にバッチの入力データを与えた時,各データがどの葉に含まれるかを葉のインデックスで返してくるメソッドです. http://scikit-learn.org/
![scikit-learnのRandomForestClassifierで外れ値を特定する - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/dd93e90ba1864fb1d19400c896d9c41685ceaf36/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9c2Npa2l0LWxlYXJuJUUzJTgxJUFFUmFuZG9tRm9yZXN0Q2xhc3NpZmllciVFMyU4MSVBNyVFNSVBNCU5NiVFMyU4MiU4QyVFNSU4MCVBNCVFMyU4MiU5MiVFNyU4OSVCOSVFNSVBRSU5QSVFMyU4MSU5OSVFMyU4MiU4QiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnM9ZTEzM2IwZDgwY2U4ZmNlMDVhOTY0NDM4NzIxYjE5Mzk%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDB5aDBzaCZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9MzFlNDBlMmJiNDYyNTFjYmMzMGY5MzVlMzJmZTI3Y2Y%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3D18cea86b987cb9873e5eba1bd281eb07)