はじめに
scikit-learn(sklearn)を使って機械学習を始めるにあたり、最初に押さえておくべきことが「ライブラリのインストール」と「データの準備」です。
本記事では、sklearnをインストールする方法と、学習用のデータセットをどう扱うか、さらにpandasと連携したデータ確認の基本までを、初心者向けにやさしく解説します。
scikit-learnのインストール方法
方法①:pipを使う(最も基本)
pip install scikit-learn方法②:condaを使う(Anacondaユーザー向け)
conda install scikit-learn方法③:Google Colabで利用する
Google Colab はすでに scikit-learn がプリインストールされています。そのため、特にインストールせずともすぐに使い始めることができます。
バージョンを確認するには:
import sklearn
print(sklearn.__version__)Google Colab では、以下のようにすぐにコードを実行できます:
from sklearn.datasets import load_iris
iris = load_iris()Colabを使うことで環境構築の手間を減らし、すぐに学習に取り組めるのがメリットです。
内蔵データセットの読み込み
scikit-learnには、練習用の小規模な有名データセットがいくつか内蔵されています。
主な内蔵データセット
| 名前 | 内容 | タスク例 |
|---|---|---|
load_iris() | アヤメの品種分類 | 分類 |
load_wine() | ワインの成分データ | 分類 |
load_diabetes() | 糖尿病の進行度 | 回帰 |
load_digits() | 手書き数字(8×8画像) | 分類 |
例:Irisデータセットを読み込む
from sklearn.datasets import load_iris
iris = load_iris()
print(iris.keys())data:説明変数(特徴量)target:目的変数(正解ラベル)feature_names:各列の名前target_names:分類ラベル名
pandasで表形式にして確認する
scikit-learnのデータはNumPy配列形式なので、見やすくするためにpandasでDataFrame化するのが一般的です。
import pandas as pd
import numpy as np
from sklearn.datasets import load_iris
iris = load_iris()
df = pd.DataFrame(iris.data, columns=iris.feature_names)
df["target"] = iris.target
print(df.head())これで、Excelのような感覚でデータを確認・加工することができます。
データを訓練用とテスト用に分ける
from sklearn.model_selection import train_test_split
X = iris.data
y = iris.target
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)test_size=0.2:20%をテストデータにrandom_state:シード値(再現性のため)
おわりに
scikit-learnを使う準備として、ライブラリのインストールと内蔵データの扱い、pandasとの連携までを解説しました。
Google Colabを使えば環境構築不要で始められるため、初心者の方には特におすすめです。
次回は、いよいよ分類モデル「K近傍法(KNN)」を使って、実際に分類予測を行ってみましょう。
練習問題
Q1. 次のうち、scikit-learnが内蔵しているデータセットはどれ?(複数選択)
- ①
load_iris() - ②
load_digits() - ③
load_cancer() - ④
load_boston()
※(2020年以降、load_boston()は非推奨)
Q2. pandasを使ってDataFrameに変換するメリットを1つ挙げてください。
・・・
Q3. train_test_split関数で random_state を指定する目的は何ですか?
- A. 学習速度を上げる
- B. 精度を改善する
- C. 再現性を保つ
🔗 機械学習シリーズ 関連リンク
▶ 入門〜分類編
- 【入門】scikit-learnとは?機械学習の全体像と学習の流れ
- 【準備】sklearnのインストールとデータセットの扱い方
- 【分類①】K近傍法(KNN)を使ってシンプルな分類をしてみよう
- 【分類②】ロジスティック回帰でスパム判定をしてみよう
- 【分類③】決定木・ランダムフォレストの特徴と可視化方法
- 【分類④】混同行列・精度・再現率・F1スコアの正しい使い方
- 【モデル比較】SVM・決定木・ランダムフォレストの精度と解釈性の違い

コメント