コラム

Pythonで機械学習を始めるなら:scikit-learn入門

「機械学習」という言葉を聞くと、なんだか難しそう…と感じるかもしれません。でも大丈夫!Pythonのscikit-learn(サイキット・ラーン)を使えば、初心者でも簡単に機械学習の世界に足を踏み入れることができます。

scikit-learnは、Pythonで書かれたオープンソースの機械学習ライブラリです。分類、回帰、クラスタリング、次元削減など、様々な機械学習のタスクをこなすためのツールが豊富に揃っています。しかも、使いやすいように設計されているので、専門的な知識がなくても、基本的な操作をすぐに習得できます。

なぜscikit-learnが初心者におすすめなの?

scikit-learnでできること

scikit-learnは、主に以下のタスクで使用されます。

簡単な例:アヤメの分類

scikit-learnを使って、アヤメの種類(setosa, versicolor, virginica)を分類する簡単な例を見てみましょう。

from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import accuracy_score

# 1. データの準備:scikit-learnに内蔵されたアヤメのデータセットを読み込む
iris = datasets.load_iris()
X = iris.data  # 特徴量(ガクの長さ、ガクの幅、花弁の長さ、花弁の幅)
y = iris.target  # ターゲット(アヤメの種類:0=setosa, 1=versicolor, 2=virginica)

# 2. データの分割:訓練データとテストデータに分割する(7:3の割合)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

# 3. モデルの選択:K近傍法(K-Nearest Neighbors)を選択する
knn = KNeighborsClassifier(n_neighbors=3)  # 近傍の数(k)を3に設定

# 4. モデルの学習:訓練データを使ってモデルを学習させる
knn.fit(X_train, y_train)

# 5. モデルの評価:テストデータを使ってモデルの性能を評価する
y_pred = knn.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)

print(f"正解率:{accuracy}")

このコードでは、まずdatasets.load_iris()でアヤメのデータセットを読み込みます。次に、train_test_split関数でデータを訓練用とテスト用に分割します。KNeighborsClassifierは、分類アルゴリズムの一つで、新しいデータがどのグループに属するかを、最も近いK個のデータポイントに基づいて予測します。knn.fit()で訓練データを使ってモデルを学習させ、knn.predict()でテストデータの種類を予測します。最後に、accuracy_scoreで予測の正解率を計算し、結果を表示します。

さあ、scikit-learnを始めよう!

scikit-learnは、Pythonで機械学習を始めるための強力なツールです。このコラムで紹介したように、シンプルなAPIと豊富なドキュメントのおかげで、初心者でも比較的簡単に学習できます。

まずは、pip install scikit-learnでライブラリをインストールし、公式ドキュメントやチュートリアルを参考に、色々なアルゴリズムを試してみてください。きっと、機械学習の面白さに気づくはずです!



< Pandas
seaborn >



コラム一覧

if文
for文
関数
配列
文字列
正規表現
ファイル入出力
openpyxl
Numpy
Matplotlib
Pandas
scikit-learn
seaborn
beautifulsoup
tkinter
OpenCV
pygame
メイン関数
自作ライブラリ
画像処理
機械学習
スクレイピング
データ分析
グラフ作成
API
可読性
デバッグ
例外処理
コメント
組み込み関数
flask
学び方
ビット演算
マルチスレッドプログラミング
参照渡し
pyenv
エディタ
生成AI
画像認識
Streamlit
lambda式
物理演算シミュレーション
命名規則
遺伝的アルゴリズム
関数型プログラミング
オブジェクト指向
ツリー図