マガジンのカバー画像

古典機械学習を学ぶ

29
線形回帰、ロジスティック回帰、正則化、決定木、サポートベクトルマシン、クラスタリング、次元削減などの機械学習の仕組みを解説していく予定です。
運営しているクリエイター

#scikitlearn

scikit-learn機械学習㉘パイプラインと便利ツール

前回は、ニューラルネットワークを解説しました。これまで分類タスクを中心として、よく知られた教師あり学習のモデルを紹介してきました。 これらのモデルを使って実験をすると、scikit-learnのモデルはどれも似たようなインターフェースを持っているのがわかります。また、どのモデルを使っても同じような訓練から評価への流れがあります。 # 訓練データとテストデータの準備X_train, X_test, y_train, y_test = ....# モデルの準備model =

scikit-learn機械学習㉗ニューラルネットワーク

前回は、非線形データをSVMのカーネルトリックで分離する実験を行いました。 SVMには、線形カーネル、多項式カーネル、RBFカーネルなどがあり、それぞれ特性が異なるため、最適なカーネルを選ぶにはデータの特徴を深く理解する必要があります。 しかし、これはSVMに限らず、従来の機械学習モデル全般に言えることです。特徴量の設計やモデルの選択は多くの試行錯誤を伴い、複雑なデータに対しては手動での調整が非常に困難になります。 その一方で、ニューラルネットワークは自動的に特徴量を抽

scikit-learn機械学習㉑k-NN実践編

前回は、ノンパラメトリック手法であるk近傍アルゴリズム(k近傍法、k-Nearest Neighbors、k-NN)の紹介をしました。特に、KDツリーの構造について解説しました。今回は、scikit-learn の KNeighborsClassifier を使った実験を行います。 以前に実験したGBC(勾配ブースティング)などと比較してどのような性能を発揮するでしょうか。また、層化サンプリングについても解説します。

scikit-learn機械学習⑯アダブースト実践編

前回は、アダブーストの理論的な側面を紹介しました。今回は、scikit-learnを使って簡単な実験を行います。 今回使うデータセット digits は数字の画像データです。各数字は、8x8ピクセルの画像で、ラベルは0から9までの10個のクラスになります。 以下は、digits からのサンプル画像です。 このような画像を scikit-learnの AdaBoostClassifier で分類します。 まず、いつものように探索的なデータ分析を行います。次に、データセッ

scikit-learn機械学習⑭ランダム・フォレスト実践編

前回は、ランダム・フォレスト(Random Forest)の理論的な側面を解説しました。今回は、scikit-learnを使って実験を行います。 データセットとしては、scikit-learn.datasetsからワイン(wine)を使用します。今回初めて使うデータセットなので、簡単な分析をしてグラフなどを見ていきます。 あとは、いつものようにデータセットを訓練用とテスト用に分割します。訓練用のデータセットにランダム・フォレストをフィットさせます。そして、学習を終えたモデ

scikit-learn機械学習⑫決定木(Decision Tree)実践編

前回は、決定木(Decision Tree)の理論的な側面を解説しました。今回は、scikit-learnを使って実験を行います。 データセットとしては、scikit-learn.datasets からアイリス(iris、アヤメ)を使用します。タスクは、このデータセットに含まれる花の特徴から花の種類を予測することです。ナイーブ・ベイズの実践編でも使ったので、結果を比較できます。 まずは、データセットを訓練用とテスト用に分割します。次に、訓練用のデータセットから決定木を作成

scikit-learn機械学習⑪決定木(Decision Tree)

前回は、ナイーブ・ベイズを実装しました。今回は、決定木(Decision Tree)を解説します。 決定木は、データセットを分割し、木構造を作ります。下図は、アイリス(Iris)のデータセットを使用して訓練された決定木モデルの可視化です。scikit-learnで生成することが出来ます。 詳細は記事の中で解説しますが、この決定木モデルは、花の特徴(花弁とがく片の長さと幅)に基づいて、アイリスの3種類(Setosa、Versicolor、Virginica)に分類しています

scikit-learn機械学習③単純線形回帰:実践編

今回は単純線形回帰をscikit-learnを使って実装します。 scikit-learnは機械学習を行うためのオープンソースのPythonライブラリです。分類、回帰、クラスタリング、次元削減など多様な機械学習タスクをサポートします。 また、豊富な機械学習アルゴリズムだけでなく、データ前処理、モデルのトレーニング、評価、パイプラインの構築など便利な機能が含まれています。 これらの機能は、NumPy、SciPy、Matplotlibなどの他のPython科学計算ライブラリ