機械学習

Pandasを利用してCSVファイルを読み込みカテゴリデータを数値に変換してみた

Pythonでデータの取り込みや加工・集計、分析処理に利用できるライブラリの一つにPandasがあり、これを利用するとCSVファイルの読み込みや加工が簡単に行える。

また、カテゴリデータ(例:性別)を機械学習で利用できるようにするには、文字列(例:男、女)を数値(例:1、0)に変換する必要があるが、その変換も、Pandasを利用すれば簡単に行える。

今回は、Pandasを利用してCSVファイルの読み込み・カテゴリデータの数値変換を行ってみたので、そのサンプルプログラムを共有する。

前提条件

今回サンプルプログラムで利用するCSVファイルは、以下の内容とする。
前提条件

このCSVファイルは、以下のサイトに記載の表を、CSVファイルに書き込んだものとなる。
https://note.com/morichannel2000/n/nb994e30bb1df

また、下記記事のAnacondaをインストールしJupyter Notebookを利用できること。

Python開発用のAnacondaをインストールしJupyter Notebookを利用してみた今回は、Pythonを勉強してみたいと思い、Python開発環境を構築してみたので、その手順を共有する。 Python開発用として...

さらに、下記記事の「Jupyter NotebookへのCSVファイルアップロード」に記載した手順に従って、今回利用するCSVファイル(user_data.csv)をアップロード済であること。

Pandasを利用してCSVファイルを読み込み欠損値補充をしてみたPythonでデータの取り込みや加工・集計、分析処理に利用できるライブラリの一つにPandasがあり、これを利用するとCSVファイルの読...

やってみたこと

  1. CSVファイルの読み込みとデータ抽出
  2. LabelEncoderを利用した変換
  3. ColumnTransformerとOneHotEncoderを利用した変換

CSVファイルの読み込みとデータ抽出

Pandasを利用して、CSVファイルを読み込みNumPy配列に変換するサンプルプログラムと実行結果は、以下の通り。

CSVファイルの読み込みとデータ抽出

LabelEncoderを利用した変換

PandasのLabelEncoderクラスを利用すると、カテゴリデータを、(同一カテゴリで同じ)数値に変換することができる。そのサンプルプログラムと実行結果は、以下の通り。

LabelEncoderを利用した変換



ColumnTransformerとOneHotEncoderを利用した変換

PandasのColumnTransformerクラスとOneHotEncoderをクラス利用すると、別行に、カテゴリデータを数値に変換することができる。そのサンプルプログラムと実行結果は、以下の通り。

ColumnTransformerとOneHotEncoderを利用した職業/勤務先の変換

要点まとめ

  • 機械学習でカテゴリデータ(例:性別)を利用できるようにするには、文字列(例:男、女)を数値(例:1、0)に変換する必要がある。
  • Pandasを利用すると、カテゴリデータの数値変換を簡単に行うことができる。