2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Python初心者】機械学習の全体整理|モデル・タスク・評価・scikit-learn入門

2
Posted at

Python 3 エンジニア認定データ分析試験の学習を進める中で、出てくる用語や考え方が複雑になってきたため、ここで一度「機械学習の全体像」を整理しておきます。
この記事では、機械学習とは何か?から始まり、モデル、タスク、評価指標、ハイパーパラメータまでを一気に俯瞰します。

① 機械学習とscikit-learnとは?

● 機械学習とは?

データからパターンや規則を学習して、分類や予測を自動で行う仕組みです。
主に以下のような問題を解くために使われます:

  • メールがスパムかどうかを判定する(分類)
  • 商品の売上を予測する(回帰)
  • 顧客を似たグループに分ける(クラスタリング)

● scikit-learnとは?

Pythonで最もよく使われる機械学習ライブラリのひとつです。
特徴:

  • 少ないコードでモデルの構築・評価が可能
  • 分類、回帰、クラスタリング、次元削減すべてに対応
  • 評価指標や前処理もまとめて扱える
from sklearn.linear_model import LinearRegression
model = LinearRegression()
model.fit(X_train, y_train)
y_pred = model.predict(X_test)

② モデルとは?

● モデルの定義

モデルとは、「データの中の法則やパターンを学習し、分類や予測を行うための仕組み」です。

● モデルとタスクの違い

項目 意味 例えるなら
タスク 「何をしたいか?」(目的) ゴール・目的地
モデル 「どうやって解くか?」(手段) 道具・乗り物・戦略

● よく使われる代表的なモデル一覧

モデル名 主な用途 学習タイプ scikit-learnのクラス名例
サポートベクタマシン 分類/回帰 教師あり SVC, SVR
決定木 分類/回帰 教師あり DecisionTreeClassifier, DecisionTreeRegressor
ランダムフォレスト 分類/回帰 教師あり RandomForestClassifier, RandomForestRegressor
線形回帰 回帰 教師あり LinearRegression
ロジスティック回帰 2値分類 教師あり LogisticRegression
主成分分析(PCA) 次元削減 教師なし PCA
k-means クラスタリング 教師なし KMeans
階層的クラスタリング クラスタリング 教師なし AgglomerativeClustering

③ タスクとは?

タスクとは、「モデルを使って何をしたいのか?」という目的そのものです。
大きく教師あり学習と教師なし学習に分かれます。

③-1 教師あり学習(Supervised Learning)

正解ラベルありのデータを使って学習するタイプです。

■ 分類(Classification)

  • データをカテゴリに分類する
  • 例:メールがスパムかどうかを判定
種類
2値分類 YES/NO、正/負 など
多クラス分類 数字認識(0〜9)、品種分類など

主なモデル:

  • SVC
  • DecisionTreeClassifier
  • RandomForestClassifier
  • LogisticRegression

■ 回帰(Regression)

  • 数値(連続値)を予測する
  • 例:売上や温度の予測

主なモデル:

  • LinearRegression
  • SVR
  • RandomForestRegressor
  • DecisionTreeRegressor

③-2 教師なし学習(Unsupervised Learning)

正解ラベルなしのデータを学習するタイプです。

■ クラスタリング(Clustering)

  • 似たもの同士を自動でグループ分け
  • 例:顧客タイプを分類する

主なモデル:

  • KMeans
  • AgglomerativeClustering

■ 次元削減(Dimensionality Reduction)

  • 特徴量の数を減らして扱いやすくする
  • 例:データを2次元に圧縮して可視化

主なモデル:

  • PCA(主成分分析)

④ 評価指標(モデルの性能を測るもの)

モデルがどれだけうまく機能しているかを測るための基準です。

分類モデルの評価指標

  • 正解率(Accuracy)
  • 適合率(Precision)
  • 再現率(Recall)
  • F値(F1-score)
  • ROC曲線・AUCスコア
  • 混合行列(Confusion Matrix)
from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score

回帰モデルの評価指標

  • 平均二乗誤差(MSE)
  • 平均絶対誤差(MAE)
  • 決定係数(R²)
from sklearn.metrics import mean_squared_error, r2_score

クラスタリングの評価指標

  • シルエットスコア(クラスタのまとまり具合)
  • エルボー法(適切なクラスタ数の確認)

⑤ ハイパーパラメータ(事前に決める設定値)

ハイパーパラメータとは、モデル学習の前に手動で設定する必要のあるパラメータです。

● 例

モデル ハイパーパラメータの例
決定木 max_depth, min_samples_split
SVM C, kernel
ランダムフォレスト n_estimators, max_features
k-means n_clusters
PCA n_components(主成分数)

● ハイパーパラメータの調整方法

  • グリッドサーチ(GridSearchCV
  • 交差検証(StratifiedKFold など)
from sklearn.model_selection import GridSearchCV

おわりに

これまでの記事で主要なモデル(SVM、決定木、ランダムフォレスト、線形回帰、PCA、クラスタリングなど)の使い方や特徴についてはある程度掘り下げてきたため、本記事では機械学習の全体像を再整理することに重点を置きました。

モデル・タスク・評価・ハイパーパラメータといった要素を構造的に整理することで、学習内容がより定着しやすくなると感じています。

今後は必要に応じて補足や横断的な整理(比較・活用例など)を中心に扱っていければと思います。

2
0
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
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?