Laden von Daten für ML-Projekte
Angenommen, wenn Sie ein ML-Projekt starten möchten, was ist dann das erste und wichtigste, was Sie benötigen würden? Es sind die Daten, die wir laden müssen, um eines der ML-Projekte zu starten. In Bezug auf Daten ist das häufigste Datenformat für ML-Projekte CSV (durch Kommas getrennte Werte).
Grundsätzlich ist CSV ein einfaches Dateiformat, mit dem tabellarische Daten (Nummer und Text) wie eine Tabelle im Klartext gespeichert werden. In Python können wir CSV-Daten auf verschiedene Arten laden, aber bevor wir CSV-Daten laden, müssen wir einige Überlegungen berücksichtigen.
Berücksichtigung beim Laden von CSV-Daten
Das CSV-Datenformat ist das am häufigsten verwendete Format für ML-Daten. Wir müssen jedoch darauf achten, wichtige Überlegungen zu beachten, während wir diese in unsere ML-Projekte laden.
Dateikopf
In CSV-Datendateien enthält der Header die Informationen für jedes Feld. Wir müssen dasselbe Trennzeichen für die Header-Datei und für die Datendatei verwenden, da es die Header-Datei ist, die angibt, wie Datenfelder interpretiert werden sollen.
Im Folgenden sind die beiden Fälle im Zusammenhang mit dem CSV-Dateikopf aufgeführt, die berücksichtigt werden müssen:
Case-I: When Data file is having a file header - Es werden automatisch die Namen jeder Datenspalte zugewiesen, wenn die Datendatei einen Dateikopf hat.
Case-II: When Data file is not having a file header - Wir müssen die Namen jeder Datenspalte manuell zuweisen, wenn die Datendatei keinen Dateikopf hat.
In beiden Fällen müssen wir explizit angeben, ob unsere CSV-Datei einen Header enthält oder nicht.
Bemerkungen
Kommentare in Datendateien haben ihre Bedeutung. In der CSV-Datendatei werden Kommentare durch einen Hash (#) am Zeilenanfang angezeigt. Beim Laden von CSV-Daten in ML-Projekte müssen Kommentare berücksichtigt werden. Wenn wir Kommentare in der Datei haben, müssen wir möglicherweise angeben, ob diese Kommentare zu erwarten sind oder nicht.
Trennzeichen
In CSV-Datendateien ist das Komma (,) das Standardtrennzeichen. Die Rolle des Trennzeichens besteht darin, die Werte in den Feldern zu trennen. Es ist wichtig, die Rolle des Trennzeichens beim Hochladen der CSV-Datei in ML-Projekte zu berücksichtigen, da wir auch ein anderes Trennzeichen verwenden können, z. B. eine Registerkarte oder einen Leerraum. Wenn Sie jedoch ein anderes Trennzeichen als das Standardtrennzeichen verwenden, müssen Sie es explizit angeben.
Zitate
In CSV-Datendateien ist das doppelte Anführungszeichen ("") das Standard-Anführungszeichen. Es ist wichtig, die Rolle von Anführungszeichen beim Hochladen der CSV-Datei in ML-Projekte zu berücksichtigen, da wir auch andere Anführungszeichen als doppelte Anführungszeichen verwenden können. Wenn Sie jedoch ein anderes Anführungszeichen als das Standardzeichen verwenden, müssen Sie es explizit angeben.
Methoden zum Laden der CSV-Datendatei
Bei der Arbeit mit ML-Projekten besteht die wichtigste Aufgabe darin, die Daten ordnungsgemäß zu laden. Das gebräuchlichste Datenformat für ML-Projekte ist CSV. Es gibt verschiedene Varianten und unterschiedliche Schwierigkeiten beim Parsen. In diesem Abschnitt werden drei gängige Ansätze in Python zum Laden von CSV-Datendateien erläutert:
Laden Sie CSV mit der Python Standard Library
Der erste und am häufigsten verwendete Ansatz zum Laden von CSV-Datendateien ist die Verwendung der Python-Standardbibliothek, die uns nämlich eine Vielzahl integrierter Module bietet csv moduleund die reader () Funktion. Das folgende Beispiel zeigt das Laden einer CSV-Datendatei mithilfe dieser Datei:
Example
In diesem Beispiel verwenden wir den Irisblumendatensatz, der in unser lokales Verzeichnis heruntergeladen werden kann. Nach dem Laden der Datendatei können wir sie in konvertierenNumPyArray und verwenden Sie es für ML-Projekte. Es folgt das Python-Skript zum Laden der CSV-Datendatei:
Zuerst müssen wir das von der Python-Standardbibliothek bereitgestellte CSV-Modul wie folgt importieren:
import csv
Als nächstes müssen wir das Numpy-Modul importieren, um die geladenen Daten in ein NumPy-Array zu konvertieren.
import numpy as np
Geben Sie nun den vollständigen Pfad der Datei an, die in unserem lokalen Verzeichnis gespeichert ist und die CSV-Datendatei enthält.
path = r"c:\iris.csv"
Verwenden Sie als Nächstes die Funktion csv.reader (), um Daten aus der CSV-Datei zu lesen.
with open(path,'r') as f:
reader = csv.reader(f,delimiter = ',')
headers = next(reader)
data = list(reader)
data = np.array(data).astype(float)
Wir können die Namen der Header mit der folgenden Skriptzeile drucken -
print(headers)
In der folgenden Skriptzeile wird die Form der Daten gedruckt, dh die Anzahl der Zeilen und Spalten in der Datei.
print(data.shape)
Die nächste Skriptzeile enthält die ersten drei Zeilen der Datendatei -
print(data[:3])
Output
['sepal_length', 'sepal_width', 'petal_length', 'petal_width']
(150, 4)
[ [5.1 3.5 1.4 0.2]
[4.9 3. 1.4 0.2]
[4.7 3.2 1.3 0.2]
]
Laden Sie CSV mit NumPy
Ein weiterer Ansatz zum Laden der CSV-Datendatei ist die Funktion NumPy und numpy.loadtxt (). Das folgende Beispiel zeigt das Laden einer CSV-Datendatei mithilfe dieser Datei:
Beispiel
In diesem Beispiel verwenden wir den Pima-Indianer-Datensatz mit den Daten von Diabetikern. Dieser Datensatz ist ein numerischer Datensatz ohne Kopfzeile. Es kann auch in unser lokales Verzeichnis heruntergeladen werden. Nach dem Laden der Datendatei können wir sie in ein NumPy-Array konvertieren und für ML-Projekte verwenden. Das folgende ist das Python-Skript zum Laden der CSV-Datendatei -
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])
Ausgabe
(768, 9)
[ [ 6. 148. 72. 35. 0. 33.6 0.627 50. 1.]
[ 1. 85. 66. 29. 0. 26.6 0.351 31. 0.]
[ 8. 183. 64. 0. 0. 23.3 0.672 32. 1.]
]
Laden Sie CSV mit Pandas
Ein anderer Ansatz zum Laden der CSV-Datendatei ist von Pandas und pandas.read_csv()function. Dies ist die sehr flexible Funktion, die a zurückgibtpandas.DataFramedie sofort zum Plotten verwendet werden kann. Das folgende Beispiel zeigt das Laden einer CSV-Datendatei mithilfe dieser Datei:
Beispiel
Hier werden wir zwei Python-Skripte implementieren, zum einen mit einem Iris-Datensatz mit Headern und zum anderen mit dem Pima Indians-Datensatz, einem numerischen Datensatz ohne Header. Beide Datensätze können in das lokale Verzeichnis heruntergeladen werden.
Script-1
Das folgende Python-Skript zum Laden der CSV-Datendatei mit Pandas on Iris Data Set:
from pandas import read_csv
path = r"C:\iris.csv"
data = read_csv(path)
print(data.shape)
print(data[:3])
Output:
(150, 4)
sepal_length sepal_width petal_length petal_width
0 5.1 3.5 1.4 0.2
1 4.9 3.0 1.4 0.2
2 4.7 3.2 1.3 0.2
Script-2
Das folgende Python-Skript zum Laden der CSV-Datendatei sowie zum Bereitstellen der Headernamen mithilfe von Pandas im Pima Indians Diabetes-Datensatz:
from pandas import read_csv
path = r"C:\pima-indians-diabetes.csv"
headernames = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class']
data = read_csv(path, names=headernames)
print(data.shape)
print(data[:3])
Output
(768, 9)
preg plas pres skin test mass pedi age class
0 6 148 72 35 0 33.6 0.627 50 1
1 1 85 66 29 0 26.6 0.351 31 0
2 8 183 64 0 0 23.3 0.672 32 1
Der Unterschied zwischen den oben verwendeten drei Ansätzen zum Laden der CSV-Datendatei kann anhand der angegebenen Beispiele leicht verstanden werden.