Hallo Semua, Gw WhmmGlobe
Hari Ini Gw akan menunjukkan Kepada Kalian
[ Menemukan Mean, Median, dan Mode dengan Python ]
<---------->
Mean, median, dan modus adalah topik dasar statistik. Anda dapat dengan mudah menghitungnya dengan Python, dengan dan tanpa menggunakan perpustakaan eksternal.
Ketiganya adalah ukuran utama tendensi sentral . Tendensi sentral memungkinkan kita mengetahui nilai "normal" atau "rata-rata" dari kumpulan data. Jika Anda baru memulai dengan ilmu data , ini adalah tutorial yang tepat untuk Anda.
Pada Akhir Tutorial Anda Akan :
- Memahami konsep mean, median, dan modus
- Mampu membuat fungsi mean, median, dan mode Anda sendiri dengan Python
- Manfaatkan modul statistik Python untuk memulai penggunaan pengukuran ini dengan cepat
Menghitung Mean dengan Python
The rata atau aritmetika rata-rata adalah ukuran yang paling banyak digunakan tendensi sentral.
Ingatlah bahwa tendensi sentral adalah nilai tipikal dari sekumpulan data.
Kumpulan data adalah kumpulan data, oleh karena itu kumpulan data dalam Python dapat berupa salah satu dari struktur data bawaan berikut:
Daftar, tupel, dan set: kumpulan objek
String: kumpulan karakter
Kamus: kumpulan pasangan nilai kunci
Catatan: Meskipun ada struktur data lain di Python seperti queues atau stacks , kami hanya akan menggunakan yang built-in.
Kita dapat menghitung mean dengan menambahkan semua nilai dari dataset dan membagi hasilnya dengan jumlah nilai. Misalnya, jika kita memiliki daftar angka berikut:
[1, 2, 3, 4, 5, 6]
Rata-rata atau rata-ratanya adalah 3,5 karena jumlah daftarnya adalah 21 dan panjangnya adalah 6 . Dua puluh satu dibagi enam adalah 3,5 . Anda dapat melakukan perhitungan ini dengan perhitungan di bawah ini:
(1 + 2 + 3 + 4 + 5 + 6) / 6 = 21
Dalam tutorial ini, kita akan menggunakan pemain dari tim bola basket sebagai sampel data kita.
Membuat Fungsi Rata-Rata Kustom
Mari kita mulai dengan menghitung usia rata-rata (rata-rata) pemain dalam tim bola basket. Nama tim akan menjadi "Mesin Python".
pythonic_machine_ages = [19, 22, 34, 26, 32, 30, 24, 24]
def mean(dataset):
return sum(dataset) / len(dataset)
print(mean(pythonic_machine_ages))
Memecah kode ini:
- "pythonic_machine_ages" adalah daftar usia pemain bola basket
- Kami mendefinisikan fungsi mean() yang mengembalikan jumlah dari kumpulan data yang diberikan dibagi dengan panjangnya
• Fungsi sum() mengembalikan jumlah total (ironisnya) dari nilai-nilai yang dapat diubah, dalam hal ini, sebuah daftar. Cobalah untuk meneruskan dataset sebagai argumen, itu akan mengembalikan 211
• Fungsi len() mengembalikan panjang iterable, jika Anda meneruskan dataset ke sana, Anda akan mendapatkan 8
- Kami meneruskan usia tim bola basket ke fungsi mean() dan mencetak hasilnya.
Jika Anda memeriksa output, Anda akan mendapatkan:
26.375
# Because 211 / 8 = 26.375
Output ini mewakili usia rata-rata pemain tim bola basket. Perhatikan bagaimana nomor tersebut tidak muncul dalam kumpulan data tetapi menggambarkan dengan tepat usia sebagian besar pemain.
Menggunakan mean() dari Modul Statistik Python
Menghitung ukuran tendensi sentral adalah operasi umum bagi sebagian besar pengembang. Itu karena modul statistik Python menyediakan beragam fungsi untuk menghitungnya, bersama dengan topik statistik dasar lainnya.
Karena ini adalah bagian dari pustaka standar Python, Anda tidak perlu menginstal paket eksternal apa pun dengan PIP .
Inilah cara Anda menggunakan modul ini:
from statistics import mean
pythonic_machine_ages = [19, 22, 34, 26, 32, 30, 24, 24]
print(mean(pythonic_machine_ages))
Dalam kode di atas, Anda hanya perlu mengimpor fungsi mean() dari modul statistik dan meneruskan dataset ke dalamnya sebagai argumen. Ini akan mengembalikan hasil yang sama seperti fungsi kustom yang kita definisikan di bagian sebelumnya:
26.375
Sekarang Anda telah memahami konsep mean, mari kita lanjutkan dengan pengukuran median.
Menemukan Median dengan Python
The median adalah nilai tengah dari dataset diurutkan. Ini digunakan — sekali lagi — untuk memberikan nilai “khas” dari populasi yang ditentukan .
Dalam pemrograman, kita dapat mendefinisikan median sebagai nilai yang memisahkan urutan menjadi dua bagian — Setengah bagian bawah dan bagian atas —.
Untuk menghitung median, pertama, kita perlu mengurutkan dataset. Kita bisa melakukan ini dengan algoritma pengurutan atau menggunakan fungsi bawaan sort () . Langkah kedua adalah menentukan apakah panjang dataset ganjil atau genap. Tergantung pada ini beberapa proses berikut:
- Ganjil: Median adalah nilai tengah dari kumpulan data
- Genap: Median adalah jumlah dari dua nilai tengah dibagi dua
Melanjutkan dataset tim bola basket kami, mari hitung tinggi rata-rata pemain dalam sentimeter:
[181, 187, 196, 196, 198, 203, 207, 211, 215]
# Since the dataset is odd, we select the middle value
median = 198
Seperti yang Anda lihat, karena panjang dataset ganjil, maka kita dapat mengambil nilai tengah sebagai median. Namun, apa jadinya jika seorang pemain baru saja pensiun?
Kita perlu menghitung median dengan mengambil dua nilai tengah dari kumpulan data
[181, 187, 196, 198, 203, 207, 211, 215]
# We select the two middle values, and divide them by 2
median = (198 + 203) / 2
median = 200.5
Membuat Fungsi Median Kustom
Mari kita implementasikan konsep di atas ke dalam fungsi Python.
Ingat tiga langkah yang perlu kita ikuti untuk mendapatkan median dari dataset:
- Urutkan dataset: Kita bisa melakukan ini dengan diurutkan () function
- Tentukan apakah ganjil atau genap: Kita dapat melakukannya dengan mendapatkan panjang dataset dan menggunakan operator modulo (%)
- Kembalikan median berdasarkan setiap kasus:
• Ganjil: Mengembalikan nilai tengah
• Genap: Mengembalikan rata-rata dari dua nilai tengah
Itu akan menghasilkan fungsi berikut:
pythonic_machines_heights = [181, 187, 196, 196, 198, 203, 207, 211, 215]
after_retirement = [181, 187, 196, 198, 203, 207, 211, 215]
def median(dataset):
data = sorted(dataset)
index = len(data) // 2
# If the dataset is odd
if len(dataset) % 2 != 0:
return data[index]
# If the dataset is even
return (data[index - 1] + data[index]) / 2
Mencetak hasil dari kumpulan data kami:
print(median(pythonic_machines_heights))
print(median(after_retirement))
Keluaran:
198
200.5
Perhatikan bagaimana kita membuat variabel data yang menunjuk ke database yang diurutkan di awal fungsi. Meskipun daftar di atas diurutkan, kami ingin membuat fungsi yang dapat digunakan kembali, oleh karena itu menyortir kumpulan data setiap kali fungsi dipanggil.
The Indeks menyimpan nilai tengah - atau nilai menengah-atas - dari dataset, dengan menggunakan pembagian integer operator. Misalnya, jika kita melewati daftar "pythonic_machine_heights" itu akan memiliki nilai 4 .
Ingat bahwa dalam urutan Python, indeks dimulai dari nol, itu karena kami dapat mengembalikan indeks tengah daftar, dengan pembagian bilangan bulat.
Kemudian kami memeriksa apakah panjang dataset ganjil dengan membandingkan hasil operasi modulo dengan nilai apa pun yang bukan nol. Jika kondisinya benar, kami mengembalikan elemen tengah, misalnya, dengan daftar "pythonic_machine_heights":
>>> pythonic_machine_heights[4]
# 198
Di sisi lain, jika dataset genap, kami mengembalikan jumlah nilai tengah dibagi dua. Perhatikan bahwa data[index -1] memberi kita titik tengah bawah dari dataset, sedangkan data[index] memberi kita titik tengah atas.
Menggunakan median() dari Modul Statistik Python
Cara ini jauh lebih sederhana karena kita menggunakan fungsi yang sudah ada dari modul statistik.
Secara pribadi, jika ada sesuatu yang sudah ditentukan untuk saya, saya akan menggunakannya karena prinsip KERING —Jangan ulangi diri Anda sendiri — (dalam hal ini, jangan ulangi kode orang lain).
Anda dapat menghitung median dari kumpulan data sebelumnya dengan kode berikut:
from statistics import median
pythonic_machines_heights = [181, 187, 196, 196, 198, 203, 207, 211, 215]
after_retirement = [181, 187, 196, 198, 203, 207, 211, 215]
print(median(pythonic_machines_heights))
print(median(after_retirement))
Menghitung Mode dengan Python
The Modus adalah nilai yang paling sering dalam dataset. Kita dapat menganggapnya sebagai kelompok sekolah yang “populer”, yang mungkin mewakili standar untuk semua siswa.
Contoh mode dapat berupa penjualan harian toko teknologi. Mode set data tersebut akan menjadi produk yang paling banyak terjual pada hari tertentu.
['laptop', 'desktop', 'smartphone', 'laptop', 'laptop', 'headphones']
Seperti yang dapat Anda hargai, mode kumpulan data di atas adalah "laptop" karena itu adalah nilai yang paling sering ada dalam daftar.
Hal yang keren tentang mode adalah bahwa dataset tidak boleh numerik. Misalnya, kita dapat bekerja dengan string.
Mari kita menganalisis penjualan hari lain:
['mouse', 'camera', 'headphones', 'usb', 'headphones', 'mouse']
Dataset di atas memiliki dua mode: "mouse" dan "headphone" karena keduanya memiliki frekuensi dua. Ini berarti ini adalah kumpulan data multimodal .
Bagaimana jika kita tidak dapat menemukan mode dalam dataset, seperti di bawah ini?
['usb', 'camera', 'smartphone', 'laptop', 'TV']
Ini disebut distribusi seragam , pada dasarnya berarti tidak ada mode dalam dataset.
Sekarang Anda memiliki pemahaman yang cepat tentang konsep mode, mari kita hitung dengan Python.
Membuat Fungsi Mode Kustom
Kita dapat menganggap frekuensi suatu nilai sebagai pasangan nilai kunci, dengan kata lain, kamus Python .
Merekapitulasi analogi bola basket, kita dapat menggunakan dua kumpulan data untuk digunakan: Poin per game, dan sponsor sepatu kets dari beberapa pemain.
Untuk menemukan mode, pertama-tama kita perlu membuat kamus frekuensi dengan masing-masing nilai yang ada dalam dataset, kemudian mendapatkan frekuensi maksimum, dan mengembalikan semua elemen dengan frekuensi tersebut.
Mari kita terjemahkan ini ke dalam kode:
points_per_game = [3, 15, 23, 42, 30, 10, 10, 12]
sponsorship = ['nike', 'adidas', 'nike', 'jordan',
'jordan', 'rebook', 'under-armour', 'adidas']
def mode(dataset):
frequency = {}
for value in dataset:
frequency[value] = frequency.get(value, 0) + 1
most_frequent = max(frequency.values())
modes = [key for key, value in frequency.items()
if value == most_frequent]
return modes
Memeriksa hasil melewati dua daftar sebagai argumen:
print(mode(points_per_game))
print(mode(sponsorship))
Seperti yang Anda lihat, pernyataan cetak pertama memberi kami satu mode, sedangkan yang kedua mengembalikan beberapa mode.
Menjelaskan lebih dalam kode di atas:
• Kami mendeklarasikan kamus frekuensi
• Kami mengulangi set data untuk membuat histogram — istilah statistik untuk satu set penghitung (atau frekuensi) —
- Jika kuncinya ditemukan di kamus, maka itu akan menambahkan satu ke nilainya
- Jika tidak ditemukan, kami membuat pasangan nilai kunci dengan nilai satu
• The most_frequent variabel toko - ironisnya - nilai terbesar (bukan kunci) dari kamus frekuensi
• Kami mengembalikan variabel mode yang terdiri dari semua kunci dalam kamus frekuensi dengan frekuensi terbanyak.
Perhatikan betapa pentingnya penamaan variabel untuk menulis kode yang dapat dibaca.
Menggunakan mode() dan multimode() dari Modul Statistik Python
Sekali lagi modul statistik memberi kita cara cepat untuk melakukan operasi statistik dasar.
Kita dapat menggunakan dua fungsi: mode() dan multimode() .
from statistics import mode, multimode
points_per_game = [3, 15, 23, 42, 30, 10, 10, 12]
sponsorship = ['nike', 'adidas', 'nike', 'jordan',
'jordan', 'rebook', 'under-armour', 'adidas']
Kode di atas mengimpor kedua fungsi dan mendefinisikan kumpulan data yang telah kita kerjakan.
Inilah perbedaan kecilnya: Fungsi mode() mengembalikan mode pertama yang ditemuinya, sementara multimode() mengembalikan daftar dengan nilai yang paling sering dalam kumpulan data.
Akibatnya, kita dapat mengatakan bahwa fungsi kustom yang kita definisikan sebenarnya adalah fungsi multimode() .
print(mode(points_per_game))
print(mode(sponsorship))
Catatan: Dalam Python 3.8 atau lebih tinggi, fungsi mode() mengembalikan mode pertama yang ditemukan. Jika Anda memiliki versi yang lebih lama, Anda akan mendapatkan StatisticsError .
Menggunakan fungsi multimode() :
print(multimode(points_per_game))
print(multimode(sponsorship))
Keluaran:
[10]
['nike', 'adidas', 'jordan']
- Oke Sekian Dan Terima Kasih :) -
- Security 1945 Hacker Team © 2019
- Inspiration By geekflare.com