Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Teknik analisis kelompok dalam Python

Teknik analisis kelompok dalam Python

PHPz
PHPzasal
2023-06-10 21:46:353385semak imbas

Dengan perkembangan teknologi data besar, analisis kelompok, sebagai kaedah analisis data yang penting, telah menarik lebih banyak perhatian. Dalam bahasa Python, terdapat juga banyak perpustakaan dan alatan analisis kelompok yang berkuasa, seperti scikit-learn, panda, dll. Hari ini kami akan memperkenalkan teknik analisis kelompok dalam Python.

1. Apakah itu analisis kelompok?

Analisis kluster ialah kaedah pembelajaran tanpa pengawasan untuk mengklasifikasikan data Ia membahagikan titik data kepada beberapa kumpulan dengan menganalisis persamaan dalam set data, supaya perbezaan antara titik data dalam kumpulan adalah sebanyak mungkin. perbezaan antara titik data antara kumpulan adalah sebesar mungkin. Analisis kluster boleh digunakan untuk pelbagai bidang, seperti biologi, sosiologi, kewangan, dll.

2. Pustaka analisis kelompok dalam Python

Dalam Python, terdapat banyak perpustakaan dan alatan analisis kelompok yang berkuasa, seperti scikit-learn, panda, dsb. Di bawah ini kami akan memperkenalkan dua perpustakaan analisis kelompok yang sangat biasa digunakan:

  1. scikit-learn

scikit-learn ialah salah satu perpustakaan pembelajaran mesin yang paling popular dalam Python banyak algoritma pembelajaran mesin klasik terbina dalam, termasuk analisis kelompok. Dalam scikit-learn, algoritma pengelompokan seperti KMeans dan DBSCAN boleh digunakan.

Algoritma KMeans ialah algoritma pengelompokan yang biasa digunakan, yang membahagikan set data kepada gugusan K. Idea asas algoritma KMeans ialah: mula-mula pilih titik pusat K secara rawak, kemudian tetapkan titik data kepada kelompok di mana titik pusat terdekat terletak, kemudian kira semula titik tengah setiap kelompok, dan ulangi proses ini sehingga pusat titik terletak. Titik tidak lagi berubah atau mencapai bilangan lelaran yang telah ditetapkan.

Algoritma DBSCAN ialah algoritma pengelompokan berasaskan ketumpatan Ideanya adalah untuk menggunakan titik data dengan ketumpatan lebih tinggi daripada ambang tertentu sebagai pusat kelompok dan titik lain sebagai titik hingar. Kelebihan algoritma DBSCAN ialah ia boleh mencari pusat kluster secara adaptif dan tidak sensitif kepada titik hingar.

  1. pandas

pandas ialah perpustakaan analisis data yang biasa digunakan dalam Python Ia menyediakan beberapa fungsi agregat, seperti groupby, pivot_table, dll., yang boleh digunakan untuk. pengagregatan dan statistik set data menganalisis. Dalam analisis kelompok, anda boleh menggunakan fungsi kumpulan mengikut panda untuk mengumpulkan set data mengikut lajur yang ditentukan dan mengira titik tengah kelompok.

3. Aplikasi analisis kluster

Analisis kluster boleh digunakan untuk pelbagai bidang, seperti biologi, sosiologi, kewangan, dll. Di bawah ini kami akan mengambil data demografi sebagai contoh untuk memperkenalkan secara ringkas aplikasi analisis kelompok.

Kami menggunakan perpustakaan panda untuk membaca set data demografi, yang mengandungi maklumat seperti pendapatan per kapita, KDNK per kapita dan kepadatan penduduk di setiap wilayah. Mula-mula, kami menggunakan algoritma KMeans pustaka scikit-learn untuk melaksanakan analisis kelompok pada set data dan membahagikan data kepada 3 kelompok. Kodnya adalah seperti berikut:

from sklearn.cluster import KMeans
import pandas as pd

data = pd.read_csv('data.csv')
x = data[['income','gdp','density']]
kmeans = KMeans(n_clusters=3)
kmeans.fit(x)
labels_1 = kmeans.labels_

Seterusnya, kami menggunakan algoritma DBSCAN untuk melakukan analisis kelompok pada set data, menetapkan jejari kepada 1 dan bilangan minimum sampel kepada 5. Kodnya adalah seperti berikut:

from sklearn.cluster import DBSCAN
dbscan = DBSCAN(eps=1, min_samples=5)
dbscan.fit(x)
labels_2 = dbscan.labels_

Akhir sekali, kami menggunakan fungsi kumpulan mengikut perpustakaan panda untuk mengira min setiap kumpulan berdasarkan "rantau". Kodnya adalah seperti berikut:

result = data.groupby('region')[['income','gdp','density']].mean()

4. Ringkasan

Analisis kluster ialah kaedah analisis data yang penting Terdapat juga banyak perpustakaan dan alatan analisis kluster yang berkuasa dalam Python, seperti scikit -learn , panda, dsb. Dalam aplikasi praktikal, algoritma dan kaedah pengelompokan yang berbeza boleh dipilih mengikut senario data tertentu untuk melaksanakan analisis kelompok dan perlombongan data.

Atas ialah kandungan terperinci Teknik analisis kelompok dalam Python. 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