このガイドでは、Python初心者が機械学習を学ぶために必要なライブラリを完全網羅しています。おすすめ度・学習難易度・使い分けまで、迷わず選択できるよう詳しく解説します。
| 用途 | ライブラリ | 評価 | 使用場面 |
|---|---|---|---|
| ハイパーパラメータ最適化 | optuna | ⭐⭐⭐⭐ | 自動最適化の定番 |
| 異常検知 | pyod | ⭐⭐⭐ | 包括的な異常検知手法 |
| 特徴量エンジニアリング | feature-engine | ⭐⭐⭐ | scikit-learnの拡張 |
| 大規模データ | Dask | ⭐⭐⭐ | pandas/scikit-learnの分散版 |
| GPU加速 | cuML | ⭐⭐ | RAPIDS ecosystem |
学習順序: NumPy → pandas → matplotlib → scikit-learn
追加スキル: 勾配ブースティング、ハイパーパラメータ最適化
専門分野: ディープラーニング、大規模データ、特殊手法
| 手法 | 主要ライブラリ | クラス/関数名 | 特徴 |
|---|---|---|---|
| 線形回帰 | scikit-learn | LinearRegression |
最も基本的な回帰手法 |
| statsmodels | OLS |
統計的な詳細情報も提供 | |
| NumPy | np.polyfit |
多項式回帰にも対応 | |
| 回帰木 | scikit-learn | DecisionTreeRegressor |
非線形関係を捉える |
| XGBoost | XGBRegressor |
勾配ブースティング | |
| LightGBM | LGBMRegressor |
高速な勾配ブースティング | |
| CatBoost | CatBoostRegressor |
カテゴリ変数に強い | |
| ニューラルネットワーク | TensorFlow/Keras | Sequential, Dense |
ディープラーニング |
| PyTorch | nn.Module, nn.Linear |
研究用途に人気 | |
| scikit-learn | MLPRegressor |
軽量なニューラルネット |
| 手法 | 主要ライブラリ | クラス/関数名 | 特徴 |
|---|---|---|---|
| 決定木 | scikit-learn | DecisionTreeClassifier |
解釈しやすい |
| XGBoost | XGBClassifier |
アンサンブル学習 | |
| LightGBM | LGBMClassifier |
高速処理 | |
| k近傍法 | scikit-learn | KNeighborsClassifier |
シンプルで直感的 |
| FAISS | IndexFlatL2 |
大規模データ用 | |
| ロジスティック回帰 | scikit-learn | LogisticRegression |
確率的な解釈が可能 |
| statsmodels | Logit |
統計的詳細情報 | |
| サポートベクターマシン | scikit-learn | SVC, LinearSVC |
高次元データに強い |
| scikit-learn | SGDClassifier |
大規模データ用 | |
| ベイズ分類器 | scikit-learn | GaussianNB |
ガウシアンナイーブベイズ |
| scikit-learn | MultinomialNB |
テキスト分類に適用 | |
| scikit-learn | BernoulliNB |
バイナリ特徴量用 |
| 手法 | 主要ライブラリ | クラス/関数名 | 特徴 |
|---|---|---|---|
| k-means法 | scikit-learn | KMeans |
最も基本的なクラスタリング |
| scikit-learn | MiniBatchKMeans |
大規模データ用の高速版 | |
| KMeans-GPU | kmeans_gpu |
GPU加速版 | |
| 混合ガウス分布 | scikit-learn | GaussianMixture |
確率的クラスタリング |
| scikit-learn | BayesianGaussianMixture |
ベイズ推定版 | |
| PyMC | GaussianMixture |
ベイズ統計モデリング | |
| 階層クラスタリング | scikit-learn | AgglomerativeClustering |
デンドログラム作成可能 |
| SciPy | linkage, dendrogram |
階層構造の詳細分析 | |
| DBSCAN | scikit-learn | DBSCAN |
密度ベースクラスタリング |
| 手法 | 主要ライブラリ | クラス/関数名 | 特徴 |
|---|---|---|---|
| 主成分分析(PCA) | scikit-learn | PCA |
最も基本的な次元削減 |
| scikit-learn | IncrementalPCA |
大規模データ用 | |
| scikit-learn | SparsePCA |
スパース主成分分析 | |
| scikit-learn | KernelPCA |
非線形主成分分析 | |
| t-SNE | scikit-learn | TSNE |
非線形次元削減・可視化 |
| openTSNE | TSNE |
高速版t-SNE | |
| UMAP | umap-learn | UMAP |
高速な非線形次元削減 |
| 因子分析 | scikit-learn | FactorAnalysis |
潜在因子の抽出 |
| 独立成分分析(ICA) | scikit-learn | FastICA |
信号分離 |
| 非負値行列因子分解(NMF) | scikit-learn | NMF |
非負値データの分解 |
| 用途 | ライブラリ | 主な機能 | 推奨度 |
|---|---|---|---|
| データ処理 | pandas | データフレーム操作 | ⭐⭐⭐⭐⭐ |
| NumPy | 数値計算 | ⭐⭐⭐⭐⭐ | |
| Dask | 大規模データ処理 | ⭐⭐⭐ | |
| 可視化 | matplotlib | 基本的なグラフ作成 | ⭐⭐⭐⭐ |
| seaborn | 統計的可視化 | ⭐⭐⭐⭐ | |
| plotly | インタラクティブグラフ | ⭐⭐⭐ | |
| モデル評価・選択 | scikit-learn | metrics, model_selection |
⭐⭐⭐⭐⭐ |
| optuna | ハイパーパラメータ最適化 | ⭐⭐⭐⭐ | |
| 前処理 | scikit-learn | preprocessing |
⭐⭐⭐⭐⭐ |
| feature-engine | 特徴量エンジニアリング | ⭐⭐⭐ | |
| テキスト処理 | gensim | トピックモデリング | ⭐⭐⭐ |
| nltk | 自然言語処理 | ⭐⭐⭐ | |
| spaCy | 高性能NLP | ⭐⭐⭐⭐ | |
| 画像処理 | opencv-python | 画像処理 | ⭐⭐⭐⭐ |
| Pillow | 画像操作 | ⭐⭐⭐ | |
| GPU加速 | cuml | GPU加速機械学習 | ⭐⭐ |
| Rapids | GPU加速データサイエンス | ⭐⭐ |