データサイエンス プロジェクトに 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 開発の加速: 企業はどのように MLOps を使用して生産効率を向上できるでしょうか?

企業が初めて AI を導入し、機械学習プロジェクトを構築するときは、理論に重点を置くことがよくありま...

AIが科学研究を「行う」ことを学習し、ネイチャー誌に発表。知湖ネットユーザー:水を見るのは耐えられない

人工知能は複雑な囲碁のゲームでは簡単に人間に勝つことができますが、科学的な発見に役立つのでしょうか?...

革新的な人工視覚脳インプラントが初めて視覚障害者に移植される

現時点では失明を治す方法はないが、初めての人工視覚システムの移植が初めて成功し、失明した人々の視力を...

...

機械学習を生産性に変えるには、よくある 4 つの落とし穴に注意してください。

[[279043]]ビッグデータダイジェスト制作出典: topbots編纂者:呉帥ある技術カンファ...

...

...

英国で新たな自動運転規制が導入され、ドライバーはもはや「集中」する必要がなくなった

自動運転は近年市場で最も活発なトピックの1つです。資金が継続的に流入し、大手企業が存在感を示そうと競...

人工知能の環境コスト: 計算能力のために私たちは何を犠牲にする覚悟があるのでしょうか?

コンピューティング能力の需要が高まり続けるにつれて、さまざまな環境への影響が生じ、人工知能 (AI)...

...

自動運転の実用化にはまだいくつかのハードルがある

ここ数年、世界的な自動運転はまだ発展途上であったとすれば、各国の政策の推進により、自動運転に関する最...

卒業後すぐに年収56万は貰えるんですか?右! Twitterの機械学習の専門家が書いた上級マニュアルをご覧ください

[[210651]]年収10万?プログラマーにとっては、これで十分です。国家統計局が今年上半期に発表...

機械学習を知っていれば十分でしょうか?次世代のデータ サイエンティストは「フル スタック」へと移行しています。

[[342168]]データサイエンスは、特にコンピューターサイエンス、統計、ビジネス分析、エンジニ...

...