Heim > Backend-Entwicklung > Python-Tutorial > EXPLORATORISCHE DATENANALYSE (EDA) MIT PYTHON: ERKENNTNISSE AUS DATEN

EXPLORATORISCHE DATENANALYSE (EDA) MIT PYTHON: ERKENNTNISSE AUS DATEN

Barbara Streisand
Freigeben: 2025-01-03 02:02:37
Original
843 Leute haben es durchsucht

EXPLORATORY DATA ANALYSIS (EDA) WITH PYTHON: UNCOVERING INSIGHTS FROM DATA

EXPLORATORISCHE DATENANALYSE (EDA) MIT PYTHON: ERKENNTNISSE AUS DATEN.

EINFÜHRUNG
Die explorative Datenanalyse (EDA) ist in der Datenanalyse von entscheidender Bedeutung, da sie es Analysten ermöglicht, Erkenntnisse zu gewinnen und Daten für die weitere Modellierung vorzubereiten. In diesem Artikel befassen wir uns mit verschiedenen EDA-Techniken und -Tools, die in Python verfügbar sind, um Ihr Datenverständnis zu verbessern. Von der Bereinigung/Verarbeitung Ihres Datensatzes über die Visualisierung Ihrer Ergebnisse bis hin zur Verwendung von Python zum Erzählen von Geschichten mit Daten.

Was ist explorative Datenanalyse?

Exploratory Data Analysis (EDA) ist eine Methode zur Analyse von Datensätzen, um ihre Hauptmerkmale zu verstehen. Dabei geht es darum, Datenmerkmale zusammenzufassen, Muster zu erkennen und Zusammenhänge mithilfe visueller und statistischer Techniken aufzudecken. EDA hilft dabei, Erkenntnisse zu gewinnen und Hypothesen für die weitere Analyse zu formulieren.

Exploratory Data Analysis (EDA) in Python nutzt verschiedene Techniken, die für die Gewinnung von Erkenntnissen aus Daten unerlässlich sind. Eine der grundlegenden Techniken ist die Datenvisualisierung mithilfe von Bibliotheken wie Matplotlib und Seaborn. Mit diesen Tools können Datenwissenschaftler verschiedene Arten von Diagrammen erstellen, darunter Streudiagramme, Histogramme und Boxplots, die für das Verständnis der Verteilung und Beziehungen innerhalb von Datensätzen von entscheidender Bedeutung sind.

Durch die Visualisierung von Daten können Analysten Trends, Ausreißer und Muster erkennen, die durch numerische Analysen allein möglicherweise nicht erkennbar sind.

Eine weitere wichtige Technik in EDA ist die Datenbereinigung und -manipulation, die hauptsächlich durch die Pandas-Bibliothek ermöglicht wird. Dazu gehört die Verarbeitung von Datensätzen durch den Umgang mit fehlenden Werten, das Filtern von Daten und den Einsatz aggregativer Funktionen zur Zusammenfassung von Erkenntnissen. Durch den Einsatz von Funktionen wie „Groupby“ können Benutzer Daten in aussagekräftige Kategorien segmentieren und so eine klarere Analyse ermöglichen. Darüber hinaus ermöglicht die Einbeziehung statistischer Methoden wie der Korrelationsanalyse ein besseres Verständnis der Beziehungen zwischen Variablen und hilft bei der Formulierung von Hypothesen, die in einer strukturierteren Analyse getestet werden können.

WIE MAN EDA MIT PYTHON DURCHFÜHRT

Schritt 1: Python-Bibliotheken importieren

Der erste Schritt bei ML mit Python besteht darin, unsere Daten mithilfe von Bibliotheken zu verstehen und damit herumzuspielen. Sie können diesen Link verwenden, um den Datensatz auf der Kaggle-Website abzurufen: https://www.kaggle.com/datasets/sukhmanibedi/cars4u
Importieren Sie alle für unsere Analyse erforderlichen Bibliotheken, z. B. für das Laden von Daten, statistische Analysen, Visualisierungen, Datentransformationen sowie das Zusammenführen und Verbinden.

Pandas und Numpy wurden für Datenmanipulation und numerische Berechnungen verwendet
Matplotlib und Seaborn wurden für Datenvisualisierungen verwendet.
CODE:
Pandas als PD importieren
numpy als np importieren
matplotlib.pyplot als plt importieren
Seaborn als SNS importieren
Warnungen ignorieren
Warnungen importieren
warnings.filterwarnings('ignore')

SCHRITT 2: DATENSATZ LESEN

Die Python-Pandas-Bibliothek bietet eine Vielzahl von Möglichkeiten zum Laden von Daten aus Dateien wie Bildern, .csv, .xlsx, .sql, .pickle, .html, .txt usw. in den Pandas DataFrame.
Die meisten Daten liegen im tabellarischen Format von CSV-Dateien vor. Es ist trendig und leicht zugänglich. Mit der Funktion read_csv() können Daten in einen Pandas DataFrame konvertiert werden.
In diesem Artikel werden die Daten zur Vorhersage des Gebrauchtwagenpreises als Beispiel verwendet. In diesem Datensatz versuchen wir, den Preis des Gebrauchtwagens zu analysieren und wie sich EDA auf die Identifizierung der Faktoren konzentriert, die den Autopreis beeinflussen. Wir haben die Daten in den DataFrame-Daten gespeichert.
data = pd.read_csv("used_cars.csv")

ANALYSE DER DATEN

Bevor wir Schlussfolgerungen ziehen, hören wir uns unsere Daten an, indem wir alle Variablen in den Daten untersuchen.
Das Hauptziel des Datenverständnisses besteht darin, allgemeine Erkenntnisse über die Daten zu gewinnen, die die Anzahl der Zeilen und Spalten, Werte in den Daten, Datentypen und fehlende Werte im Datensatz umfassen.
Form – Form zeigt die Anzahl der Beobachtungen (Zeilen) und Merkmale (Spalten) im Datensatz an
Unser Datensatz enthält 7253 Beobachtungen und 14 Variablen
head() zeigt die Top 5 Beobachtungen des Datensatzes an
data.head()

tail() zeigt die letzten 5 Beobachtungen des Datensatzes an
data.tail()
info() hilft, den Datentyp und Informationen über Daten zu verstehen, einschließlich der Anzahl der Datensätze in jeder Spalte, Daten mit Null oder nicht Null, Datentyp und der Speichernutzung des Datensatzes

data.info()
data.info() zeigt, dass für die Variablen „Kilometerstand“, „Motor“, „Leistung“, „Sitze“, „Neuer Preis“ und „Preis“ Werte fehlen. Numerische Variablen wie Kilometerstand und Leistung haben den Datentyp: float64 und int64. Kategoriale Variablen wie „Standort“, „Kraftstofftyp“, „Getriebe“ und „Eigentümertyp“ sind vom Objektdatentyp.

ÜBERPRÜFEN SIE AUF DUPLIKATION

nunique() basierend auf mehreren eindeutigen Werten in jeder Spalte und der Datenbeschreibung können wir die kontinuierlichen und kategorialen Spalten in den Daten identifizieren. Duplizierte Daten können basierend auf einer weiteren Analyse bearbeitet oder entfernt werden.
data.nunique()

https://www.analyticsvidhya.com/blog/2022/07/step-by-step-exploratory-data-analysis-eda-using-python/

Berechnung fehlender Werte

isnull() wird häufig in allen Vorverarbeitungsschritten verwendet, um Nullwerte in den Daten zu identifizieren
In unserem Beispiel wird data.isnull().sum() verwendet, um die Anzahl der fehlenden Datensätze in jeder Spalte zu ermitteln
data.isnull().sum()

Der folgende Code hilft bei der Berechnung des Prozentsatzes fehlender Werte in jeder Spalte
(data.isnull().sum()/(len(data)))*100

Der Prozentsatz fehlender Werte für die Spalten New_Price und Price beträgt ~86 % bzw. ~17 %.

SCHRITT 3: DATENREDUZIERUNG

Einige Spalten oder Variablen können weggelassen werden, wenn sie keinen Mehrwert für unsere Analyse darstellen.
In unserem Datensatz hat die Spalte S.No nur ID-Werte, vorausgesetzt, sie haben keine Vorhersagekraft, um die abhängige Variable vorherzusagen.

S.Nr. entfernen Spalte aus Daten

data = data.drop(['S.No.'], axis = 1)
data.info()

Wir beginnen mit unserem Feature Engineering, da wir einige für die Analyse erforderliche Spalten hinzufügen müssen.

Schritt 4: Feature Engineering

Feature Engineering bezeichnet den Prozess der Nutzung von Domänenwissen zur Auswahl und Transformation der relevantesten Variablen aus Rohdaten bei der Erstellung eines Vorhersagemodells mithilfe von maschinellem Lernen oder statistischer Modellierung. Das Hauptziel des Feature Engineering besteht darin, aus Rohdaten aussagekräftige Daten zu erstellen.

Schritt 5: Funktionen erstellen

Wir werden mit den Variablen Jahr und Name in unserem Datensatz herumspielen. Wenn wir die Beispieldaten sehen, zeigt die Spalte „Jahr“ das Herstellungsjahr des Autos.
Im Jahresformat wäre es schwierig, das Alter des Autos zu ermitteln, da das Alter des Autos einen Einfluss auf den Autopreis hat.
Einführung einer neuen Spalte, „Car_Age“, um das Alter des Autos zu erfahren
ab Datum/Uhrzeit-Importdatum
date.today().year
data['Car_Age']=date.today().year-data['Year']
data.head()

Da Autonamen in unseren aktuellen Daten keine guten Prädiktoren für den Preis sein werden. Aber wir können diese Spalte verarbeiten, um wichtige Informationen anhand von Marken- und Modellnamen zu extrahieren. Teilen wir den Namen auf und führen wir die neuen Variablen „Marke“ und „Modell“ ein
data['Brand'] = data.Name.str.split().str.get(0)
data['Model'] = data.Name.str.split().str.get(1) data.Name.str.split().str.get(2)
Daten[['Name','Marke','Modell']]

SCHRITT 6: DATENBEREINIGUNG/-VERWALTUNG
Einige Namen der Variablen sind nicht relevant und nicht leicht zu verstehen. Bei einigen Daten können Dateneingabefehler auftreten und bei einigen Variablen ist möglicherweise eine Datentypkonvertierung erforderlich. Wir müssen dieses Problem in den Daten beheben.
Im Beispiel sehen die Markennamen „Isuzu“, „ISUZU“ und „Mini“ und „Land“ falsch aus.

Dies muss korrigiert werden

print(data.Brand.unique())
print(data.Brand.nunique())
searchfor = ['Isuzu' ,'ISUZU','Mini','Land']
data[data.Brand.str.contains('|'.join(searchfor))].head(5)
data["Brand"].replace({"ISUZU": "Isuzu", "Mini": "Mini Cooper", "Land": "Land Rover"}, inplace=True)
Wir haben die grundlegende Datenanalyse, das Featured und die Datenbereinigung durchgeführt.

Lassen Sie uns zum EDA-Prozess übergehen

Lesen Sie mehr über die Grundlagen der explorativen Datenanalyse: https://www.analyticsvidhya.com/blog/2021/11/fundamentals-of-exploratory-data-analysis/

SCHRITT 7: EDA-EXPLORATORISCHE DATENANALYSE

Explorative Datenanalyse bezieht sich auf den entscheidenden Prozess der Durchführung erster Untersuchungen von Daten, um Muster zu entdecken und Annahmen mithilfe zusammenfassender Statistiken und grafischer Darstellungen zu überprüfen.

• EDA kann genutzt werden, um in den gegebenen Daten nach Ausreißern, Mustern und Trends zu suchen.

• EDA hilft, sinnvolle Muster in Daten zu finden.

• EDA bietet detaillierte Einblicke in die Datensätze zur Lösung unserer Geschäftsprobleme.

• EDA gibt einen Hinweis zur Imputation fehlender Werte im Datensatz

SCHRITT 8: STATISTIK-ZUSAMMENFASSUNG

Die Informationen geben eine schnelle und einfache Beschreibung der Daten.
Kann Anzahl, Mittelwert, Standardabweichung, Median, Modus, Minimalwert, Maximalwert, Bereich, Standardabweichung usw. umfassen.

Die Statistikzusammenfassung bietet eine allgemeine Vorstellung davon, ob die Daten Ausreißer, Dateneingabefehler oder eine Verteilung der Daten aufweisen, z. B. wenn die Daten normalverteilt oder links/rechts verzerrt sind

In Python kann dies mit beschreiben()
erreicht werden Die Funktion „beschreiben()“ liefert alle statistischen Datenzusammenfassungen
beschreiben() ; Stellen Sie eine Statistikzusammenfassung von Daten bereit, die zu numerischen Datentypen wie int, float
gehören data.describe().T

Aus der Statistikzusammenfassung können wir die folgenden Ergebnisse ableiten:
• Die Jahre reichen von 1996 bis 2019 und haben einen Höchstwert in einem Bereich, der zeigt, dass Gebrauchtwagen sowohl neueste Modelle als auch alte Modellautos enthalten.

• Im Durchschnitt liegen die gefahrenen Kilometer bei Gebrauchtwagen bei ca. 58.000 km. Der Bereich zeigt einen großen Unterschied zwischen Min. und Max. Da die Max.-Werte 650.000 km anzeigen, handelt es sich um einen Ausreißer. Dieser Eintrag kann entfernt werden.

• Der Mindestwert der Kilometerleistung zeigt an, dass 0 Autos nicht mit 0 Kilometern verkauft werden. Das hört sich nach einem Problem bei der Dateneingabe an.
• Es sieht so aus, als hätten Motor und Leistung Ausreißer und die Daten sind rechtsschief.

• Die durchschnittliche Anzahl der Sitzplätze in einem Auto beträgt 5. Der Autositz ist ein wichtiges Merkmal für den Preisbeitrag.

• Der Höchstpreis für einen Gebrauchtwagen beträgt 160.000, was ziemlich seltsam ist, ein so hoher Preis für Gebrauchtwagen. Möglicherweise liegt ein Ausreißer oder ein Dateneingabeproblem vor.

describe(include=’all’) bietet eine statistische Zusammenfassung aller Daten, einschließlich Objekt, Kategorie usw.
data.describe(include='all')

Bevor wir EDA durchführen, trennen wir numerische und kategoriale Variablen zur einfachen Analyse
cat_cols=data.select_dtypes(include=['object']).columns
num_cols = data.select_dtypes(include=np.number).columns.tolist()
print("Kategoriale Variablen:")
print(cat_cols)
print("Numerische Variablen:")
print(num_cols)
Lesen Sie auch den Artikel Standardabweichung in Excel und Tabellen https://www.analyticsvidhya.com/blog/2024/06/standard-deviation-in-excel/

SCHRITT 9: EDA UNIVARIATE ANALYSE
Analysieren/Visualisierung des Datensatzes durch Aufnahme einer Variablen nach der anderen:
Datenvisualisierung ist unerlässlich; Wir müssen entscheiden, welche Diagramme wir zeichnen möchten, um die Daten besser zu verstehen. In diesem Artikel visualisieren wir unsere Daten mithilfe der Matplotlib- und Seaborn-Bibliotheken.
Matplotlib ist eine Python-2D-Plotbibliothek, die zum Zeichnen grundlegender Diagramme verwendet wird.
Seaborn ist auch eine auf Matplotlib basierende Python-Bibliothek, die kurze Codezeilen verwendet, um statistische Diagramme aus Pandas und Numpy zu erstellen und zu formatieren
Eine univariate Analyse kann sowohl für kategoriale als auch für numerische Variablen durchgeführt werden.

Kategorische Variablen können mithilfe eines Zähldiagramms, eines Balkendiagramms, eines Kreisdiagramms usw. visualisiert werden.
Numerische Variablen können mithilfe eines Histogramms, eines Boxplots, eines Dichtediagramms usw. visualisiert werden.

In unserem Beispiel haben wir eine univariate Analyse mit Histogramm und Boxplot für kontinuierliche Variablen durchgeführt.
In der folgenden Abbildung werden ein Histogramm und ein Boxplot verwendet, um das Muster der Variablen darzustellen, da einige Variablen Schiefe und Ausreißer aufweisen.

für col in num_cols:
print(col)
print('Skew :', Round(data[col].skew(), 2))
plt.figure(figsize = (15, 4))
plt.subplot(1, 2, 1)
data[col].hist(grid=False)
plt.ylabel('count')
plt.subplot(1, 2, 2)
sns.boxplot(x=data[col])
plt.show()

Preis und gefahrene Kilometer sind für die Transformation dieser Daten rechtsschief, und alle Ausreißer werden während der Imputation behandelt. Kategorische Variablen werden mithilfe eines Zähldiagramms visualisiert. Kategoriale Variablen liefern das Muster der Faktoren, die den Autopreis beeinflussen.
fig, axis = plt.subplots(3, 2, figsize = (18, 18))
fig.suptitle('Balkendiagramm für alle kategorialen Variablen im Datensatz')
sns.countplot(ax = axis[0, 0], x = 'Fuel_Type', data = data, color = 'blue',
order = data['Fuel_Type'].value_counts().index);
sns.countplot(ax = axis[0, 1], x = 'Transmission', data = data, color = 'blue',
order = data['Transmission'].value_counts().index);
sns.countplot(ax = axis[1, 0], x = 'Owner_Type', data = data, color = 'blue',
order = data['Owner_Type'].value_counts().index);
sns.countplot(ax = axis[1, 1], x = 'Location', data = data, color = 'blue',
order = data['Location'].value_counts().index);
sns.countplot(ax = axis[2, 0], x = 'Marke', data = data, color = 'blue',
order = data['Brand'].head(20).value_counts().index);
sns.countplot(ax = axis[2, 1], x = 'Model', data = data, color = 'blue',
order = data['Model'].head(20).value_counts().index);
Achsen[1][1].tick_params(labelrotation=45);
axis[2][0].tick_params(labelrotation=90);
Achsen[2][1].tick_params(labelrotation=90);

Aus dem Zähldiagramm können wir folgende Beobachtungen machen
• In Mumbai gibt es die höchste Anzahl an Autos, die zum Kauf angeboten werden, gefolgt von Hyderabad und Coimbatore
• ~53 % der Autos haben die Kraftstoffart Diesel. Dies zeigt, dass Dieselautos eine höhere Leistung bieten
• ~72 % der Autos haben ein Schaltgetriebe
• ~82 % der Autos sind Erstwagen. Dies zeigt, dass die meisten Käufer den Kauf von Erstbesitzerautos bevorzugen
• ~20 % der Autos gehören der Marke Maruti, gefolgt von 19 % der Autos der Marke Hyundai
• WagonR steht an erster Stelle aller käuflich zu erwerbenden Modelle.

SCHLUSSFOLGERUNG:
Die explorative Datenanalyse (EDA) deckt Erkenntnisse und Wissen aus Datensätzen auf, indem sie Ausreißer, Schlüsselmuster und Beziehungen zwischen Variablen erkennt. Dabei geht es darum, Daten zu sammeln, zu bereinigen und umzuwandeln, um ihre Attribute freizulegen.
Viel Spaß beim Lesen und lasst uns gemeinsam die Zukunft der Datenwissenschaft erkunden…

Das obige ist der detaillierte Inhalt vonEXPLORATORISCHE DATENANALYSE (EDA) MIT PYTHON: ERKENNTNISSE AUS DATEN. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage