Python 3 – Pythonで機械学習データを読み込む方法

Python

目次

Pythonで機械学習プロジェクトを開始するには、データを適切に読み込むことができる必要があります。 Pythonの初心者の方は、この記事で3つの異なる手法を使用して機械学習データを読み込む方法を学ぶことができます。

関連コース: Python機械学習コース

機械学習データの読み込み

詳細に進む前に、CSVまたはコンマ区切りの値が、機械学習データが表示される最も一般的に使用される形式であることを知っておく必要があります。 機械学習データのCSVファイルには、理解する必要のある部分と機能があります。 これらには以下が含まれます:

  • CSVファイルヘッダー:CSVファイルのヘッダーは、データセットの各列に名前またはラベルを自動的に割り当てるために使用されます。 ファイルにヘッダーがない場合は、属性に手動で名前を付ける必要があります。
  • コメント:行がハッシュ記号(#)で始まる場合、CSVファイル内のコメントを識別できます。 機械学習データを読み込むために選択した方法に応じて、これらのコメントを表示するかどうか、およびそれらを識別する方法を決定する必要があります。
  • デリミタ:区切り文字は、フィールド内の複数の値を区切り、コンマ(、)で示されます。 タブ( t)は、使用できるもう1つの区切り文字ですが、明確に指定する必要があります。
  • 引用:ファイルのフィールド値にスペースが含まれている場合、これらの値は引用符で囲まれていることが多く、これを示す記号は二重引用符です。 他の文字を使用する場合は、ファイルでこれを指定する必要があります。

データファイルのこれらの重要な部分を特定したら、先に進んで、Pythonで機械学習データを読み込む方法に関するさまざまな方法を学びましょう。

Python標準ライブラリでデータをロードする

Python標準ライブラリでは、CSVモジュールと関数reader()を使用してCSVファイルをロードします。 ロード時に、CSVデータは機械学習に使用できるNumPy配列に自動的に変換されます。

たとえば、以下は、Python APIを使用して実行すると、ヘッダーがなく数値フィールドを含むこのデータセットを読み込む小さなコードです。 また、自動的にNumPy配列に変換します。

1
2
3
4
5
6
7
8
9

import csv
import numpy
filename = 'pima-indians-diabetes.data.csv'
raw_data = open(filename, 'rt')
reader = csv.reader(raw_data, delimiter=',', quoting=csv.QUOTE_NONE)
x = list(reader)
data = numpy.array(x).astype('float')
print(data.shape)

簡単に説明すると、このコードは、データの各行での反復を可能にし、NumPy配列に簡単に変換できるオブジェクトをロードするようにプログラムに命令します。 サンプルコードを実行すると、次のような配列の形状が生成されます。

1(768、9)

NumPyでデータファイルをロードする

Pythonで機械学習データを読み込む別の方法は、NumPyとnumpy.loadtxt()関数を使用することです。

以下のサンプルコードでは、関数はファイルにヘッダー行がなく、すべてのデータが同じ形式を使用していることを前提としています。 また、ファイルpima-indians-diabetes.data.csvが現在のディレクトリに保存されていることも前提としています。

1
2
3
4
5
6

import numpy
filename = 'pima-indians-diabetes.data.csv'
raw_data = open(filename, 'rt')
data = numpy.loadtxt(raw_data, delimiter=",")
print(data.shape)

上記のサンプルコードを実行すると、ファイルがnumpy.ndarrayとして読み込まれ、次のような形のデータが生成されます。

1(768、9)

URLを使用してファイルを取得できる場合は、同じデータセットを生成しながら、上記のコードを次のように変更できます。

1
2
3
4
5
6
7

from numpy import loadtxt
from urllib.request import urlopen
url = 'https://raw.githubusercontent.com/jbrownlee/Datasets/master/pima-indiansiabetes.data.csv'
raw_data = urlopen(url)
dataset = loadtxt(raw_data, delimiter=",")
print(dataset.shape)

コードを実行すると、同じ結果のデータの形状が生成されます。

1(768、9)

pythonpandasデータロードcsv

パンダでデータファイルをロード

機械学習データを読み込む3番目の方法は、Pandasとpandas.read_csv()関数を使用することです。

pandas.read_csv()関数は非常に柔軟性があり、機械学習データを読み込むための最も理想的な方法です。 すぐに要約とプロットを開始できるpandas.DataFrameを返します。

以下のサンプルコードは、pima-indians-diabetes.data.csvファイルが現在のディレクトリに保存されていることを前提としています。

1
2
3
4
5
6
1 
2 import pandas
3 filename = 'pima-indians-diabetes.data.csv'
4 names = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class']
5 data = pandas.read_csv(filename, names=names)
6 print(data.shape)

ここで、DataFrameの各属性の名前を明示的に識別したことがわかります。 上記のサンプルコードを実行すると、次の形状のデータが出力されます。

1(768、9)

URLを使用してファイルを取得できる場合は、同じデータセットを生成しながら、上記のコードを次のように変更できます。

1
2
3
4
5
6
1 
2 Import pandas
3 url = "https://raw.githubusercontent.com/jbrownlee/Datasets/master/pima-indians-diabetes.data.csv"
4 names = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class']
5 data = pandas.read_csv(url, names=names)
6 print(data.shape)

上記のサンプルコードを実行すると、CSVファイルがダウンロードされて解析され、読み込まれたDataFrameの次の形状が生成されます。

1(768、9)

機械学習を初めて使用する場合は、 それなら私はこの本を強くお勧めします。

例と演習をダウンロードする

Hope this helps!

Source link

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です