Pythonプログラマーの場合、または機械学習を本番システムに導入するために利用できる強力なツールキットを探している場合、Scikit-learnはチェックアウトする必要のあるライブラリです。
Scikit-learnは、機械学習を初めて使用する場合でも、すぐに起動して実行したい場合でも、最新のMLリサーチツールを利用したい場合でも、十分に文書化されており、簡単に使用できます。
これにより、わずか数行のコードで予測データモデルを構築し、そのモデルを使用してデータを高レベルのライブラリとして適合させることができます。 柔軟性があり、他の製品とうまく連携します Pythonライブラリ チャート作成用のMatplotlib、配列ベクトル化用のNumPy、データ視覚化用のpandasなどです。
このガイドでは、それが何であるか、どのように使用できるか、そしてその長所と短所についてすべて知ることができます。
何ですか シキット学習?
Scikit-learn(sklearnとも呼ばれます)は、さまざまな統計モデルと機械学習のセットを提供します。 ほとんどのモジュールとは異なり、sklearnはCではなくPythonで開発されています。Pythonで開発されているにもかかわらず、sklearnの効率は、高性能の線形代数と配列操作にNumPyを使用していることに起因しています。
Scikit-Learnは、GoogleのSummer of Codeプロジェクトの一環として作成され、それ以来、世界中の何百万人ものPython中心のデータサイエンティストの生活を簡素化してきました。 シリーズのこのセクションでは、ライブラリの提示とXNUMXつの要素、つまりデータセット変換に焦点を当てます。これは、予測モデルを開発する前に実行する重要で重要なステップです。
ライブラリはSciPy(Scientific Python)に基づいており、scikit-learnを使用する前にインストールする必要があります。 このスタックには、次のアイテムが含まれています。
- NumPy:Pythonの標準的なn次元配列パッケージ
- SciPy:これは科学計算のための基本的なパッケージです
- パンダ:データ構造と分析
- Matplotlib:強力な2D/3Dプロットライブラリです
- Sympy:記号数学
- IPython:改善されたインタラクティブコンソール
Scikit-learnライブラリのアプリケーション
Scikit-learnは、高度なデータ分析とマイニング機能を備えたオープンソースのPythonパッケージです。 データサイエンスプロジェクトを最大限に活用するのに役立つ多数の組み込みアルゴリズムが付属しています。 Scikit-learnライブラリは次のように使用されます。
1。 回帰
回帰分析は、XNUMXつ以上の変数間の関係を分析および理解するための統計手法です。 回帰分析を行うために使用される方法は、関連する要素、無視される可能性のある要素、およびそれらがどのように相互作用するかを判断するのに役立ちます。 たとえば、回帰手法を使用して、株価の振る舞いをよりよく理解することができます。
回帰アルゴリズムには次のものがあります。
- 直線回帰
- リッジ回帰
- ラッソ回帰
- デシジョンツリー回帰
- ランダムフォレスト
- サポートベクターマシン(SVM)
2。 分類
分類方法は、トレーニングデータを使用して新鮮な観察のカテゴリを識別する教師あり学習アプローチです。 分類のアルゴリズムは、与えられたものから学習します データセット または観測値を作成し、追加の観測値を多くのクラスまたはグループのXNUMXつに分類します。 たとえば、電子メール通信をスパムとして分類するために使用できます。
分類アルゴリズムには次のものがあります。
- ロジスティック回帰
- K最近傍法
- サポートベクターマシン
- 決定木
- ランダムフォレスト
3.クラスタリング
Scikit-learnのクラスタリングアルゴリズムは、同様のプロパティを持つデータをセットに自動的に配置するために使用されます。 クラスタリングは、同じグループ内のアイテムが他のグループ内のアイテムとより類似するように、アイテムのセットをグループ化するプロセスです。 たとえば、顧客データは場所に基づいて分離される場合があります。
クラスタリングアルゴリズムには次のものがあります。
- DBスキャン
- K平均
- ミニバッチK-Means
- スペクトルクラスタリング
4.モデルの選択
モデル選択アルゴリズムは、データサイエンスイニシアチブで使用するための最適なパラメーターとモデルを比較、検証、および選択するための方法を提供します。 データが与えられると、モデルの選択は、候補モデルのグループから統計モデルを選択する際の問題です。 最も基本的な状況では、既存のデータ収集が考慮されます。 ただし、取得したデータがモデル選択の問題に適しているように、タスクには実験計画法も含まれる場合があります。
パラメータを調整することで精度を向上させることができるモデル選択モジュールには、次のものがあります。
- 交差検証
- グリッド検索
- メトリック
5.次元削減
低次元表現が元のデータのいくつかの重要な側面を保持するように、高次元空間から低次元空間にデータを転送することは、理想的にはその固有の次元に近く、次元削減として知られています。 次元数が減少すると、分析用の確率変数の数が減少します。 たとえば、範囲外のデータは、視覚化の効率を向上させるとは見なされない場合があります。
次元削減アルゴリズムには、次のものが含まれます。
- 機能選択
- 主成分分析(PCA)
Scikit-learnのインストール
Scikit-learnを使用する前に、NumPy、SciPy、Matplotlib、IPython、Sympy、およびPandasをインストールする必要があります。 コンソールからpipを使用してインストールしましょう(Windowsでのみ機能します)。
必要なライブラリをインストールしたので、Scikit-learnをインストールしましょう。
特徴
Scikit-learnは、sklearnとも呼ばれ、機械学習モデルと統計モデリングを実装するためのPythonツールキットです。 これを使用して、回帰、分類、クラスタリング用の複数の機械学習モデル、およびこれらのモデルを評価するための統計ツールを作成できます。 また、次元削減、特徴選択、特徴抽出、アンサンブルアプローチ、および組み込みデータセットも含まれます。 これらの各品質を一度にXNUMXつずつ調査します。
1.データセットのインポート
Scikit-learnには、アイリスデータセット、住宅価格データセット、タイタニックデータセットなど、多数の事前構築されたデータセットが含まれています。 これらのデータセットの主な利点は、把握が簡単で、MLモデルをすぐに開発するために使用できることです。 これらのデータセットは初心者に適しています。 同様に、sklearnを使用して追加のデータセットをインポートできます。 同様に、これを使用して追加のデータセットをインポートできます。
2.トレーニングとテストのためのデータセットの分割
Sklearnには、データセットをトレーニングセグメントとテストセグメントに分割する機能が含まれていました。 予測パフォーマンスを公平に評価するには、データセットを分割する必要があります。 トレインおよびテストデータセットに含めるデータの量を指定する場合があります。 トレインテストスプリットを使用してデータセットを分割し、トレインセットがデータの80%を構成し、テストセットが20%を構成するようにしました。 データセットは次のように分割できます。
3.線形回帰
線形回帰は、教師あり学習ベースの機械学習手法です。 回帰ジョブを実行します。 独立変数に基づいて、回帰は目標予測値をモデル化します。 これは主に、変数と予測の間のリンクを決定するために使用されます。 異なる回帰モデルは、従属変数と独立変数の間で評価する接続のタイプ、および使用される独立変数の数の点で異なります。 次のように、sklearnを使用して線形回帰モデルを簡単に作成できます。
4.ロジスティック回帰
一般的な分類アプローチはロジスティック回帰です。 これは、多項式および線形回帰と同じファミリーに属し、線形分類器ファミリーに属しています。 ロジスティック回帰の結果は理解しやすく、計算も迅速です。 線形回帰と同じように、ロジスティック回帰は教師あり回帰手法です。 出力変数はカテゴリ型であるため、それが唯一の違いです。 患者が心臓病を患っているかどうかを判断できます。
スパム検出などのさまざまな分類の問題は、ロジスティック回帰を使用して解決できます。 糖尿病の予測、消費者が特定の製品を購入するかライバルに切り替えるか、ユーザーが特定のマーケティングリンクをクリックするかどうかを決定するなど、多くのシナリオはほんの一例です。
5.ディシジョンツリー
最も強力で広く使用されている分類および予測手法は、決定木です。 デシジョンツリーはフローチャートのようなツリー構造であり、各内部ノードは属性のテストを表し、各ブランチはテストの結論を表し、各リーフノード(ターミナルノード)はクラスラベルを保持します。
従属変数が独立変数と線形関係にない場合、つまり線形回帰で正しい結果が得られない場合、決定木は有益です。 DecisionTreeRegression()オブジェクトは、回帰に決定木を利用するために同様の方法で使用できます。
6.ランダムフォレスト
ランダムフォレストは 機械学習 回帰と分類の問題を解決するためのアプローチ。 複数の分類器を組み合わせて複雑な問題を解決する手法であるアンサンブル学習を利用します。 ランダムフォレスト法は、多数の決定木で構成されています。 ローン申請の分類、不正行為の検出、病気の発生の予測に使用できます。
7.混同行列
混同行列は、分類モデルのパフォーマンスを説明するために使用されるテーブルです。 次のXNUMXつの単語は、混同行列を調べるために使用されます。
- 真陽性:モデルが良好な結果を予測し、それが正しかったことを意味します。
- 真のネガティブ:モデルが悪い結果を予測し、それが正しかったことを意味します。
- 誤検知:モデルが良好な結果を期待していたことを意味しますが、実際にはマイナスでした。
- False Negative:モデルがネガティブな結果を期待しているのに対し、結果は本当にポジティブであることを意味します。
混同行列の実装:
メリット
- 使い方は簡単です。
- Scikit-learnパッケージは非常に適応性が高く便利であり、消費者行動の予測、ニューロイメージの開発などの現実世界の目標に役立ちます。
- アルゴリズムをプラットフォームに接続したいユーザーは、Scikit-learnWebサイトで詳細なAPIドキュメントを見つけることができます。
- 多数の著者、共同編集者、および世界中の大規模なオンラインコミュニティが、Scikit-learnを最新の状態に保ちます。
デメリット
- これは、詳細な調査には理想的なオプションではありません。
まとめ
Scikit-learnは、すべてのデータサイエンティストが十分に理解し、ある程度の経験を積むための重要なパッケージです。 このガイドは、sklearnを使用したデータ操作に役立ちます。 Scikit-learnには、データサイエンスの冒険を進めていくうちに、さらに多くの機能が見つかります。 コメントであなたの考えを共有してください。
コメントを残す