cari
Rumahpembangunan bahagian belakangTutorial PythonANALISIS DATA PENEROKAAN (EDA) DENGAN PYTHON: MEMBONGKAR CERITA DARI DATA

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!

Kenyataan
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
Menyenaraikan senarai di Python: Memilih kaedah yang betulMenyenaraikan senarai di Python: Memilih kaedah yang betulMay 14, 2025 am 12:11 AM

Tomergelistsinpython, operator youCanusethe, extendmethod, listcomprehension, oritertools.chain, eachwithspecificadvantages: 1) operatorSimpleButlessefficientficorlargelists;

Bagaimana untuk menggabungkan dua senarai dalam Python 3?Bagaimana untuk menggabungkan dua senarai dalam Python 3?May 14, 2025 am 12:09 AM

Dalam Python 3, dua senarai boleh disambungkan melalui pelbagai kaedah: 1) Pengendali penggunaan, yang sesuai untuk senarai kecil, tetapi tidak cekap untuk senarai besar; 2) Gunakan kaedah Extend, yang sesuai untuk senarai besar, dengan kecekapan memori yang tinggi, tetapi akan mengubah suai senarai asal; 3) menggunakan * pengendali, yang sesuai untuk menggabungkan pelbagai senarai, tanpa mengubah suai senarai asal; 4) Gunakan itertools.chain, yang sesuai untuk set data yang besar, dengan kecekapan memori yang tinggi.

Rentetan senarai concatenate pythonRentetan senarai concatenate pythonMay 14, 2025 am 12:08 AM

Menggunakan kaedah Join () adalah cara yang paling berkesan untuk menyambungkan rentetan dari senarai di Python. 1) Gunakan kaedah Join () untuk menjadi cekap dan mudah dibaca. 2) Kitaran menggunakan pengendali tidak cekap untuk senarai besar. 3) Gabungan pemahaman senarai dan menyertai () sesuai untuk senario yang memerlukan penukaran. 4) Kaedah mengurangkan () sesuai untuk jenis pengurangan lain, tetapi tidak cekap untuk penyambungan rentetan. Kalimat lengkap berakhir.

Pelaksanaan Python, apa itu?Pelaksanaan Python, apa itu?May 14, 2025 am 12:06 AM

PythonexecutionistheprocessoftransformingpythoncodeIntoExecutableInstructions.1) TheinterpreterreadsTheCode, convertingIntoByteCode, yang mana -mana

Python: Apakah ciri -ciri utamaPython: Apakah ciri -ciri utamaMay 14, 2025 am 12:02 AM

Ciri -ciri utama Python termasuk: 1. Sintaks adalah ringkas dan mudah difahami, sesuai untuk pemula; 2. Sistem jenis dinamik, meningkatkan kelajuan pembangunan; 3. Perpustakaan standard yang kaya, menyokong pelbagai tugas; 4. Komuniti dan ekosistem yang kuat, memberikan sokongan yang luas; 5. Tafsiran, sesuai untuk skrip dan prototaip cepat; 6. Sokongan multi-paradigma, sesuai untuk pelbagai gaya pengaturcaraan.

Python: pengkompil atau penterjemah?Python: pengkompil atau penterjemah?May 13, 2025 am 12:10 AM

Python adalah bahasa yang ditafsirkan, tetapi ia juga termasuk proses penyusunan. 1) Kod python pertama kali disusun ke dalam bytecode. 2) Bytecode ditafsirkan dan dilaksanakan oleh mesin maya Python. 3) Mekanisme hibrid ini menjadikan python fleksibel dan cekap, tetapi tidak secepat bahasa yang disusun sepenuhnya.

Python untuk gelung vs semasa gelung: Bila menggunakan yang mana?Python untuk gelung vs semasa gelung: Bila menggunakan yang mana?May 13, 2025 am 12:07 AM

UseAforLoopWheniteratingOvereForforpecificNumbimes; Useaphileloopwhencontinuinguntilaconditionismet.forloopsareidealforknownownsequences, sementara yang tidak digunakan.

Gelung Python: Kesalahan yang paling biasaGelung Python: Kesalahan yang paling biasaMay 13, 2025 am 12:07 AM

Pythonloopscanleadtoerrorslikeinfiniteloops, pengubahsuaianListsduringiteration, off-by-oneerrors, sifar-indexingissues, andnestedloopinefficies.toavoidthese: 1) use'i

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Nordhold: Sistem Fusion, dijelaskan
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Cara Membuka Kunci Cangkuk Bergelut
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

SublimeText3 versi Inggeris

SublimeText3 versi Inggeris

Disyorkan: Versi Win, menyokong gesaan kod!

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

mPDF

mPDF

mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),

Dreamweaver Mac版

Dreamweaver Mac版

Alat pembangunan web visual