Rumah > pembangunan bahagian belakang > Tutorial Python > ANALISIS DATA PENEROKAAN (EDA) DENGAN PYTHON: MEMBONGKAR CERITA DARI DATA

ANALISIS DATA PENEROKAAN (EDA) DENGAN PYTHON: MEMBONGKAR CERITA DARI DATA

Barbara Streisand
Lepaskan: 2025-01-03 02:02:37
asal
824 orang telah melayarinya

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

ANALISIS DATA PENEROKAAN (EDA) DENGAN PYTHON: MEMBONGKAR CERITA DARI DATA.

PENGENALAN
Analisis Data Penerokaan (EDA) adalah penting dalam analisis data, kerana ia membolehkan penganalisis menemui cerapan dan menyediakan data untuk pemodelan selanjutnya. Dalam artikel ini, kami akan menyelami pelbagai teknik dan alatan EDA yang tersedia dalam Python, untuk meningkatkan pemahaman data anda. Daripada membersihkan/memproses set data anda kepada menggambarkan penemuan anda dan menggunakan Python dalam bercerita dengan data.

Apakah itu Analisis Data Penerokaan?

Analisis Data Penerokaan (EDA) ialah kaedah menganalisis set data untuk memahami ciri utamanya. Ia melibatkan meringkaskan ciri data, mengesan corak dan mendedahkan hubungan melalui teknik visual dan statistik. EDA membantu dalam mendapatkan cerapan dan merumuskan hipotesis untuk analisis lanjut.

Analisis Data Penerokaan (EDA) dalam Python menggunakan pelbagai teknik yang penting untuk mendedahkan cerapan daripada data. Salah satu teknik asas melibatkan visualisasi data menggunakan perpustakaan seperti Matplotlib dan Seaborn. Alat ini membolehkan saintis data mencipta pelbagai jenis plot, termasuk plot serakan, histogram dan plot kotak, yang penting untuk memahami pengedaran dan perhubungan dalam set data.

Dengan menggambarkan data, penganalisis boleh mengenal pasti arah aliran, outlier dan corak yang mungkin tidak dapat dilihat melalui analisis berangka sahaja.

Satu lagi teknik penting dalam EDA ialah pembersihan dan manipulasi data, terutamanya difasilitasi oleh perpustakaan Pandas. Ini melibatkan pemprosesan set data dengan mengendalikan nilai yang tiada, menapis data dan menggunakan fungsi agregatif untuk meringkaskan cerapan. Aplikasi fungsi seperti 'groupby' membolehkan pengguna membahagikan data ke dalam kategori yang bermakna, sekali gus memudahkan analisis yang lebih jelas. Selain itu, menggabungkan kaedah statistik seperti analisis korelasi memberikan pemahaman lanjut tentang hubungan antara pembolehubah, membantu merumuskan hipotesis yang boleh diuji dalam analisis yang lebih berstruktur.

CARA MELAKUKAN EDA MENGGUNAKAN PYTHON

Langkah 1: Import Perpustakaan Python

Langkah pertama yang terlibat dalam ML menggunakan python ialah memahami dan bermain-main dengan data kami menggunakan perpustakaan. Anda boleh menggunakan pautan ini untuk mendapatkan set data di tapak web Kaggle : https://www.kaggle.com/datasets/sukhmanibedi/cars4u
Import semua perpustakaan yang diperlukan untuk analisis kami, seperti perpustakaan untuk pemuatan data, analisis statistik, visualisasi, transformasi data dan penggabungan serta penggabungan.

Panda dan Numpy telah digunakan untuk Manipulasi Data dan Pengiraan berangka
Matplotlib dan Seaborn telah digunakan untuk visualisasi Data.
KOD:
import panda sebagai pd
import numpy sebagai np
import matplotlib.pyplot sebagai plt
import seaborn sebagai sns
Untuk mengabaikan amaran
amaran import
warnings.filterwarnings('abaikan')

LANGKAH 2: MEMBACA SET DATA

Pustaka python Pandas menawarkan pelbagai kemungkinan untuk memuatkan data ke dalam DataFrame panda daripada fail seperti imej, .csv, .xlsx, .sql, .pickle, .html, .txt, dll.
Kebanyakan data tersedia dalam format jadual fail CSV. Ia bergaya dan mudah diakses. Menggunakan fungsi read_csv(), data boleh ditukar kepada DataFrame panda.
Dalam artikel ini, data untuk meramalkan harga kereta terpakai digunakan sebagai contoh. Dalam set data ini, kami cuba menganalisis harga kereta terpakai dan cara EDA memfokuskan pada mengenal pasti faktor yang mempengaruhi harga kereta. Kami telah menyimpan data dalam data DataFrame.
data = pd.read_csv("kereta_terpakai.csv")

MENGANALISIS DATA

Sebelum kami membuat sebarang inferens, kami mendengar data kami dengan memeriksa semua pembolehubah dalam data.
Matlamat utama pemahaman data adalah untuk mendapatkan cerapan umum tentang data, yang meliputi bilangan baris dan lajur, nilai dalam data, jenis data dan nilai Tiada dalam set data.
bentuk – bentuk akan memaparkan bilangan pemerhatian(baris) dan ciri(lajur) dalam set data
Terdapat 7253 pemerhatian dan 14 pembolehubah dalam dataset kami
head() akan memaparkan 5 pemerhatian teratas set data
data.head()

tail() akan memaparkan 5 pemerhatian terakhir bagi set data
data.tail()
info() membantu untuk memahami jenis data dan maklumat tentang data, termasuk bilangan rekod dalam setiap lajur, data mempunyai null atau tidak null, Jenis data, penggunaan memori set data

data.info()
data.info() menunjukkan pembolehubah Mileage, Enjin, Kuasa, Tempat Duduk, Harga Baharu dan Harga mempunyai nilai yang tiada. Pembolehubah berangka seperti Mileage, Power adalah jenis data sebagai; float64 dan int64. Pembolehubah kategori seperti Lokasi, Fuel_Type, Transmisi dan Jenis Pemilik adalah daripada jenis data objek.

SEMAK UNTUK DUPLIKASI

nunique() berdasarkan beberapa nilai unik dalam setiap lajur dan huraian data, kami boleh mengenal pasti lajur berterusan dan kategori dalam data. Data pendua boleh dikendalikan atau dialih keluar berdasarkan analisis lanjut.
data.nunique()

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

Pengiraan Nilai Hilang

isnull() telah digunakan secara meluas dalam semua langkah pra-pemprosesan untuk mengenal pasti nilai nol dalam data
Dalam contoh kami, data.isnull().sum() digunakan untuk mendapatkan bilangan rekod yang hilang dalam setiap lajur
data.isnull().sum()

Kod di bawah membantu mengira peratusan nilai yang hilang dalam setiap lajur
(data.isnull().sum()/(len(data)))*100

Peratusan nilai yang tiada untuk lajur New_Price dan Price ialah ~86% dan ~17%, masing-masing.

LANGKAH 3: PENGURANGAN DATA

Sesetengah lajur atau pembolehubah boleh digugurkan jika ia tidak menambah nilai pada analisis kami.
Dalam set data kami, lajur S.No hanya mempunyai nilai ID, dengan anggapan mereka tidak mempunyai sebarang kuasa ramalan untuk meramalkan pembolehubah bersandar.

Alih keluar S.No. lajur daripada data

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

Kami memulakan Kejuruteraan Ciri kami kerana kami perlu menambah beberapa lajur yang diperlukan untuk analisis.

Langkah 4: Kejuruteraan Ciri

Kejuruteraan ciri merujuk kepada proses menggunakan pengetahuan domain untuk memilih dan mengubah pembolehubah yang paling relevan daripada data mentah apabila mencipta model ramalan menggunakan pembelajaran mesin atau pemodelan statistik. Matlamat utama kejuruteraan Ciri adalah untuk mencipta data yang bermakna daripada data mentah.

Langkah 5: Mencipta Ciri

Kami akan bermain-main dengan pembolehubah Tahun dan Nama dalam set data kami. Jika kita melihat data sampel, lajur "Tahun" menunjukkan tahun pembuatan kereta.
Adalah sukar untuk mencari umur kereta jika ia dalam format tahun kerana Umur kereta adalah faktor penyumbang kepada Harga Kereta.
Memperkenalkan lajur baharu, “Car_Age” untuk mengetahui umur kereta
dari tarikh import datetime
tarikh.hari ini().tahun
data['Umur_Kereta']=tarikh.hari ini().data-tahun['Tahun']
data.head()

Memandangkan nama kereta tidak akan menjadi peramal yang hebat untuk harga dalam data semasa kami. Tetapi kami boleh memproses lajur ini untuk mengekstrak maklumat penting menggunakan nama jenama dan Model. Mari bahagikan nama dan perkenalkan pembolehubah baharu "Jenama" dan "Model"
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)
data[['Nama', 'Jenama', 'Model']]

LANGKAH 6: PEMBERSIHAN DATA/SELINGKUH
Sesetengah nama pembolehubah tidak relevan dan tidak mudah difahami. Sesetengah data mungkin mempunyai ralat kemasukan data dan beberapa pembolehubah mungkin memerlukan penukaran jenis data. Kami perlu membetulkan isu ini dalam data.
Dalam contoh, Nama jenama 'Isuzu' 'ISUZU' dan 'Mini' dan 'Tanah' kelihatan tidak betul.

Ini perlu diperbetulkan

cetak(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)
Kami telah melakukan analisis data asas, Penampilan dan pembersihan data.

Mari beralih ke proses EDA

Baca tentang asas analisis data penerokaan: https://www.analyticsvidhya.com/blog/2021/11/fundamentals-of-exploratory-data-analysis/

LANGKAH 7: ANALISIS DATA PENEROKAAN EDA

Analisis Data Penerokaan merujuk kepada proses penting dalam melaksanakan penyiasatan awal ke atas data untuk menemui corak untuk menyemak andaian dengan bantuan statistik ringkasan dan perwakilan grafik.

• EDA boleh dimanfaatkan untuk menyemak outlier, corak dan arah aliran dalam data yang diberikan.

• EDA membantu mencari corak yang bermakna dalam data.

• EDA menyediakan cerapan yang mendalam tentang set data untuk menyelesaikan masalah perniagaan kami.

• EDA memberikan petunjuk untuk mengaitkan nilai yang hilang dalam set data

LANGKAH 8: RINGKASAN STATISTIK

Maklumat memberikan penerangan yang cepat dan ringkas tentang data.
Boleh termasuk Kiraan, Min, Sisihan Piawai, median, mod, nilai minimum, nilai maksimum, julat, sisihan piawai, dsb.

Ringkasan statistik memberikan idea peringkat tinggi untuk mengenal pasti sama ada data mempunyai sebarang outlier, ralat kemasukan data, pengedaran data seperti data diedarkan secara normal atau condong ke kiri/kanan

Dalam python, ini boleh dicapai menggunakan describe()
fungsi describe() memberikan semua ringkasan statistik data
huraikan(); Sediakan ringkasan statistik data kepunyaan jenis data berangka seperti int, float
data.describe().T

Daripada ringkasan statistik, kita boleh membuat kesimpulan dapatan di bawah :
• Tahun berkisar antara 1996- 2019 dan mempunyai julat tinggi yang menunjukkan kereta terpakai mengandungi kedua-dua model terkini dan kereta model lama.

• Secara purata Kilometer dipandu dalam kereta Terpakai ialah ~58k KM. Julat menunjukkan perbezaan besar antara min dan maks kerana nilai maks menunjukkan 650000 KM menunjukkan bukti outlier. Rekod ini boleh dialih keluar.

• Nilai min Mileage menunjukkan 0 kereta tidak akan dijual dengan 0 mileage. Ini kelihatan seperti isu kemasukan data.
• Nampaknya Enjin dan Kuasa mempunyai kelebihan dan datanya condong ke kanan.

• Purata bilangan tempat duduk dalam kereta ialah 5. kerusi kereta ialah ciri penting dalam sumbangan harga.

• Harga max kereta terpakai ialah 160k yang agak pelik, harga yang tinggi untuk kereta terpakai. Mungkin terdapat isu outlier atau kemasukan data.

huraikan(include=’all’) menyediakan ringkasan statistik semua data, sertakan objek, kategori dll
data.describe(include='all')

Sebelum kita melakukan EDA, biarkan pembolehubah berangka dan kategori untuk analisis mudah
cat_cols=data.select_dtypes(include=['objek']).lajur
num_cols = data.select_dtypes(include=np.number).columns.tolist()
print("Pembolehubah Kategori:")
print(cat_cols)
print("Pembolehubah Berangka:")
print(num_cols)
Juga, Baca tentang artikel Sisihan Piawai dalam Excel dan Helaian https://www.analyticsvidhya.com/blog/2024/06/standard-deviation-in-excel/

LANGKAH 9: ANALISIS UNIVARIATE EDA
Menganalisis/memvisualisasikan set data dengan mengambil satu pembolehubah pada satu masa:
Visualisasi data adalah penting; kita mesti memutuskan carta apa yang hendak diplot untuk memahami data dengan lebih baik. Dalam artikel ini, kami menggambarkan data kami menggunakan perpustakaan Matplotlib dan Seaborn.
Matplotlib ialah perpustakaan pemplotan Python 2D yang digunakan untuk melukis carta asas..
Seaborn juga merupakan perpustakaan python yang dibina di atas Matplotlib yang menggunakan baris pendek kod untuk mencipta dan menggayakan plot statistik daripada Pandas dan Numpy
Analisis univariat boleh dilakukan untuk kedua-dua pembolehubah Kategori dan Berangka.

Pembolehubah kategori boleh divisualisasikan menggunakan plot Kira, Carta Bar, Plot Pai, dll.
Pembolehubah Berangka boleh digambarkan menggunakan Histogram, Plot Kotak, Plot Ketumpatan, dll.

Dalam contoh kami, kami telah melakukan analisis Univariat menggunakan Histogram dan Plot Kotak untuk Pembolehubah berterusan.
Dalam rajah di bawah, histogram dan plot kotak digunakan untuk menunjukkan corak pembolehubah, kerana sesetengah pembolehubah mempunyai kecondongan dan terpencil.

untuk kol dalam 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()

Harga dan Kilometer Didorong adalah condong tepat untuk data ini diubah, dan semua outlier akan dikendalikan semasa pembolehubah kategori imputasi divisualisasikan menggunakan plot kiraan. Pembolehubah kategori memberikan corak faktor yang mempengaruhi harga kereta.
rajah, paksi = plt.subplots(3, 2, saiz rajah = (18, 18))
fig.suptitle('Plot bar untuk semua pembolehubah kategori dalam set data')
sns.countplot(ax = paksi[0, 0], x = 'Fuel_Type', data = data, warna = 'biru',
pesanan = data['Fuel_Type'].value_counts().index);
sns.countplot(ax = paksi[0, 1], x = 'Transmisi', data = data, warna = 'biru',
pesanan = data['Penghantaran'].kiraan_nilai().indeks);
sns.countplot(ax = paksi[1, 0], x = 'Owner_Type', data = data, color = 'biru',
pesanan = data['Owner_Type'].value_counts().index);
sns.countplot(ax = paksi[1, 1], x = 'Lokasi', data = data, warna = 'biru',
pesanan = data['Lokasi'].kiraan_nilai().index);
sns.countplot(ax = paksi[2, 0], x = 'Jenama', data = data, warna = 'biru',
pesanan = data['Brand'].head(20).value_counts().index);
sns.countplot(ax = paksi[2, 1], x = 'Model', data = data, warna = 'biru',
pesanan = data['Model'].head(20).value_counts().index);
paksi[1][1].tick_params(labelrotation=45);
paksi[2][0].tick_params(labelrotation=90);
paksi[2][1].tick_params(labelrotation=90);

Daripada plot kiraan, kita boleh mempunyai pemerhatian di bawah
• Mumbai mempunyai bilangan kereta tertinggi yang tersedia untuk pembelian, diikuti oleh Hyderabad dan Coimbatore
• ~53% kereta mempunyai jenis bahan api kerana Diesel ini menunjukkan kereta diesel memberikan prestasi yang lebih tinggi
• ~72% kereta mempunyai transmisi manual
• ~82 % daripada kereta adalah kereta milik pertama. Ini menunjukkan kebanyakan pembeli lebih suka membeli kereta pemilik pertama
• ~20% kereta milik jenama Maruti diikuti oleh 19% kereta milik Hyundai
• WagonR menduduki tempat pertama antara semua model yang tersedia untuk pembelian.

KESIMPULAN:
Analisis data penerokaan (EDA) mendedahkan cerapan dan pengetahuan daripada set data dengan mengesan outlier, corak utama dan hubungan antara pembolehubah. Ia melibatkan pengumpulan, pembersihan dan transformasi data untuk mendedahkan atributnya.
Selamat Membaca dan Mari bersama-sama meneroka masa depan Sains Data…

Atas ialah kandungan terperinci ANALISIS DATA PENEROKAAN (EDA) DENGAN PYTHON: MEMBONGKAR CERITA DARI DATA. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan