データサイエンス プロジェクトに Scikit-learn Python ライブラリを使用する方法

データサイエンス プロジェクトに Scikit-learn Python ライブラリを使用する方法

[[246038]]

柔軟で多様な Python ライブラリは、データ分析とデータマイニングのための強力な機械学習ツールを提供します。

Scikit-learn Python ライブラリは 2007 年に最初にリリースされ、さまざまな機械学習やデータ サイエンスの問題を解決するためによく使用されています。この多用途のライブラリは、クリーンかつ一貫性のある効率的な API と包括的なオンライン ドキュメントを提供します。

Scikit-learn とは何ですか?

Scikit-learn は、強力なデータ分析およびデータマイニング ツールを備えたオープン ソースの Python ライブラリです。 BSD ライセンスの下で利用可能であり、次の機械学習ライブラリ上に構築されています。

  • NumPy 、多次元配列と行列を操作するためのライブラリです。また、さまざまな計算を実行するために使用できる数学関数の広範なコレクションも備えています。
  • SciPy 、技術的な計算タスクを実行するためのライブラリのエコシステムです。
  • さまざまなチャートやグラフを描画するためのライブラリ、 Matplotlib

Scikit-learn は、データ サイエンス プロジェクトで十分に活用できる幅広い組み込みアルゴリズムを提供します。

Scikit-learn ライブラリを使用する主な方法は次のとおりです。

1. 分類

分類ツールは、提供されたデータに関連付けられたカテゴリを識別します。たとえば、電子メールをスパムかそうでないか分類するために使用できます。

Scikit-learn の分類アルゴリズムには次のものがあります。

  • サポートベクターマシンサポートベクターマシン(SVM)
  • 最も近い最も近い隣人
  • ランダムフォレストランダムフォレスト

2. 回帰

回帰では、入力データと出力データの関係を理解し​​ようとするモデルを作成します。たとえば、回帰ツールを使用すると株価の動きを理解できます。

回帰アルゴリズムには次のものがあります。

  • サポートベクターマシンサポートベクターマシン(SVM)
  • リッジ回帰リッジ回帰
  • 投げ縄

3. クラスタリング

Scikit-learn クラスタリング ツールは、類似した特性を持つデータを自動的にグループ化するために使用されます。 たとえば、顧客データは場所に基づいてセグメント化できます。

クラスタリング アルゴリズムには次のものがあります。

  • K平均法
  • スペクトルクラスタリングスペクトルクラスタリング
  • 平均シフト

4. 次元削減

次元削減により、分析に使用されるランダム変数の数が削減されます。たとえば、周辺データは視覚化の効率を向上させるために考慮されない場合があります。

次元削減アルゴリズムには以下のものがあります。

  • 主成分分析主成分分析(PCA)
  • 特徴選択特徴選択
  • 非負行列分解非負行列分解

5. モデルの選択

モデル選択アルゴリズムは、データ サイエンス プロジェクトで使用する最適なパラメーターとモデルを比較、検証、選択するためのツールを提供します。

パラメータ調整によって精度を向上できるモデル選択モジュールには次のものがあります。

  • グリッド検索グリッド検索
  • クロス検証クロス検証
  • 索引メトリクス

6. 前処理

Scikit-learn 前処理ツールは、データ分析中の特徴抽出と正規化において非常に重要です。 たとえば、これらのツールを使用して、テキストなどの入力データを変換し、その特性を分析に適用できます。

前処理モジュールには以下が含まれます。

  • 前処理
  • 特徴抽出

Scikit-learn ライブラリの例

簡単な例を使って、データ サイエンス プロジェクトで Scikit-learn ライブラリを使用する方法を説明しましょう。

Scikit-learn ライブラリに含まれている Iris flower データセットを使用します。 アイリスの花のデータセットには、3 種類の花に関する 150 の詳細が含まれています。

  • セトサ: 0 とマーク
  • Versicolor: 1 としてマーク
  • Virginica: 2 とマーク

データセットには、花の種類ごとに次の特徴が含まれています (センチメートル単位で測定)。

  • 萼片の長さ
  • 萼片の幅
  • 花びらの長さ
  • 花びらの幅

ステップ1: ライブラリをインポートする

アイリスの花のデータセットは Scikit-learn データ サイエンス ライブラリに含まれているため、次のようにしてワークスペースに読み込むことができます。

  1. from sklearn import datasets
  2. iris = datasets . load_iris ()

これらのコマンドは、 sklearnからdatasetsモジュールをインポートし、 datasetsload_iris()メソッドを使用してデータをワークスペースに含めます。

ステップ2: データセットの特徴を取得する

datasetsモジュールには、データの操作に慣れるためのいくつかのメソッドが含まれています。

Scikit-learn では、データセットはデータに関するすべての詳細が含まれる辞書のようなオブジェクトを指します。 データは、配列リストである.dataキーを使用して保存されます。

たとえば、 iris.dataを使用して、アヤメの花のデータセットに関する情報を出力できます。

  1. print ( iris . data )

出力は次のとおりです (結果は切り捨てられています)。

  1. [[ 5.1 3.5 1.4 0.2 ]
  2.   [ 4.9 3.   1.4 0.2 ]
  3.   [ 4.7 3.2 1.3 0.2 ]
  4.   [ 4.6 3.1 1.5 0.2 ]
  5.   [ 5.   3.6 1.4 0.2 ]
  6.   [ 5.4 3.9 1.7 0.4 ]
  7.   [ 4.6 3.4 1.4 0.3 ]
  8.   [ 5.   3.4 1.5 0.2 ]
  9.   [ 4.4 2.9 1.4 0.2 ]
  10.   [ 4.9 3.1 1.5 0.1 ]
  11.   [ 5.4 3.7 1.5 0.2 ]
  12.   [ 4.8 3.4 1.6 0.2 ]
  13.   [ 4.8 3.   1.4 0.1 ]
  14.   [ 4.3 3.   1.1 0.1 ]
  15.   [ 5.8 4.   1.2 0.2 ]
  16.   [ 5.7 4.4 1.5 0.4 ]
  17.   [ 5.4 3.9 1.3 0.4 ]
  18.   [ 5.1 3.5 1.4 0.3 ]

また、 iris.targetを使用して、花のさまざまなラベルに関する情報も提供します。

  1. print ( iris . target )

出力は次のようになります。

  1. [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  2.   0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
  3.   1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2
  4.   2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
  5.   2 2 ]

iris.target_namesを使用すると、データセット内で見つかったラベル名の配列が出力されます。

  1. print ( iris . target_names )

Python コードを実行した結果は次のとおりです。

  1. [ 'setosa' 'versicolor' 'virginica' ]

ステップ3: データセットを視覚化する

ボックス プロットを使用して、アイリス データセットの視覚的な表現を生成できます。 ボックス プロットは、データが四分位数を通る平面上でどのように分布しているかを示します。

これを実現する方法は次のとおりです。

  1. import seaborn as sns
  2. box_data = iris . data # 表示数据数组的变量
  3. box_target = iris . target # 表示标签数组的变量
  4. sns . boxplot ( data = box_data , width = 0.5 , fliersize = 5 )
  5. sns . set ( rc ={ 'figure.figsize' :( 2 , 15 )})

結果を見てみましょう:

水平軸について:

  • 0は萼片の長さ
  • 1は萼片の幅
  • 2は花びらの長さ
  • 3は花びらの幅です

縦軸の寸法はセンチメートル単位です。

要約する

以下は、このシンプルな Scikit-learn データ サイエンス チュートリアルの完全なコードです。

  1. from sklearn import datasets
  2. iris = datasets . load_iris ()
  3. print ( iris . data )
  4. print ( iris . target )
  5. print ( iris . target_names )
  6. import seaborn as sns
  7. box_data = iris . data # 表示数据数组的变量
  8. box_target = iris . target # 表示标签数组的变量
  9. sns . boxplot ( data = box_data , width = 0.5 , fliersize = 5 )
  10. sns . set ( rc ={ 'figure.figsize' :( 2 , 15 )})

Scikit-learn は、データ サイエンス プロジェクトを効率的に完了するために使用できる多目的 Python ライブラリです。

<<:  アマゾン、AIが女性の求職者に低い評価を与えたため研究チームを解散に追い込まれる

>>:  機械学習における皇帝の新しい服の発見

推薦する

AIが金融犯罪を予測、検出、防止する方法

調査によると、金融詐欺は個人や企業に多大な損失をもたらします。銀行は、フィンテックと競争するために機...

スマートフォンの代替品?元アップルデザイナーが699ドルの人工知能ブローチ「AI Pin」を発売

海外メディアの報道によると、元アップルのデザイナー、イムラン・チャウドリ氏とベサニー・ボンジョルノ氏...

張震: AIOps の 6 つの技術的難しさと CreditEase の運用と保守における大きな変化

[51CTO.com からのオリジナル記事] 運用と保守の発展プロセスは産業革命に似ています。3 つ...

Facebookが削除した10億の顔情報は、インターネット上の単なる「データゴミ」だ

[[433430]] Facebook が名前を Meta に変更し、Metaverse への本格的...

スマートビルディング技術のトレンド: 5つの将来のアイデアと例

1. 拡張現実(AR)建築の世界では、拡張現実と仮想現実が岐路に立っています。 AR はコンピュータ...

フラッシュは廃止されるが、5G時代の新技術は過去を思い出す暇を与えないだろう

Adobe が 2020 年 12 月 31 日をもって有名な Flash ソフトウェアのサポートを...

ソニーはプレイヤーの感情を感知できるコンパニオンロボットを開発中

過去数年間、多くのゲーム機はアクセサリを導入することでゲーム体験を向上させることに重点を置いてきまし...

...

ディープラーニングにおける多体問題の解決方法

「多体問題」(N 体問題とも呼ばれる)は単純に見えますが、実際には今日の数学で解決するのが非常に難し...

百度、中国企業のインテリジェントアップグレードプロセスを加速させる新型PaddlePaddleスマートマシンを発売

クラウドとインテリジェンスの統合は、中国企業が AI アプリケーションの実装の「最後の 1 マイル」...

「デジタルマン」もリストに載っているので、怖いのかと聞いてみたいのですが

冬季オリンピックが本格的に開幕。新たなトップスター「ビン・ドゥエンドゥエン」のほか、競技場内外を支え...

...

3分レビュー:2021年11月の自動運転業界の完全な概要

チップ不足と疫病の影響により、今年初めから自動運転産業の発展は減速を余儀なくされたが、数か月の回復を...

...

2022年のディープラーニングの5つのトレンド

ディープラーニングは、データから段階的に優れた高度な洞察を抽出するために複数の処理層を活用する人工ニ...