LoginSignup
11
21

More than 5 years have passed since last update.

scikit-learn入門

Last updated at Posted at 2018-07-29

イントロ

今回のレッスンはscikit-learnという機械学習用のライブラリについての概要の説明と実際の使い方を簡単に紹介したいと思います。

準備

コンソールやターミナルから下記のコマンドを実行して、ライブラリを取得するだけです。

pip install scikit-learn

公式サイト

一般的な評価

下記の記事にもある通り、機械学習のライブラリの中ではやはり随一の知名度を誇り、アルゴリズムのバラエティにも富んでいます。
また、使い方も非常に簡単で、理論を勉強しながら実際にそれを現実的な問題に適用してみるということを簡単に行えるようにしてくれるライブラリです。
https://www.quora.com/What-are-the-best-open-source-machine-learning-libraries-written-in-Python

機械学習のモデル構築プロセス

ml.png

画像引用:https://www.cloudpulsestrat.com/posts/googles-new-cloud-automl-broader-role-automated-machine-learning-ai

  1. データ・課題の整理をする
    ちょっと長くなってしまいますが、一番大事な部分ですので書きます。 まず、機械学習を使って解きたい問題や実現したいサービスを定義してみます。データはあるんだけど何をして良いかわからない、という場合もあるかもしれません。例えばですが、未来の株価の予測、画像や音声の判別、欠損データの補間、異常値の特定など、これらはすべて未知の事象に対する予測問題として定義することができます。 一旦課題が決まれば、次第に必要なデータは明らかになってきます。例えば、明日の東京都全体の電力需要を予測したいのであれば、過去の需要データに加え、その日の天気や曜日の情報(平日or休日)なども予測に役に立つでしょうし、その日に起こる予定のイベントとかも考慮しておいた方が良いかもしれません。この辺りはデータの収集コストと相談する必要もあるかと思います。また、データそのものの収集に伴って、データに関する周辺的な知識(よく知られた法則、物理的な制約など)も色々仕入れておけば、後のモデル構築の段階に役立てられる可能性が高いです。
  2. データ収集
    集めたデータの形式や粒度がバラバラだったりする場合はこの時点で揃えておくのが良いかもしれません。ただし、欠損値の補間や異常値の除去、データサイズの補正などのいわゆる「前処理」をここで行ってしまうと、後段のアルゴリズムに対する情報欠損に繋がる可能性があります。手間とコストを十分に考慮する必要があります。
  3. モデルのトレーニングと評価
    この段階では、1と2を経て行ってきた問題定義とその課題解決をするために収集したデータを用いて実際のモデルを作ることをしていきます。トレーニングといってもまずはどういったモデルを使用していくのかを決める必要があります。一つのモデルで問題が解決できる場合もありますし、いくつかのモデルを使い分けて問題を解決していく場合もあります。例として下記のマイクロソフトの研究がわかりやすいかもしれません。 URL: https://www.microsoft.com/en-us/research/project/deep-reinforcement-learning-goal-oriented-dialogue/ composite-dialogue-1024x459.png ここではチャットボットを作るためのロジックが説明をされてます。音声認識や自然言語理解、ひいては強化学習を用いてuser simulatorを作成して、作成後のモデルの検証やトレーニングを自動化するということなど、決して一つのモデルでは終わっていないことがわかるかと思います。 ここまで大規模なアプリケーションの作成にかかわることは多くはないかもしれませんが、実際の現場ではこういった大きなビジョンの元様々なモデルが使用されています。
  4. モデルのアプリケーション等での適用

基本的なモデルクラスの使い方

  1. モデルインスタンス生成
  2. fitさせる (学習)
  3. predictする (予測)

scikit-learnはAPIが統一されていて、とてもわかりやすいです。

データセット一覧

API 説明      
load_boston   米国ボストン市郊外における地域別の住宅価格 回帰
load_iris    3 種類の品種のアヤメのがく片、花弁の幅および長さ  分類
load_diabetes    糖尿病患者の検査数値と1年後の疾患進行状況  回帰
load_digits    0~9の手書き文字の8×8画像  分類
load_linnerud    成人男性の生理学的特徴と運動能力 回帰
load_wine    3種類のワインの科学的特徴  分類
load_breast_cancer    乳がんの診断結果 分類
11
21
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
21