データサイエンス プロジェクトに 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が女性の求職者に低い評価を与えたため研究チームを解散に追い込まれる

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

ブログ    
ブログ    

推薦する

...

人工知能音声ジェネレーター、この10個で十分です

翻訳者 | カン・シャオジン校正 | 梁哲、孫淑娟今日の人工知能の世界では、想像できるあらゆる音は簡...

...

図解 Raft コンセンサス アルゴリズム: リーダーを選出する方法

[[393927]] Raft は、リーダーを基準としてノード間のログの一貫性を実現するコンセンサス...

FacebookはVRキーボードを使ってデータを入力する方法を開発中

海外メディアの報道によると、仮想現実(VR)でオフィスワークを遂行するのは容易ではないという。本当に...

AIコードツールが人気、複雑な操作が数秒で簡単になり、ネットユーザー:VS Codeを放棄

最近、AIコードエディタCursorが人気になってきました—— GPT-3.5/GPT-4 に接続す...

2021年、人工知能は知的ではない

ガートナー曲線について聞いたことがあるかもしれません。新しい技術が初めて導入されたとき、誰も興味を示...

...

...

中国の人工知能都市競争で最も速いのはどの都市でしょうか?

産業発展状況の分析特許出願件数世界第1位[[332768]]我が国は、新たな科学技術革命と産業変革の...

...

自動運転シナリオのビデオから生成された初のマルチビュー世界モデル | DrivingDiffusion: BEV データとシミュレーションの新しいアイデア

著者の個人的な考え自動運転の分野では、BEV ベースのサブタスク/エンドツーエンド ソリューションの...

データが限られている場合にディープラーニングモデルを最適化する方法

[[198229]]転移学習転移学習とは、ある問題で訓練したモデルを、簡単な調整で新しい問題に適した...

テンセント・ユートゥと厦門大学は、トレーニングを必要としないViT構造検索アルゴリズムを提案した。

最近、ViT はコンピューター ビジョンの分野で強力な競争力を発揮し、複数のタスクで驚くべき進歩を遂...

...