機械学習の超定番!scikit-learnでデータを読み込む方法【サンプルコード有り】

はじめに

今回はPythonの機械学習ライブラリの超定番であるscikit-learnでとりあえずデータを読み込むところまでご紹介します。多くの方がAIに興味をお持ちのことと思いますが、その一方でAIに関するWebの記事や書籍を見ると何やら難しげな数式がたくさん乗っていて投げ出してしまいたくなったことがあるはずです

確かにAIや機械学習の内容を完全に理解するためには大学院レベルの数学やコンピューターサイエンスの学識が必要になるかもしれません。しかし、プログラミングの世界は多くの先人があとに続くものに様々な恩恵を残してくれているものです。

機械学習の世界もご多分にもれず、偉大なる先人たちが小難しい理論にとらわれることなく機械学習の成果を使える状態を提供してくれています。それが今回ご紹介するscikit-learnです。まずは習うより慣れろで、ざっくり使い方を体得してください!

※本記事の内容を実機で試してみたいという方は以下の記事を参考に開発環境をご準備ください
Pythonやるならド定番!Anacondaをサクッと入れて巨人の肩に乗りましょう!
Win10&Anaconda3環境でJupyter Notebookを起動してプログラムを実行する方法
個人情報保護方針及び免責事項

scikit-learnでデータを読み込む本記事の目的

scikit-learnはPythonの機械学習用のモジュールであり、オープンソースプロジェクトとして運営されています。詳しくはリンクを御覧ください

機械学習は昔からあるコンピューターサイエンスの一分野ですが、アカデミックな領域であり、まともに取り組もうとすると非常に高度な学識を要求されます。巷の機械学習を扱う書籍をご覧になっても気づくでしょうが、ふつうに大学学部レベル以上の数学も要求されるので、モデルを完全に理解するのは門外漢には至難の業です。

しかし、ご紹介するscikit-learnをつかうと、数理モデルを理解していなくても、必要な変数を指定してやればカンタンに機械学習を行うことが出来ます。今回はそのscikit-learnを使ってデータを読み込むところまでを紹介します。まずは練習用のデータがないと機械学習が始められませんので、機械学習の第一歩を踏み出しましょう!

scikit-learnでデータを読み込む処理の流れ

それでは処理の流れを説明します!

scikit-learnからデータを読み込む

scikit-learnにはすぐに機械学習が始められるようにデータが最初から提供されています。今回はこのデータセットの中からIrisというあやめの花弁などのサイズを集めたデータセットを使用します。

print(iris.DESCR)でデータセットの概要を表示することが出来ます。

読み込んだデータセットをpandasデータフレームに取り込む

pandasというデータフレームを扱うモジュールをインポートし、データをロードします。このpandasにデータフレームとして取り込むことで、データに様々な加工をすることができるようになります。

データの内容を確認する

データの内容を確認します。.head()関数は最初の5行のデータを表示します。.describe()はデータの概要を数値的に表します。

以下が実行結果です。

scikit-learnでデータを読み込むサンプルコード

それではサンプルコードです!

# サンプルデータの読み込み
from sklearn.datasets import load_iris
iris = load_iris()
print(iris.DESCR)

# データフレームに読み込み
import pandas as pd
df = pd.DataFrame(iris.data, columns=iris.feature_names)

# データの内容を確認
display(df.head())
display(df.describe())

おわりに

今回はscikit-learnからデータセットをロードしてpandasのデータフレームに取り込むまでの流れをご説明しました。scikit-learnにはこの他にも様々なデータセットが用意されており、データを揃えなくても機械学習を始めることが出来ます。

データを集めるのは実は結構大変で、その時点からつまずいて学習が進まないということがよくあります。その意味で、最初にデータセットが用意されているのは大変ありがたいと言うことができると思います。

次回以降はpandasに取り込んだデータフレームを使って、いろいろとデータを弄っていきたいと思います!