Machine-learning-with-python-data-loading-for-ml-projects
MLプロジェクトのデータ読み込み
MLプロジェクトを開始する場合、最初に必要な最も重要なことは何でしょうか? MLプロジェクトを開始するためにロードする必要があるデータです。 データに関して、MLプロジェクトのデータの最も一般的な形式はCSV(コンマ区切り値)です。
基本的に、CSVは、スプレッドシートなどの表形式のデータ(数値とテキスト)をプレーンテキストで保存するために使用される単純なファイル形式です。 Pythonでは、さまざまな方法でCSVデータを読み込むことができますが、CSVデータを読み込む前に、いくつかの考慮事項に注意する必要があります。
CSVデータの読み込み中の考慮事項
CSVデータ形式はMLデータの最も一般的な形式ですが、MLプロジェクトに同じデータを読み込む際には、次の主要な考慮事項に注意する必要があります。
ファイルヘッダー
CSVデータファイルでは、ヘッダーに各フィールドの情報が含まれています。 データフィールドの解釈方法を指定するのはヘッダーファイルであるため、ヘッダーファイルとデータファイルに同じ区切り文字を使用する必要があります。
以下は、考慮する必要があるCSVファイルヘッダーに関連する2つのケースです-
- ケースI:データファイルにファイルヘッダーがある場合-データファイルにファイルヘッダーがある場合、データの各列に名前が自動的に割り当てられます。
- ケースII:データファイルにファイルヘッダーがない場合-データファイルにファイルヘッダーがない場合、データの各列に名前を手動で割り当てる必要があります。
どちらの場合も、CSVファイルにヘッダーが含まれているかどうかを明示的に指定する必要があります。
コメント
データファイルのコメントには重要な意味があります。 CSVデータファイルでは、コメントは行の先頭にハッシュ(#)で示されます。 CSVデータをMLプロジェクトにロードする際にコメントを考慮する必要があります。ファイルにコメントがある場合、ロードするために選択した方法、それらのコメントを期待するかどうかを示す必要があるためです。
デリミタ
CSVデータファイルでは、コンマ(、)文字が標準の区切り文字です。 区切り文字の役割は、フィールドの値を区切ることです。 CSVファイルをMLプロジェクトにアップロードするときに区切り文字の役割を考慮することは重要です。これは、タブや空白などの別の区切り文字も使用できるためです。 ただし、標準の区切り文字とは異なる区切り文字を使用する場合は、明示的に指定する必要があります。
引用
CSVデータファイルでは、二重引用符(“”)マークがデフォルトの引用文字です。 CSVファイルをMLプロジェクトにアップロードするときは、二重引用符以外の引用文字も使用できるため、引用の役割を考慮することが重要です。 ただし、標準の引用符とは異なる引用符を使用する場合は、明示的に指定する必要があります。
CSVデータファイルをロードする方法
MLプロジェクトでの作業中、最も重要なタスクはデータを適切にロードすることです。 MLプロジェクトの最も一般的なデータ形式はCSVであり、さまざまな種類があり、解析するのが困難です。 このセクションでは、PythonでCSVデータファイルをロードする3つの一般的なアプローチについて説明します-
Python標準ライブラリでCSVを読み込む
CSVデータファイルを読み込むための最初で最も使用されるアプローチは、さまざまな組み込みモジュール、つまり_csv module_と_reader()function_を提供するPython標準ライブラリの使用です。 以下は、それを使用してCSVデータファイルをロードする例です-
例
この例では、ローカルディレクトリにダウンロードできるiris _flower data set_を使用しています。 データファイルを読み込んだ後、次のように変換できます。
NumPy
まず、次のようにPython標準ライブラリが提供するcsvモジュールをインポートする必要があります-
次に、ロードされたデータをNumPy配列に変換するNumpyモジュールをインポートする必要があります。
今、私たちのローカルディレクトリに保存されたファイルのフルパスを提供し、CSVデータファイルを持っています-
次に、csv.reader()関数を使用してCSVファイルからデータを読み取ります-
スクリプトの次の行でヘッダーの名前を印刷できます-
次のスクリプト行は、データの形状、つまり ファイル内の行と列の数-
次のスクリプト行は、データファイルの最初の3行を示します-
出力
from numpy import loadtxt path = r "C:\ pima-indians-diabetes.csv" datapath = open(path、 'r')data = loadtxt(datapath、delimiter = "、")print(data.shape)print(data [:3])
(768、9)[[CSVをパンダでロード
CSVデータファイルを読み込む別の方法は、_Pandas_および_pandas.read_csv()function_によるものです。 これは、プロットにすぐに使用できるpandas.DataFrameを返す非常に柔軟な関数です。 以下は、それを使用してCSVデータファイルをロードする例です-
例
ここでは、2つのPythonスクリプトを実装します。1つ目はヘッダーを持つIrisデータセットを使用し、もう1つはヘッダーのない数値データセットである_Pima Indians Dataset_を使用することです。 両方のデータセットをローカルディレクトリにダウンロードできます。
- スクリプト-1 *
以下は、Iris _Data set_で_Pandas_を使用してCSVデータファイルをロードするためのPythonスクリプトです-
出力
- スクリプト-2 *
以下は、CSVデータファイルを読み込むためのPythonスクリプトであり、Pima Indians DiabetesデータセットでPandaを使用して、ヘッダー名も提供します-
出力
上記のCSVデータファイルをロードするために使用された3つのアプローチの違いは、与えられた例の助けを借りて簡単に理解できます。