Koefisien korelasi mengukur hubungan antara variabel atau fitur dari kumpulan data. Statistik ini sangat penting untuk sains dan teknologi, dan Python memiliki alat hebat yang dapat Anda gunakan untuk menghitungnya. Metode korelasi SciPy, NumPy, dan Panda cepat, komprehensif, dan terdokumentasi dengan baik
Dalam tutorial ini, Anda akan belajar
- Apa itu koefisien korelasi Pearson, Spearman, dan Kendall
- Cara menggunakan fungsi korelasi SciPy, NumPy, dan Pandas
- Cara memvisualisasikan data, garis regresi, dan matriks korelasi dengan Matplotlib
Anda akan mulai dengan penjelasan tentang korelasi, kemudian melihat tiga contoh pengantar singkat, dan akhirnya mempelajari detail korelasi NumPy, SciPy, dan Pandas
Bonus Gratis. yang mengarahkan Anda ke tutorial, video, dan buku terbaik untuk meningkatkan keterampilan NumPy Anda
Korelasi
Statistik dan ilmu data sering mengkhawatirkan hubungan antara dua atau lebih variabel (atau fitur) dari kumpulan data. Setiap titik data dalam kumpulan data adalah observasi, dan fiturnya adalah properti atau atribut dari observasi tersebut
Setiap kumpulan data yang Anda gunakan menggunakan variabel dan pengamatan. Misalnya, Anda mungkin tertarik untuk memahami yang berikut ini
- Bagaimana tinggi badan pemain bola basket berkorelasi dengan akurasi tembakan mereka
- Apakah ada hubungan antara pengalaman kerja karyawan dan gaji
- Ketergantungan matematis apa yang ada antara kepadatan populasi dan produk domestik bruto dari berbagai negara
Pada contoh di atas, tinggi badan, ketepatan menembak, pengalaman bertahun-tahun, gaji, kepadatan penduduk, dan produk domestik bruto adalah fitur atau variabelnya. Data yang terkait dengan setiap pemain, karyawan, dan setiap negara adalah hasil observasi
Ketika data direpresentasikan dalam bentuk tabel, baris dari tabel tersebut biasanya adalah observasi, sedangkan kolom adalah fiturnya. Lihatlah tabel karyawan ini
NamaTahun PengalamanGaji TahunanAnn30120,000Rob21105,000Tom1990,000Ivy1082,000
Dalam tabel ini, setiap baris mewakili satu observasi, atau data tentang satu karyawan (Ann, Rob, Tom, atau Ivy). Setiap kolom menampilkan satu properti atau fitur (nama, pengalaman, atau gaji) untuk semua karyawan
Jika Anda menganalisis dua fitur dari kumpulan data, Anda akan menemukan beberapa jenis korelasi antara kedua fitur tersebut. Pertimbangkan angka-angka berikut
Masing-masing plot ini menunjukkan salah satu dari tiga bentuk korelasi yang berbeda
Korelasi negatif (titik merah). Dalam plot di sebelah kiri, nilai y cenderung menurun saat nilai x meningkat. Ini menunjukkan korelasi negatif yang kuat, yang terjadi ketika nilai besar dari satu fitur sesuai dengan nilai kecil fitur lainnya, dan sebaliknya
Lemah atau tidak ada korelasi (titik hijau). Plot di tengah tidak menunjukkan tren yang jelas. Ini adalah bentuk korelasi lemah, yang terjadi ketika hubungan antara dua ciri tidak jelas atau hampir tidak dapat diamati
Korelasi positif (titik biru). Dalam plot di sebelah kanan, nilai y cenderung meningkat seiring dengan peningkatan nilai x. Ini menggambarkan korelasi positif yang kuat, yang terjadi ketika nilai besar dari satu fitur sesuai dengan nilai besar fitur lainnya, dan sebaliknya
Gambar berikutnya mewakili data dari tabel karyawan di atas
Korelasi antara pengalaman dan gaji adalah positif karena pengalaman yang lebih tinggi sesuai dengan gaji yang lebih besar dan sebaliknya
Catatan. Saat Anda menganalisis korelasi, Anda harus selalu ingat bahwa korelasi tidak menunjukkan sebab-akibat. Ini mengukur kekuatan hubungan antara fitur-fitur dari kumpulan data. Terkadang, asosiasi tersebut disebabkan oleh faktor yang sama pada beberapa fitur yang menarik
Korelasi terkait erat dengan kuantitas statistik lainnya seperti rata-rata, standar deviasi, varians, dan kovarians. Jika Anda ingin mempelajari lebih lanjut tentang kuantitas ini dan cara menghitungnya dengan Python, lihat Statistik Deskriptif dengan Python
Ada beberapa statistik yang dapat Anda gunakan untuk mengukur korelasi. Dalam tutorial ini, Anda akan belajar tentang tiga koefisien korelasi
- r Pearson
- Spearman's rho
- Tau Kendall
Koefisien Pearson mengukur korelasi linier, sedangkan koefisien Spearman dan Kendall membandingkan peringkat data. Ada beberapa fungsi dan metode korelasi NumPy, SciPy, dan Pandas yang dapat Anda gunakan untuk menghitung koefisien ini. Anda juga dapat menggunakan Matplotlib untuk mengilustrasikan hasilnya dengan mudah
Hilangkan iklanContoh. Perhitungan Korelasi NumPy
NumPy memiliki banyak rutinitas statistik, termasuk >>> scipy.stats.pearsonr(x, y)[0] # Pearson's r 0.7586402890911869 >>> scipy.stats.spearmanr(x, y)[0] # Spearman's rho 0.9757575757575757 >>> scipy.stats.kendalltau(x, y)[0] # Kendall's tau 0.911111111111111 6, yang mengembalikan matriks koefisien korelasi Pearson. Anda bisa mulai dengan mengimpor NumPy dan menentukan dua array NumPy. Ini adalah instance dari kelas >>> scipy.stats.pearsonr(x, y)[0] # Pearson's r 0.7586402890911869 >>> scipy.stats.spearmanr(x, y)[0] # Spearman's rho 0.9757575757575757 >>> scipy.stats.kendalltau(x, y)[0] # Kendall's tau 0.911111111111111 7. Panggil mereka >>> scipy.stats.pearsonr(x, y)[0] # Pearson's r 0.7586402890911869 >>> scipy.stats.spearmanr(x, y)[0] # Spearman's rho 0.9757575757575757 >>> scipy.stats.kendalltau(x, y)[0] # Kendall's tau 0.911111111111111 _8 dan >>> scipy.stats.pearsonr(x, y)[0] # Pearson's r 0.7586402890911869 >>> scipy.stats.spearmanr(x, y)[0] # Spearman's rho 0.9757575757575757 >>> scipy.stats.kendalltau(x, y)[0] # Kendall's tau 0.911111111111111 9
>>> >>> import numpy as np >>> x = np.arange(10, 20) >>> x array([10, 11, 12, 13, 14, 15, 16, 17, 18, 19]) >>> y = np.array([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) >>> y array([ 2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) _
Di sini, Anda menggunakan >>> scipy.stats.spearmanr(x, y).correlation # Spearman's rho 0.9757575757575757 >>> scipy.stats.kendalltau(x, y).correlation # Kendall's tau 0.911111111111111 0 untuk membuat larik >>> scipy.stats.pearsonr(x, y)[0] # Pearson's r 0.7586402890911869 >>> scipy.stats.spearmanr(x, y)[0] # Spearman's rho 0.9757575757575757 >>> scipy.stats.kendalltau(x, y)[0] # Kendall's tau 0.911111111111111 8 bilangan bulat antara 10 (inklusif) dan 20 (eksklusif). Kemudian Anda menggunakan >>> scipy.stats.spearmanr(x, y).correlation # Spearman's rho 0.9757575757575757 >>> scipy.stats.kendalltau(x, y).correlation # Kendall's tau 0.911111111111111 _2 untuk membuat larik kedua >>> scipy.stats.pearsonr(x, y)[0] # Pearson's r 0.7586402890911869 >>> scipy.stats.spearmanr(x, y)[0] # Spearman's rho 0.9757575757575757 >>> scipy.stats.kendalltau(x, y)[0] # Kendall's tau 0.911111111111111 9 yang berisi bilangan bulat arbitrer
Setelah Anda memiliki dua larik dengan panjang yang sama, Anda dapat memanggil >>> scipy.stats.pearsonr(x, y)[0] # Pearson's r 0.7586402890911869 >>> scipy.stats.spearmanr(x, y)[0] # Spearman's rho 0.9757575757575757 >>> scipy.stats.kendalltau(x, y)[0] # Kendall's tau 0.911111111111111 6 dengan kedua larik sebagai argumen
>>> >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 _
>>> scipy.stats.spearmanr(x, y).correlation # Spearman's rho 0.9757575757575757 >>> scipy.stats.kendalltau(x, y).correlation # Kendall's tau 0.911111111111111 5 mengembalikan matriks korelasi, yang merupakan larik dua dimensi dengan koefisien korelasi. Ini adalah versi sederhana dari matriks korelasi yang baru saja Anda buat
x y x 1.00 0.76 y 0.76 1.00
Nilai pada diagonal utama matriks korelasi (kiri atas dan kanan bawah) sama dengan 1. Nilai kiri atas sesuai dengan koefisien korelasi untuk >>> scipy.stats.pearsonr(x, y)[0] # Pearson's r 0.7586402890911869 >>> scipy.stats.spearmanr(x, y)[0] # Spearman's rho 0.9757575757575757 >>> scipy.stats.kendalltau(x, y)[0] # Kendall's tau 0.911111111111111 8 dan >>> scipy.stats.pearsonr(x, y)[0] # Pearson's r 0.7586402890911869 >>> scipy.stats.spearmanr(x, y)[0] # Spearman's rho 0.9757575757575757 >>> scipy.stats.kendalltau(x, y)[0] # Kendall's tau 0.911111111111111 8, sedangkan nilai kanan bawah adalah koefisien korelasi untuk >>> scipy.stats.pearsonr(x, y)[0] # Pearson's r 0.7586402890911869 >>> scipy.stats.spearmanr(x, y)[0] # Spearman's rho 0.9757575757575757 >>> scipy.stats.kendalltau(x, y)[0] # Kendall's tau 0.911111111111111 9 dan >>> scipy.stats.pearsonr(x, y)[0] # Pearson's r 0.7586402890911869 >>> scipy.stats.spearmanr(x, y)[0] # Spearman's rho 0.9757575757575757 >>> scipy.stats.kendalltau(x, y)[0] # Kendall's tau 0.911111111111111 9. Mereka selalu sama dengan 1
Namun, yang biasanya Anda butuhkan adalah nilai matriks korelasi kiri bawah dan kanan atas. Nilai-nilai ini sama dan keduanya mewakili koefisien korelasi Pearson untuk >>> scipy.stats.pearsonr(x, y)[0] # Pearson's r 0.7586402890911869 >>> scipy.stats.spearmanr(x, y)[0] # Spearman's rho 0.9757575757575757 >>> scipy.stats.kendalltau(x, y)[0] # Kendall's tau 0.911111111111111 8 dan >>> scipy.stats.pearsonr(x, y)[0] # Pearson's r 0.7586402890911869 >>> scipy.stats.spearmanr(x, y)[0] # Spearman's rho 0.9757575757575757 >>> scipy.stats.kendalltau(x, y)[0] # Kendall's tau 0.911111111111111 9. Dalam hal ini, kira-kira 0. 76
Gambar ini menunjukkan poin data dan koefisien korelasi untuk contoh di atas
Kotak merah adalah titik data. Seperti yang Anda lihat, gambar tersebut juga menunjukkan nilai dari ketiga koefisien korelasi
Contoh. Perhitungan Korelasi SciPy
SciPy juga memiliki banyak rutinitas statistik yang terkandung dalam >>> r, p = scipy.stats.pearsonr(x, y) >>> r 0.7586402890911869 >>> p 0.010964341301680829 2. Anda dapat menggunakan metode berikut untuk menghitung tiga koefisien korelasi yang Anda lihat sebelumnya
- >>> r, p = scipy.stats.pearsonr(x, y) >>> r 0.7586402890911869 >>> p 0.010964341301680829 _3
- >>> r, p = scipy.stats.pearsonr(x, y) >>> r 0.7586402890911869 >>> p 0.010964341301680829 _4
- >>> r, p = scipy.stats.pearsonr(x, y) >>> r 0.7586402890911869 >>> p 0.010964341301680829 _5
Inilah cara Anda menggunakan fungsi-fungsi ini dengan Python
>>> >>> import numpy as np >>> import scipy.stats >>> x = np.arange(10, 20) >>> y = np.array([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) >>> scipy.stats.pearsonr(x, y) # Pearson's r (0.7586402890911869, 0.010964341301680832) >>> scipy.stats.spearmanr(x, y) # Spearman's rho SpearmanrResult(correlation=0.9757575757575757, pvalue=1.4675461874042197e-06) >>> scipy.stats.kendalltau(x, y) # Kendall's tau KendalltauResult(correlation=0.911111111111111, pvalue=2.9761904761904762e-05) _
Perhatikan bahwa fungsi ini mengembalikan objek yang berisi dua nilai
- Koefisien korelasi
- Nilai-p
Anda menggunakan nilai p dalam metode statistik saat menguji hipotesis. Nilai-p adalah ukuran penting yang membutuhkan pengetahuan mendalam tentang probabilitas dan statistik untuk menafsirkannya. Untuk mempelajarinya lebih lanjut, Anda dapat membaca tentang dasar-dasarnya atau melihat penjelasan data scientist tentang nilai-p
Anda dapat mengekstrak nilai-p dan koefisien korelasi dengan indeksnya, sebagai item tupel
>>> ________0______
Anda juga dapat menggunakan notasi titik untuk koefisien Spearman dan Kendall
>>> >>> scipy.stats.spearmanr(x, y).correlation # Spearman's rho 0.9757575757575757 >>> scipy.stats.kendalltau(x, y).correlation # Kendall's tau 0.911111111111111 _
Notasi titik lebih panjang, tetapi juga lebih mudah dibaca dan lebih jelas
Jika Anda ingin mendapatkan koefisien korelasi Pearson dan nilai-p secara bersamaan, maka Anda dapat membongkar nilai pengembaliannya
>>> >>> r, p = scipy.stats.pearsonr(x, y) >>> r 0.7586402890911869 >>> p 0.010964341301680829 _
Pendekatan ini mengeksploitasi pembongkaran Python dan fakta bahwa >>> r, p = scipy.stats.pearsonr(x, y) >>> r 0.7586402890911869 >>> p 0.010964341301680829 3 mengembalikan tuple dengan dua statistik ini. Anda juga dapat menggunakan teknik ini dengan >>> r, p = scipy.stats.pearsonr(x, y) >>> r 0.7586402890911869 >>> p 0.010964341301680829 _4 dan >>> r, p = scipy.stats.pearsonr(x, y) >>> r 0.7586402890911869 >>> p 0.010964341301680829 5, seperti yang akan Anda lihat nanti
Hilangkan iklanContoh. Perhitungan Korelasi Panda
Panda, dalam beberapa kasus, lebih nyaman daripada NumPy dan SciPy untuk menghitung statistik. Ini menawarkan metode statistik untuk dan contoh. Misalnya, diberikan dua >>> r, p = scipy.stats.pearsonr(x, y) >>> r 0.7586402890911869 >>> p 0.010964341301680829 _9 objek dengan jumlah item yang sama, Anda dapat memanggil >>> import pandas as pd >>> x = pd.Series(range(10, 20)) >>> x 0 10 1 11 2 12 3 13 4 14 5 15 6 16 7 17 8 18 9 19 dtype: int64 >>> y = pd.Series([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) >>> y 0 2 1 1 2 4 3 5 4 8 5 12 6 18 7 25 8 96 9 48 dtype: int64 >>> x.corr(y) # Pearson's r 0.7586402890911867 >>> y.corr(x) 0.7586402890911869 >>> x.corr(y, method='spearman') # Spearman's rho 0.9757575757575757 >>> x.corr(y, method='kendall') # Kendall's tau 0.911111111111111 2 di salah satunya dengan yang lain sebagai argumen pertama
>>> ________31______
Di sini, Anda menggunakan >>> import pandas as pd >>> x = pd.Series(range(10, 20)) >>> x 0 10 1 11 2 12 3 13 4 14 5 15 6 16 7 17 8 18 9 19 dtype: int64 >>> y = pd.Series([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) >>> y 0 2 1 1 2 4 3 5 4 8 5 12 6 18 7 25 8 96 9 48 dtype: int64 >>> x.corr(y) # Pearson's r 0.7586402890911867 >>> y.corr(x) 0.7586402890911869 >>> x.corr(y, method='spearman') # Spearman's rho 0.9757575757575757 >>> x.corr(y, method='kendall') # Kendall's tau 0.911111111111111 _2 untuk menghitung ketiga koefisien korelasi. Anda menentukan statistik yang diinginkan dengan parameter >>> import pandas as pd >>> x = pd.Series(range(10, 20)) >>> x 0 10 1 11 2 12 3 13 4 14 5 15 6 16 7 17 8 18 9 19 dtype: int64 >>> y = pd.Series([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) >>> y 0 2 1 1 2 4 3 5 4 8 5 12 6 18 7 25 8 96 9 48 dtype: int64 >>> x.corr(y) # Pearson's r 0.7586402890911867 >>> y.corr(x) 0.7586402890911869 >>> x.corr(y, method='spearman') # Spearman's rho 0.9757575757575757 >>> x.corr(y, method='kendall') # Kendall's tau 0.911111111111111 4, yang dapat mengambil salah satu dari beberapa nilai
- >>> import pandas as pd >>> x = pd.Series(range(10, 20)) >>> x 0 10 1 11 2 12 3 13 4 14 5 15 6 16 7 17 8 18 9 19 dtype: int64 >>> y = pd.Series([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) >>> y 0 2 1 1 2 4 3 5 4 8 5 12 6 18 7 25 8 96 9 48 dtype: int64 >>> x.corr(y) # Pearson's r 0.7586402890911867 >>> y.corr(x) 0.7586402890911869 >>> x.corr(y, method='spearman') # Spearman's rho 0.9757575757575757 >>> x.corr(y, method='kendall') # Kendall's tau 0.911111111111111 5
- >>> import pandas as pd >>> x = pd.Series(range(10, 20)) >>> x 0 10 1 11 2 12 3 13 4 14 5 15 6 16 7 17 8 18 9 19 dtype: int64 >>> y = pd.Series([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) >>> y 0 2 1 1 2 4 3 5 4 8 5 12 6 18 7 25 8 96 9 48 dtype: int64 >>> x.corr(y) # Pearson's r 0.7586402890911867 >>> y.corr(x) 0.7586402890911869 >>> x.corr(y, method='spearman') # Spearman's rho 0.9757575757575757 >>> x.corr(y, method='kendall') # Kendall's tau 0.911111111111111 6
- >>> import pandas as pd >>> x = pd.Series(range(10, 20)) >>> x 0 10 1 11 2 12 3 13 4 14 5 15 6 16 7 17 8 18 9 19 dtype: int64 >>> y = pd.Series([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) >>> y 0 2 1 1 2 4 3 5 4 8 5 12 6 18 7 25 8 96 9 48 dtype: int64 >>> x.corr(y) # Pearson's r 0.7586402890911867 >>> y.corr(x) 0.7586402890911869 >>> x.corr(y, method='spearman') # Spearman's rho 0.9757575757575757 >>> x.corr(y, method='kendall') # Kendall's tau 0.911111111111111 7
- yang dapat dipanggil
Callable dapat berupa fungsi, metode, atau yang menerima dua array satu dimensi dan mengembalikan angka floating-point
Korelasi Linier
Korelasi linier mengukur kedekatan hubungan matematis antara variabel atau fitur kumpulan data dengan fungsi linier. Jika hubungan antara dua fitur lebih dekat ke beberapa fungsi linier, maka korelasi liniernya lebih kuat dan nilai absolut dari koefisien korelasinya lebih tinggi
Koefisien Korelasi Pearson
Pertimbangkan kumpulan data dengan dua fitur. x dan y. Setiap fitur memiliki n nilai, jadi x dan y adalah n-tupel. Katakan bahwa nilai pertama x₁ dari x sesuai dengan nilai pertama y₁ dari y, nilai kedua x₂ dari x ke nilai kedua y₂ dari y, dan seterusnya. Maka, ada n pasang nilai yang bersesuaian. (x₁, y₁), (x₂, y₂), dan seterusnya. Masing-masing pasangan x-y ini mewakili satu pengamatan
Koefisien korelasi Pearson (momen-produk) adalah ukuran hubungan linear antara dua fitur. Ini adalah rasio kovarians x dan y dengan perkalian standar deviasinya. Ini sering dilambangkan dengan huruf r dan disebut r Pearson. Anda dapat menyatakan nilai ini secara matematis dengan persamaan ini
r = Σᵢ((xᵢ − mean(x))(yᵢ − mean(y))) (√Σᵢ(xᵢ − mean(x))² √Σᵢ(yᵢ − mean(y))²)⁻¹
Di sini, saya mengambil nilai 1, 2, …, n. X dan y dilambangkan dengan mean(x) dan mean(y). Rumus ini menunjukkan bahwa jika nilai x yang lebih besar cenderung sesuai dengan nilai y yang lebih besar dan sebaliknya, maka r positif. Di sisi lain, jika nilai x yang lebih besar sebagian besar diasosiasikan dengan nilai y yang lebih kecil dan sebaliknya, maka r negatif
Berikut adalah beberapa fakta penting tentang koefisien korelasi Pearson
Koefisien korelasi Pearson dapat mengambil nilai riil apa pun dalam rentang −1 ≤ r ≤ 1
Nilai maksimum r = 1 sesuai dengan kasus di mana ada hubungan linier positif sempurna antara x dan y. Dengan kata lain, nilai x yang lebih besar sesuai dengan nilai y yang lebih besar dan sebaliknya
Nilai r > 0 menunjukkan korelasi positif antara x dan y
Nilai r = 0 sesuai dengan kasus di mana tidak ada hubungan linear antara x dan y
Nilai r < 0 menunjukkan korelasi negatif antara x dan y
Nilai minimal r = −1 sesuai dengan kasus ketika ada hubungan linier negatif sempurna antara x dan y. Dengan kata lain, nilai x yang lebih besar sesuai dengan nilai y yang lebih kecil dan sebaliknya
Fakta di atas dapat dirangkum dalam tabel berikut
Nilai r Pearson Korelasi Antara x dan ye sama dengan 1 hubungan linear positif sempurna lebih besar dari 0 korelasi positif sama dengan 0 tidak ada hubungan linear kurang dari 0 korelasi negatif sama dengan -1 hubungan linear negatif sempurna
Singkatnya, nilai absolut r yang lebih besar menunjukkan korelasi yang lebih kuat, lebih dekat ke fungsi linier. Nilai absolut r yang lebih kecil menunjukkan korelasi yang lebih lemah
Regresi linier. Implementasi Sains
Regresi linier adalah proses menemukan fungsi linier yang sedekat mungkin dengan hubungan sebenarnya antar fitur. Dengan kata lain, Anda menentukan fungsi linier yang paling menggambarkan hubungan antara fitur. Fungsi linear ini disebut juga dengan
Anda dapat menerapkan regresi linier dengan SciPy. Anda akan mendapatkan fungsi linier yang paling mendekati hubungan antara dua larik, serta koefisien korelasi Pearson. Untuk memulai, pertama-tama Anda perlu mengimpor pustaka dan menyiapkan beberapa data untuk dikerjakan
>>>_______ 38 ________>>> import numpy as np >>> import scipy.stats >>> x = np.arange(10, 20) >>> y = np.array([2, 1, 4, 5, 8, 12, 18, 25, 96, 48])
Di sini, Anda mengimpor >>> import pandas as pd >>> x = pd.Series(range(10, 20)) >>> x 0 10 1 11 2 12 3 13 4 14 5 15 6 16 7 17 8 18 9 19 dtype: int64 >>> y = pd.Series([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) >>> y 0 2 1 1 2 4 3 5 4 8 5 12 6 18 7 25 8 96 9 48 dtype: int64 >>> x.corr(y) # Pearson's r 0.7586402890911867 >>> y.corr(x) 0.7586402890911869 >>> x.corr(y, method='spearman') # Spearman's rho 0.9757575757575757 >>> x.corr(y, method='kendall') # Kendall's tau 0.911111111111111 9 dan >>> r, p = scipy.stats.pearsonr(x, y) >>> r 0.7586402890911869 >>> p 0.010964341301680829 2 dan menentukan variabel >>> scipy.stats.pearsonr(x, y)[0] # Pearson's r 0.7586402890911869 >>> scipy.stats.spearmanr(x, y)[0] # Spearman's rho 0.9757575757575757 >>> scipy.stats.kendalltau(x, y)[0] # Kendall's tau 0.911111111111111 8 dan >>> scipy.stats.pearsonr(x, y)[0] # Pearson's r 0.7586402890911869 >>> scipy.stats.spearmanr(x, y)[0] # Spearman's rho 0.9757575757575757 >>> scipy.stats.kendalltau(x, y)[0] # Kendall's tau 0.911111111111111 9
Anda dapat menggunakan >>> import numpy as np >>> import scipy.stats >>> x = np.arange(10, 20) >>> y = np.array([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) _3 untuk melakukan regresi linier untuk dua larik dengan panjang yang sama. Anda harus menyediakan array sebagai argumen dan mendapatkan hasilnya dengan menggunakan notasi titik
>>> >>> result = scipy.stats.linregress(x, y) >>> result.slope 7.4363636363636365 >>> result.intercept -85.92727272727274 >>> result.rvalue 0.7586402890911869 >>> result.pvalue 0.010964341301680825 >>> result.stderr 2.257878767543913 _
Itu dia. Anda telah menyelesaikan regresi linier dan mendapatkan hasil berikut
- >>> import numpy as np >>> import scipy.stats >>> x = np.arange(10, 20) >>> y = np.array([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) 4. kemiringan garis regresi
- >>> import numpy as np >>> import scipy.stats >>> x = np.arange(10, 20) >>> y = np.array([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) 5. perpotongan garis regresi
- >>> import numpy as np >>> import scipy.stats >>> x = np.arange(10, 20) >>> y = np.array([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) 6. nilai-p
- >>> import numpy as np >>> import scipy.stats >>> x = np.arange(10, 20) >>> y = np.array([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) 7. kesalahan standar dari estimasi gradien
Anda akan mempelajari cara memvisualisasikan hasil ini di bagian selanjutnya
Anda juga dapat memberikan argumen tunggal untuk >>> import numpy as np >>> import scipy.stats >>> x = np.arange(10, 20) >>> y = np.array([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) 8, tetapi harus berupa larik dua dimensi dengan satu dimensi dengan panjang dua
>>> >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 0
Hasilnya persis sama dengan contoh sebelumnya karena >>> import numpy as np >>> import scipy.stats >>> x = np.arange(10, 20) >>> y = np.array([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) 9 berisi data yang sama dengan >>> scipy.stats.pearsonr(x, y)[0] # Pearson's r 0.7586402890911869 >>> scipy.stats.spearmanr(x, y)[0] # Spearman's rho 0.9757575757575757 >>> scipy.stats.kendalltau(x, y)[0] # Kendall's tau 0.911111111111111 8 dan >>> scipy.stats.pearsonr(x, y)[0] # Pearson's r 0.7586402890911869 >>> scipy.stats.spearmanr(x, y)[0] # Spearman's rho 0.9757575757575757 >>> scipy.stats.kendalltau(x, y)[0] # Kendall's tau 0.911111111111111 9 bersama-sama. >>> import numpy as np >>> import scipy.stats >>> x = np.arange(10, 20) >>> y = np.array([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) 8 mengambil baris pertama dari >>> import numpy as np >>> import scipy.stats >>> x = np.arange(10, 20) >>> y = np.array([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) 9 sebagai salah satu fitur dan baris kedua sebagai fitur lainnya
Catatan. Pada contoh di atas, >>> import numpy as np >>> import scipy.stats >>> x = np.arange(10, 20) >>> y = np.array([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) 3 menganggap baris sebagai fitur dan kolom sebagai observasi. Itu karena ada dua baris
Praktik biasa dalam pembelajaran mesin adalah kebalikannya. baris adalah pengamatan dan kolom adalah fitur. Banyak perpustakaan pembelajaran mesin, seperti Pandas, Scikit-Learn, Keras, dan lainnya, mengikuti konvensi ini
Anda harus berhati-hati untuk mencatat bagaimana pengamatan dan fitur ditunjukkan setiap kali Anda menganalisis korelasi dalam kumpulan data
>>> import numpy as np >>> import scipy.stats >>> x = np.arange(10, 20) >>> y = np.array([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) 8 akan mengembalikan hasil yang sama jika Anda memberikan transpos >>> import numpy as np >>> import scipy.stats >>> x = np.arange(10, 20) >>> y = np.array([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) 9, atau larik NumPy dengan 10 baris dan dua kolom. Di NumPy, Anda dapat mengubah urutan matriks dengan banyak cara
- >>> result = scipy.stats.linregress(x, y) >>> result.slope 7.4363636363636365 >>> result.intercept -85.92727272727274 >>> result.rvalue 0.7586402890911869 >>> result.pvalue 0.010964341301680825 >>> result.stderr 2.257878767543913 _7
- >>> result = scipy.stats.linregress(x, y) >>> result.slope 7.4363636363636365 >>> result.intercept -85.92727272727274 >>> result.rvalue 0.7586402890911869 >>> result.pvalue 0.010964341301680825 >>> result.stderr 2.257878767543913 _8
- >>> result = scipy.stats.linregress(x, y) >>> result.slope 7.4363636363636365 >>> result.intercept -85.92727272727274 >>> result.rvalue 0.7586402890911869 >>> result.pvalue 0.010964341301680825 >>> result.stderr 2.257878767543913 _9
Inilah cara Anda dapat mengubah urutan >>> import numpy as np >>> import scipy.stats >>> x = np.arange(10, 20) >>> y = np.array([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) 9
>>> >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 1
Sekarang setelah Anda tahu cara mendapatkan transpose, Anda dapat meneruskannya ke >>> import numpy as np >>> import scipy.stats >>> x = np.arange(10, 20) >>> y = np.array([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) 8. Kolom pertama akan menjadi salah satu fitur dan kolom kedua fitur lainnya
>>> >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 2
Di sini, Anda menggunakan >>> result = scipy.stats.linregress(x, y) >>> result.slope 7.4363636363636365 >>> result.intercept -85.92727272727274 >>> result.rvalue 0.7586402890911869 >>> result.pvalue 0.010964341301680825 >>> result.stderr 2.257878767543913 _9 untuk mendapatkan transpose dari >>> import numpy as np >>> import scipy.stats >>> x = np.arange(10, 20) >>> y = np.array([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) 9. >>> import numpy as np >>> import scipy.stats >>> x = np.arange(10, 20) >>> y = np.array([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) 8 bekerja dengan cara yang sama dengan >>> import numpy as np >>> import scipy.stats >>> x = np.arange(10, 20) >>> y = np.array([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) 9 dan transposnya. Itu mengekstrak fitur dengan memisahkan array sepanjang dimensi dengan panjang dua
Anda juga harus berhati-hati untuk mencatat apakah kumpulan data Anda berisi nilai yang hilang atau tidak. Dalam ilmu data dan pembelajaran mesin, Anda akan sering menemukan beberapa data yang hilang atau rusak. Cara biasa untuk merepresentasikannya dengan Python, NumPy, SciPy, dan Pandas adalah dengan menggunakan nilai NaN atau Not a Number. Tetapi jika data Anda berisi >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 _06 nilai, maka Anda tidak akan mendapatkan hasil yang berguna dengan >>> import numpy as np >>> import scipy.stats >>> x = np.arange(10, 20) >>> y = np.array([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) 8
>>> >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 3
Dalam hal ini, objek hasil Anda mengembalikan semua >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 06 nilai. Dalam Python, >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 _06 adalah nilai floating-point khusus yang bisa Anda dapatkan dengan menggunakan salah satu dari berikut ini
Anda juga dapat memeriksa apakah suatu variabel sesuai dengan >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 06 dengan atau >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 15
Hilangkan iklanKorelasi Pearson. Implementasi NumPy dan SciPy
Anda telah melihat bagaimana mendapatkan koefisien korelasi Pearson dengan >>> scipy.stats.spearmanr(x, y).correlation # Spearman's rho 0.9757575757575757 >>> scipy.stats.kendalltau(x, y).correlation # Kendall's tau 0.911111111111111 5 dan >>> r, p = scipy.stats.pearsonr(x, y) >>> r 0.7586402890911869 >>> p 0.010964341301680829 3
>>> >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 4
Perhatikan bahwa jika Anda memberikan larik dengan nilai >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 _06 ke >>> r, p = scipy.stats.pearsonr(x, y) >>> r 0.7586402890911869 >>> p 0.010964341301680829 3, Anda akan mendapatkan
Ada beberapa detail tambahan yang perlu dipertimbangkan. Pertama, ingat bahwa >>> scipy.stats.pearsonr(x, y)[0] # Pearson's r 0.7586402890911869 >>> scipy.stats.spearmanr(x, y)[0] # Spearman's rho 0.9757575757575757 >>> scipy.stats.kendalltau(x, y)[0] # Kendall's tau 0.911111111111111 _6 dapat mengambil dua array NumPy sebagai argumen. Sebagai gantinya, Anda bisa melewatkan satu larik dua dimensi dengan nilai yang sama dengan argumen
>>> >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 5
Hasilnya sama dalam contoh ini dan sebelumnya. Sekali lagi, baris pertama dari >>> import numpy as np >>> import scipy.stats >>> x = np.arange(10, 20) >>> y = np.array([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) 9 mewakili satu fitur, sedangkan baris kedua mewakili fitur lainnya
Jika Anda ingin mendapatkan koefisien korelasi untuk tiga fitur, maka Anda cukup memberikan array dua dimensi numerik dengan tiga baris sebagai argumennya
>>> >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 6
Anda akan mendapatkan matriks korelasi lagi, tetapi yang ini akan lebih besar dari yang sebelumnya
>>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 _7
Ini karena >>> scipy.stats.spearmanr(x, y).correlation # Spearman's rho 0.9757575757575757 >>> scipy.stats.kendalltau(x, y).correlation # Kendall's tau 0.911111111111111 _5 menganggap setiap baris >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 24 sebagai satu fitur. Nilai >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 _25 adalah koefisien korelasi untuk dua fitur pertama dari >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 24. Ini sama dengan koefisien untuk >>> scipy.stats.pearsonr(x, y)[0] # Pearson's r 0.7586402890911869 >>> scipy.stats.spearmanr(x, y)[0] # Spearman's rho 0.9757575757575757 >>> scipy.stats.kendalltau(x, y)[0] # Kendall's tau 0.911111111111111 _8 dan >>> scipy.stats.pearsonr(x, y)[0] # Pearson's r 0.7586402890911869 >>> scipy.stats.spearmanr(x, y)[0] # Spearman's rho 0.9757575757575757 >>> scipy.stats.kendalltau(x, y)[0] # Kendall's tau 0.911111111111111 9 pada contoh sebelumnya. >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 _29 mewakili r Pearson untuk fitur pertama dan ketiga, sedangkan >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 30 adalah r Pearson untuk dua fitur terakhir
Berikut adalah contoh menarik tentang apa yang terjadi jika Anda mengirimkan >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 06 data ke >>> scipy.stats.spearmanr(x, y).correlation # Spearman's rho 0.9757575757575757 >>> scipy.stats.kendalltau(x, y).correlation # Kendall's tau 0.911111111111111 5
>>> >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 8
Dalam contoh ini, dua baris pertama (atau fitur) dari >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 33 baik-baik saja, tetapi baris ketiga >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 34 berisi nilai >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 06. Segala sesuatu yang tidak termasuk fitur dengan >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 06 dihitung dengan baik. Namun, hasil yang bergantung pada baris terakhir adalah >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 06
Secara default, >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 _38 menganggap baris sebagai fitur dan kolom sebagai observasi. Jika Anda menginginkan perilaku sebaliknya, yang banyak digunakan dalam pembelajaran mesin, maka gunakan argumen >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 39
>>> >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 9
Array ini identik dengan yang Anda lihat sebelumnya. Di sini, Anda menerapkan konvensi yang berbeda, tetapi hasilnya sama
Korelasi Pearson. Implementasi Panda
Sejauh ini, Anda telah menggunakan metode objek >>> r, p = scipy.stats.pearsonr(x, y) >>> r 0.7586402890911869 >>> p 0.010964341301680829 _9 dan >>> import pandas as pd >>> x = pd.Series(range(10, 20)) >>> x 0 10 1 11 2 12 3 13 4 14 5 15 6 16 7 17 8 18 9 19 dtype: int64 >>> y = pd.Series([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) >>> y 0 2 1 1 2 4 3 5 4 8 5 12 6 18 7 25 8 96 9 48 dtype: int64 >>> x.corr(y) # Pearson's r 0.7586402890911867 >>> y.corr(x) 0.7586402890911869 >>> x.corr(y, method='spearman') # Spearman's rho 0.9757575757575757 >>> x.corr(y, method='kendall') # Kendall's tau 0.911111111111111 0 untuk menghitung koefisien korelasi. Mari jelajahi metode ini lebih detail. Pertama, Anda perlu mengimpor Panda dan membuat beberapa contoh >>> r, p = scipy.stats.pearsonr(x, y) >>> r 0.7586402890911869 >>> p 0.010964341301680829 9 dan >>> import pandas as pd >>> x = pd.Series(range(10, 20)) >>> x 0 10 1 11 2 12 3 13 4 14 5 15 6 16 7 17 8 18 9 19 dtype: int64 >>> y = pd.Series([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) >>> y 0 2 1 1 2 4 3 5 4 8 5 12 6 18 7 25 8 96 9 48 dtype: int64 >>> x.corr(y) # Pearson's r 0.7586402890911867 >>> y.corr(x) 0.7586402890911869 >>> x.corr(y, method='spearman') # Spearman's rho 0.9757575757575757 >>> x.corr(y, method='kendall') # Kendall's tau 0.911111111111111 0
>>> x y x 1.00 0.76 y 0.76 1.00 0
Anda sekarang memiliki tiga objek >>> r, p = scipy.stats.pearsonr(x, y) >>> r 0.7586402890911869 >>> p 0.010964341301680829 _9 yang disebut >>> scipy.stats.pearsonr(x, y)[0] # Pearson's r 0.7586402890911869 >>> scipy.stats.spearmanr(x, y)[0] # Spearman's rho 0.9757575757575757 >>> scipy.stats.kendalltau(x, y)[0] # Kendall's tau 0.911111111111111 8, >>> scipy.stats.pearsonr(x, y)[0] # Pearson's r 0.7586402890911869 >>> scipy.stats.spearmanr(x, y)[0] # Spearman's rho 0.9757575757575757 >>> scipy.stats.kendalltau(x, y)[0] # Kendall's tau 0.911111111111111 9, dan >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 47. Anda juga memiliki dua objek >>> import pandas as pd >>> x = pd.Series(range(10, 20)) >>> x 0 10 1 11 2 12 3 13 4 14 5 15 6 16 7 17 8 18 9 19 dtype: int64 >>> y = pd.Series([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) >>> y 0 2 1 1 2 4 3 5 4 8 5 12 6 18 7 25 8 96 9 48 dtype: int64 >>> x.corr(y) # Pearson's r 0.7586402890911867 >>> y.corr(x) 0.7586402890911869 >>> x.corr(y, method='spearman') # Spearman's rho 0.9757575757575757 >>> x.corr(y, method='kendall') # Kendall's tau 0.911111111111111 0, >>> import numpy as np >>> import scipy.stats >>> x = np.arange(10, 20) >>> y = np.array([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) 9 dan >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 24
Catatan. Saat Anda bekerja dengan >>> import pandas as pd >>> x = pd.Series(range(10, 20)) >>> x 0 10 1 11 2 12 3 13 4 14 5 15 6 16 7 17 8 18 9 19 dtype: int64 >>> y = pd.Series([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) >>> y 0 2 1 1 2 4 3 5 4 8 5 12 6 18 7 25 8 96 9 48 dtype: int64 >>> x.corr(y) # Pearson's r 0.7586402890911867 >>> y.corr(x) 0.7586402890911869 >>> x.corr(y, method='spearman') # Spearman's rho 0.9757575757575757 >>> x.corr(y, method='kendall') # Kendall's tau 0.911111111111111 0 instance, Anda harus menyadari bahwa baris adalah observasi dan kolom adalah fitur. Ini konsisten dengan praktik biasa dalam pembelajaran mesin
Anda telah mempelajari cara menggunakan >>> import pandas as pd >>> x = pd.Series(range(10, 20)) >>> x 0 10 1 11 2 12 3 13 4 14 5 15 6 16 7 17 8 18 9 19 dtype: int64 >>> y = pd.Series([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) >>> y 0 2 1 1 2 4 3 5 4 8 5 12 6 18 7 25 8 96 9 48 dtype: int64 >>> x.corr(y) # Pearson's r 0.7586402890911867 >>> y.corr(x) 0.7586402890911869 >>> x.corr(y, method='spearman') # Spearman's rho 0.9757575757575757 >>> x.corr(y, method='kendall') # Kendall's tau 0.911111111111111 _2 dengan objek >>> r, p = scipy.stats.pearsonr(x, y) >>> r 0.7586402890911869 >>> p 0.010964341301680829 9 untuk mendapatkan koefisien korelasi Pearson
>>> x y x 1.00 0.76 y 0.76 1.00 1
Di sini, Anda memanggil >>> import pandas as pd >>> x = pd.Series(range(10, 20)) >>> x 0 10 1 11 2 12 3 13 4 14 5 15 6 16 7 17 8 18 9 19 dtype: int64 >>> y = pd.Series([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) >>> y 0 2 1 1 2 4 3 5 4 8 5 12 6 18 7 25 8 96 9 48 dtype: int64 >>> x.corr(y) # Pearson's r 0.7586402890911867 >>> y.corr(x) 0.7586402890911869 >>> x.corr(y, method='spearman') # Spearman's rho 0.9757575757575757 >>> x.corr(y, method='kendall') # Kendall's tau 0.911111111111111 _2 pada satu objek dan memberikan yang lain sebagai argumen pertama
Jika Anda memberikan nilai >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 _06, maka >>> import pandas as pd >>> x = pd.Series(range(10, 20)) >>> x 0 10 1 11 2 12 3 13 4 14 5 15 6 16 7 17 8 18 9 19 dtype: int64 >>> y = pd.Series([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) >>> y 0 2 1 1 2 4 3 5 4 8 5 12 6 18 7 25 8 96 9 48 dtype: int64 >>> x.corr(y) # Pearson's r 0.7586402890911867 >>> y.corr(x) 0.7586402890911869 >>> x.corr(y, method='spearman') # Spearman's rho 0.9757575757575757 >>> x.corr(y, method='kendall') # Kendall's tau 0.911111111111111 2 akan tetap berfungsi, tetapi akan mengecualikan pengamatan yang berisi nilai >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 06
>>> x y x 1.00 0.76 y 0.76 1.00 2
Anda mendapatkan nilai koefisien korelasi yang sama dalam dua contoh ini. Itu karena >>> import pandas as pd >>> x = pd.Series(range(10, 20)) >>> x 0 10 1 11 2 12 3 13 4 14 5 15 6 16 7 17 8 18 9 19 dtype: int64 >>> y = pd.Series([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) >>> y 0 2 1 1 2 4 3 5 4 8 5 12 6 18 7 25 8 96 9 48 dtype: int64 >>> x.corr(y) # Pearson's r 0.7586402890911867 >>> y.corr(x) 0.7586402890911869 >>> x.corr(y, method='spearman') # Spearman's rho 0.9757575757575757 >>> x.corr(y, method='kendall') # Kendall's tau 0.911111111111111 2 mengabaikan pasangan nilai (>>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 59, >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 60) yang memiliki nilai yang hilang
Anda juga dapat menggunakan >>> import pandas as pd >>> x = pd.Series(range(10, 20)) >>> x 0 10 1 11 2 12 3 13 4 14 5 15 6 16 7 17 8 18 9 19 dtype: int64 >>> y = pd.Series([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) >>> y 0 2 1 1 2 4 3 5 4 8 5 12 6 18 7 25 8 96 9 48 dtype: int64 >>> x.corr(y) # Pearson's r 0.7586402890911867 >>> y.corr(x) 0.7586402890911869 >>> x.corr(y, method='spearman') # Spearman's rho 0.9757575757575757 >>> x.corr(y, method='kendall') # Kendall's tau 0.911111111111111 _2 dengan >>> import pandas as pd >>> x = pd.Series(range(10, 20)) >>> x 0 10 1 11 2 12 3 13 4 14 5 15 6 16 7 17 8 18 9 19 dtype: int64 >>> y = pd.Series([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) >>> y 0 2 1 1 2 4 3 5 4 8 5 12 6 18 7 25 8 96 9 48 dtype: int64 >>> x.corr(y) # Pearson's r 0.7586402890911867 >>> y.corr(x) 0.7586402890911869 >>> x.corr(y, method='spearman') # Spearman's rho 0.9757575757575757 >>> x.corr(y, method='kendall') # Kendall's tau 0.911111111111111 0 objek. Anda dapat menggunakannya untuk mendapatkan matriks korelasi untuk kolom mereka
>>> x y x 1.00 0.76 y 0.76 1.00 3
Matriks korelasi yang dihasilkan adalah contoh baru dari >>> import pandas as pd >>> x = pd.Series(range(10, 20)) >>> x 0 10 1 11 2 12 3 13 4 14 5 15 6 16 7 17 8 18 9 19 dtype: int64 >>> y = pd.Series([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) >>> y 0 2 1 1 2 4 3 5 4 8 5 12 6 18 7 25 8 96 9 48 dtype: int64 >>> x.corr(y) # Pearson's r 0.7586402890911867 >>> y.corr(x) 0.7586402890911869 >>> x.corr(y, method='spearman') # Spearman's rho 0.9757575757575757 >>> x.corr(y, method='kendall') # Kendall's tau 0.911111111111111 0 dan memegang koefisien korelasi untuk kolom >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 64 dan >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 65. Hasil berlabel seperti itu biasanya sangat mudah digunakan karena Anda dapat mengaksesnya dengan label atau indeks posisi bilangan bulatnya
>>> x y x 1.00 0.76 y 0.76 1.00 4
Contoh ini menunjukkan dua cara mengakses nilai
- Gunakan >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 _66 untuk mengakses nilai tunggal dengan label baris dan kolom
- Gunakan >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 _67 untuk mengakses nilai berdasarkan posisi baris dan kolomnya
Anda dapat menerapkan >>> import pandas as pd >>> x = pd.Series(range(10, 20)) >>> x 0 10 1 11 2 12 3 13 4 14 5 15 6 16 7 17 8 18 9 19 dtype: int64 >>> y = pd.Series([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) >>> y 0 2 1 1 2 4 3 5 4 8 5 12 6 18 7 25 8 96 9 48 dtype: int64 >>> x.corr(y) # Pearson's r 0.7586402890911867 >>> y.corr(x) 0.7586402890911869 >>> x.corr(y, method='spearman') # Spearman's rho 0.9757575757575757 >>> x.corr(y, method='kendall') # Kendall's tau 0.911111111111111 _2 dengan cara yang sama dengan objek >>> import pandas as pd >>> x = pd.Series(range(10, 20)) >>> x 0 10 1 11 2 12 3 13 4 14 5 15 6 16 7 17 8 18 9 19 dtype: int64 >>> y = pd.Series([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) >>> y 0 2 1 1 2 4 3 5 4 8 5 12 6 18 7 25 8 96 9 48 dtype: int64 >>> x.corr(y) # Pearson's r 0.7586402890911867 >>> y.corr(x) 0.7586402890911869 >>> x.corr(y, method='spearman') # Spearman's rho 0.9757575757575757 >>> x.corr(y, method='kendall') # Kendall's tau 0.911111111111111 0 yang berisi tiga kolom atau lebih
>>> x y x 1.00 0.76 y 0.76 1.00 5
Anda akan mendapatkan matriks korelasi dengan koefisien korelasi berikut
- >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 _70 untuk >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 71 dan >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 72
- >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 _73 untuk >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 71 dan >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 75
- >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 _76 untuk >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 72 dan >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 75
Metode lain yang berguna adalah >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 79, yang memungkinkan Anda menghitung koefisien korelasi antara baris atau kolom dari satu objek DataFrame dan objek Seri atau DataFrame lainnya yang diteruskan sebagai argumen pertama
>>> x y x 1.00 0.76 y 0.76 1.00 6
Dalam hal ini, hasilnya adalah objek >>> r, p = scipy.stats.pearsonr(x, y) >>> r 0.7586402890911869 >>> p 0.010964341301680829 _9 baru dengan koefisien korelasi untuk kolom >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 64 dan nilai >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 47, serta koefisien untuk >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 65 dan >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 47
>>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 _79 memiliki parameter opsional >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 86 yang menentukan apakah kolom atau baris mewakili fitur. Nilai default >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 _86 adalah 0, dan juga default untuk kolom yang mewakili fitur. Ada juga parameter >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 _88, yang menunjukkan apa yang harus dilakukan dengan nilai yang hilang
Baik >>> import pandas as pd >>> x = pd.Series(range(10, 20)) >>> x 0 10 1 11 2 12 3 13 4 14 5 15 6 16 7 17 8 18 9 19 dtype: int64 >>> y = pd.Series([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) >>> y 0 2 1 1 2 4 3 5 4 8 5 12 6 18 7 25 8 96 9 48 dtype: int64 >>> x.corr(y) # Pearson's r 0.7586402890911867 >>> y.corr(x) 0.7586402890911869 >>> x.corr(y, method='spearman') # Spearman's rho 0.9757575757575757 >>> x.corr(y, method='kendall') # Kendall's tau 0.911111111111111 2 dan >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 79 memiliki parameter opsional >>> import pandas as pd >>> x = pd.Series(range(10, 20)) >>> x 0 10 1 11 2 12 3 13 4 14 5 15 6 16 7 17 8 18 9 19 dtype: int64 >>> y = pd.Series([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) >>> y 0 2 1 1 2 4 3 5 4 8 5 12 6 18 7 25 8 96 9 48 dtype: int64 >>> x.corr(y) # Pearson's r 0.7586402890911867 >>> y.corr(x) 0.7586402890911869 >>> x.corr(y, method='spearman') # Spearman's rho 0.9757575757575757 >>> x.corr(y, method='kendall') # Kendall's tau 0.911111111111111 4 untuk menentukan koefisien korelasi yang ingin Anda hitung. Koefisien korelasi Pearson dikembalikan secara default, jadi Anda tidak perlu menyediakannya dalam kasus ini
Hilangkan iklanKorelasi Peringkat
Korelasi peringkat membandingkan peringkat atau urutan data yang terkait dengan dua variabel atau fitur dataset. Jika urutannya mirip, maka korelasinya kuat, positif, dan tinggi. Namun, jika urutannya hampir terbalik, maka korelasinya kuat, negatif, dan rendah. Dengan kata lain, korelasi peringkat hanya berkaitan dengan urutan nilai, bukan dengan nilai tertentu dari kumpulan data
Untuk mengilustrasikan perbedaan antara korelasi linier dan peringkat, perhatikan gambar berikut
Plot kiri memiliki hubungan linier positif sempurna antara x dan y, jadi r = 1. Plot pusat menunjukkan korelasi positif dan yang kanan menunjukkan korelasi negatif. Namun, keduanya bukan fungsi linier, jadi r berbeda dari −1 atau 1
Saat Anda hanya melihat urutan atau peringkat, ketiga hubungan itu sempurna. Plot kiri dan tengah menunjukkan pengamatan di mana nilai x yang lebih besar selalu sesuai dengan nilai y yang lebih besar. Ini adalah korelasi peringkat positif sempurna. Plot kanan menggambarkan kasus sebaliknya, yaitu korelasi peringkat negatif sempurna
Koefisien Korelasi Spearman
Koefisien korelasi Spearman antara dua fitur adalah koefisien korelasi Pearson antara nilai peringkatnya. Ini dihitung dengan cara yang sama seperti koefisien korelasi Pearson tetapi memperhitungkan peringkatnya, bukan nilainya. Ini sering dilambangkan dengan huruf Yunani rho (ρ) dan disebut rho Spearman
Katakanlah Anda memiliki dua n-tupel, x dan y, di mana >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 92 adalah pengamatan sebagai pasangan nilai yang sesuai. Anda dapat menghitung koefisien korelasi Spearman ρ dengan cara yang sama seperti koefisien Pearson. Anda akan menggunakan peringkat alih-alih nilai sebenarnya dari x dan y
Berikut adalah beberapa fakta penting tentang koefisien korelasi Spearman
Itu bisa mengambil nilai nyata dalam rentang −1 ≤ ρ ≤ 1
Nilai maksimumnya ρ = 1 sesuai dengan kasus ketika ada fungsi yang meningkat secara monoton antara x dan y. Dengan kata lain, nilai x yang lebih besar sesuai dengan nilai y yang lebih besar dan sebaliknya
Nilai minimumnya ρ = −1 sesuai dengan kasus ketika ada fungsi yang menurun secara monoton antara x dan y. Dengan kata lain, nilai x yang lebih besar sesuai dengan nilai y yang lebih kecil dan sebaliknya
Anda dapat menghitung rho Spearman dengan Python dengan cara yang sangat mirip dengan rho Pearson
Koefisien Korelasi Kendall
Mari kita mulai lagi dengan mempertimbangkan dua n-tupel, x dan y. Setiap pasangan x-y >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 _92 adalah pengamatan tunggal. Sepasang pengamatan (xᵢ, yᵢ) dan (xⱼ, yⱼ), di mana i < j, akan menjadi salah satu dari tiga hal
- konkordan jika salah satu (xᵢ > xⱼ dan yᵢ > yⱼ) atau (xᵢ < xⱼ dan yᵢ < yⱼ)
- sumbang jika salah satu (xᵢ < xⱼ dan yᵢ > yⱼ) atau (xᵢ > xⱼ dan yᵢ < yⱼ)
- baik jika ada seri di x (xᵢ = xⱼ) atau seri di y (yᵢ = yⱼ)
Koefisien korelasi Kendall membandingkan jumlah pasangan data yang konkordan dan sumbang. Koefisien ini didasarkan pada perbedaan jumlah pasangan konkordan dan diskordan relatif terhadap jumlah pasangan x-y. Ini sering dilambangkan dengan huruf Yunani tau (τ) dan disebut tau Kendall
Menurut >>> r, p = scipy.stats.pearsonr(x, y) >>> r 0.7586402890911869 >>> p 0.010964341301680829 2 dokumen resmi, koefisien korelasi Kendall dihitung sebagai τ = (n⁺ − n⁻) / √((n⁺ + n⁻ + nˣ)(n⁺ + n⁻ + nʸ)), di mana
- n⁺ adalah jumlah pasangan konkordan
- n⁻ adalah jumlah pasangan sumbang
- nˣ adalah jumlah ikatan hanya di x
- nʸ adalah jumlah ikatan hanya di y
Jika dasi terjadi di kedua x dan y, maka itu tidak termasuk dalam nˣ atau nʸ
Halaman Wikipedia tentang koefisien korelasi peringkat Kendall memberikan ungkapan berikut. τ = (2 / (n(n − 1))) Σᵢⱼ(tanda(xᵢ − xⱼ) tanda(yᵢ − yⱼ)) untuk i < j, dimana i = 1, 2, …, n − 1 dan j = 2 . Fungsi tanda sign(z) adalah −1 jika z < 0, 0 jika z = 0, dan 1 jika z > 0. n(n − 1) / 2 adalah jumlah total pasangan x-y
Beberapa fakta penting tentang koefisien korelasi Kendall adalah sebagai berikut
Itu bisa mengambil nilai nyata dalam rentang −1 ≤ τ ≤ 1
Nilai maksimumnya τ = 1 sesuai dengan kasus ketika peringkat nilai yang sesuai di x dan y adalah sama. Dengan kata lain, semua pasangan serasi
Nilai minimumnya τ = −1 sesuai dengan kasus ketika peringkat di x adalah kebalikan dari peringkat di y. Dengan kata lain, semua pasangan sumbang
Anda dapat menghitung tau Kendall dengan Python mirip dengan cara Anda menghitung r Pearson
Hilangkan iklanPangkat. Implementasi Sains
Anda dapat menggunakan >>> r, p = scipy.stats.pearsonr(x, y) >>> r 0.7586402890911869 >>> p 0.010964341301680829 _2 untuk menentukan peringkat setiap nilai dalam larik. Pertama, Anda akan mengimpor pustaka dan membuat larik NumPy
>>> ________12______7
Sekarang setelah Anda menyiapkan data, Anda dapat menentukan peringkat setiap nilai dalam larik NumPy dengan >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 96
>>> ________12______8
Larik >>> scipy.stats.pearsonr(x, y)[0] # Pearson's r 0.7586402890911869 >>> scipy.stats.spearmanr(x, y)[0] # Spearman's rho 0.9757575757575757 >>> scipy.stats.kendalltau(x, y)[0] # Kendall's tau 0.911111111111111 8 dan >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 47 monoton, jadi peringkatnya juga monoton. Nilai terkecil di >>> scipy.stats.pearsonr(x, y)[0] # Pearson's r 0.7586402890911869 >>> scipy.stats.spearmanr(x, y)[0] # Spearman's rho 0.9757575757575757 >>> scipy.stats.kendalltau(x, y)[0] # Kendall's tau 0.911111111111111 9 adalah x y x 1.00 0.76 y 0.76 1.00 00 dan sesuai dengan peringkat x y x 1.00 0.76 y 0.76 1.00 00. Terkecil kedua adalah x y x 1.00 0.76 y 0.76 1.00 02, yang sesuai dengan peringkat x y x 1.00 0.76 y 0.76 1.00 02. Nilai terbesar adalah x y x 1.00 0.76 y 0.76 1.00 _04, yang sesuai dengan peringkat terbesar x y x 1.00 0.76 y 0.76 1.00 05 karena ada 10 item dalam larik
x y x 1.00 0.76 y 0.76 1.00 06 memiliki parameter opsional >>> import pandas as pd >>> x = pd.Series(range(10, 20)) >>> x 0 10 1 11 2 12 3 13 4 14 5 15 6 16 7 17 8 18 9 19 dtype: int64 >>> y = pd.Series([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) >>> y 0 2 1 1 2 4 3 5 4 8 5 12 6 18 7 25 8 96 9 48 dtype: int64 >>> x.corr(y) # Pearson's r 0.7586402890911867 >>> y.corr(x) 0.7586402890911869 >>> x.corr(y, method='spearman') # Spearman's rho 0.9757575757575757 >>> x.corr(y, method='kendall') # Kendall's tau 0.911111111111111 4. Ini memberi tahu Python apa yang harus dilakukan jika ada ikatan dalam array (jika dua atau lebih nilai sama). Secara default, ini memberi mereka peringkat rata-rata
>>> x y x 1.00 0.76 y 0.76 1.00 9
Ada dua elemen dengan nilai x y x 1.00 0.76 y 0.76 1.00 _02 dan mereka memiliki peringkat x y x 1.00 0.76 y 0.76 1.00 09 dan x y x 1.00 0.76 y 0.76 1.00 10. Nilai x y x 1.00 0.76 y 0.76 1.00 _11 memiliki peringkat x y x 1.00 0.76 y 0.76 1.00 12 dan nilai x y x 1.00 0.76 y 0.76 1.00 13 memiliki peringkat x y x 1.00 0.76 y 0.76 1.00 14. Kemudian, kedua elemen dengan nilai x y x 1.00 0.76 y 0.76 1.00 _02 akan mendapatkan peringkat yang sama x y x 1.00 0.76 y 0.76 1.00 16
x y x 1.00 0.76 y 0.76 1.00 06 memperlakukan >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 06 nilai seolah-olah besar
>>> >>> import numpy as np >>> import scipy.stats >>> x = np.arange(10, 20) >>> y = np.array([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) >>> scipy.stats.pearsonr(x, y) # Pearson's r (0.7586402890911869, 0.010964341301680832) >>> scipy.stats.spearmanr(x, y) # Spearman's rho SpearmanrResult(correlation=0.9757575757575757, pvalue=1.4675461874042197e-06) >>> scipy.stats.kendalltau(x, y) # Kendall's tau KendalltauResult(correlation=0.911111111111111, pvalue=2.9761904761904762e-05) 0
Dalam hal ini, nilai >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 _59 sesuai dengan peringkat terbesar x y x 1.00 0.76 y 0.76 1.00 14. Anda juga bisa mendapatkan peringkat dengan x y x 1.00 0.76 y 0.76 1.00 21
>>> >>> import numpy as np >>> import scipy.stats >>> x = np.arange(10, 20) >>> y = np.array([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) >>> scipy.stats.pearsonr(x, y) # Pearson's r (0.7586402890911869, 0.010964341301680832) >>> scipy.stats.spearmanr(x, y) # Spearman's rho SpearmanrResult(correlation=0.9757575757575757, pvalue=1.4675461874042197e-06) >>> scipy.stats.kendalltau(x, y) # Kendall's tau KendalltauResult(correlation=0.911111111111111, pvalue=2.9761904761904762e-05) 1
x y x 1.00 0.76 y 0.76 1.00 22 mengembalikan indeks yang akan dimiliki item array dalam array yang diurutkan. Indeks ini berbasis nol, jadi Anda harus menambahkan x y x 1.00 0.76 y 0.76 1.00 00 ke semuanya
Korelasi Peringkat. Implementasi NumPy dan SciPy
Anda dapat menghitung koefisien korelasi Spearman dengan x y x 1.00 0.76 y 0.76 1.00 24
>>> >>> import numpy as np >>> import scipy.stats >>> x = np.arange(10, 20) >>> y = np.array([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) >>> scipy.stats.pearsonr(x, y) # Pearson's r (0.7586402890911869, 0.010964341301680832) >>> scipy.stats.spearmanr(x, y) # Spearman's rho SpearmanrResult(correlation=0.9757575757575757, pvalue=1.4675461874042197e-06) >>> scipy.stats.kendalltau(x, y) # Kendall's tau KendalltauResult(correlation=0.911111111111111, pvalue=2.9761904761904762e-05) 2
>>> r, p = scipy.stats.pearsonr(x, y) >>> r 0.7586402890911869 >>> p 0.010964341301680829 _4 mengembalikan objek yang berisi nilai koefisien korelasi Spearman dan nilai-p. Seperti yang Anda lihat, Anda dapat mengakses nilai tertentu dengan dua cara
- Menggunakan notasi titik ( x y x 1.00 0.76 y 0.76 1.00 _26 dan x y x 1.00 0.76 y 0.76 1.00 27)
- Menggunakan Python membongkar ( x y x 1.00 0.76 y 0.76 1.00 _28)
Anda bisa mendapatkan hasil yang sama jika Anda memberikan larik dua dimensi >>> import numpy as np >>> import scipy.stats >>> x = np.arange(10, 20) >>> y = np.array([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) 9 yang berisi data yang sama dengan >>> scipy.stats.pearsonr(x, y)[0] # Pearson's r 0.7586402890911869 >>> scipy.stats.spearmanr(x, y)[0] # Spearman's rho 0.9757575757575757 >>> scipy.stats.kendalltau(x, y)[0] # Kendall's tau 0.911111111111111 8 dan >>> scipy.stats.pearsonr(x, y)[0] # Pearson's r 0.7586402890911869 >>> scipy.stats.spearmanr(x, y)[0] # Spearman's rho 0.9757575757575757 >>> scipy.stats.kendalltau(x, y)[0] # Kendall's tau 0.911111111111111 9 hingga >>> r, p = scipy.stats.pearsonr(x, y) >>> r 0.7586402890911869 >>> p 0.010964341301680829 4
>>> >>> import numpy as np >>> import scipy.stats >>> x = np.arange(10, 20) >>> y = np.array([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) >>> scipy.stats.pearsonr(x, y) # Pearson's r (0.7586402890911869, 0.010964341301680832) >>> scipy.stats.spearmanr(x, y) # Spearman's rho SpearmanrResult(correlation=0.9757575757575757, pvalue=1.4675461874042197e-06) >>> scipy.stats.kendalltau(x, y) # Kendall's tau KendalltauResult(correlation=0.911111111111111, pvalue=2.9761904761904762e-05) 3
Baris pertama dari >>> import numpy as np >>> import scipy.stats >>> x = np.arange(10, 20) >>> y = np.array([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) _9 adalah salah satu fitur, sedangkan baris kedua adalah fitur lainnya. Anda dapat memodifikasi ini. Parameter opsional >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 86 menentukan apakah kolom ( x y x 1.00 0.76 y 0.76 1.00 35) atau baris ( x y x 1.00 0.76 y 0.76 1.00 36) mewakili fitur. Perilaku default adalah bahwa baris adalah observasi dan kolom adalah fitur
Parameter opsional lainnya x y x 1.00 0.76 y 0.76 1.00 37 menentukan cara menangani nilai >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 06. Ini dapat mengambil salah satu dari tiga nilai
- x y x 1.00 0.76 y 0.76 1.00 39 mengembalikan >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 06 jika ada nilai >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 06 di antara input. Ini adalah perilaku default
- x y x 1.00 0.76 y 0.76 1.00 42 memunculkan >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 20 jika ada nilai >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 06 di antara input
- x y x 1.00 0.76 y 0.76 1.00 45 mengabaikan pengamatan dengan nilai >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 06
Jika Anda menyediakan array dua dimensi dengan lebih dari dua fitur, maka Anda akan mendapatkan matriks korelasi dan matriks nilai-p
>>> >>> import numpy as np >>> import scipy.stats >>> x = np.arange(10, 20) >>> y = np.array([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) >>> scipy.stats.pearsonr(x, y) # Pearson's r (0.7586402890911869, 0.010964341301680832) >>> scipy.stats.spearmanr(x, y) # Spearman's rho SpearmanrResult(correlation=0.9757575757575757, pvalue=1.4675461874042197e-06) >>> scipy.stats.kendalltau(x, y) # Kendall's tau KendalltauResult(correlation=0.911111111111111, pvalue=2.9761904761904762e-05) 4
Nilai x y x 1.00 0.76 y 0.76 1.00 _47 pada matriks korelasi menunjukkan bahwa fitur pertama dan ketiga memiliki korelasi peringkat negatif sempurna, yaitu nilai yang lebih besar pada baris pertama selalu sesuai dengan nilai yang lebih kecil pada baris ketiga.
Anda dapat memperoleh koefisien korelasi Kendall dengan >>> r, p = scipy.stats.pearsonr(x, y) >>> r 0.7586402890911869 >>> p 0.010964341301680829 5
>>> >>> import numpy as np >>> import scipy.stats >>> x = np.arange(10, 20) >>> y = np.array([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) >>> scipy.stats.pearsonr(x, y) # Pearson's r (0.7586402890911869, 0.010964341301680832) >>> scipy.stats.spearmanr(x, y) # Spearman's rho SpearmanrResult(correlation=0.9757575757575757, pvalue=1.4675461874042197e-06) >>> scipy.stats.kendalltau(x, y) # Kendall's tau KendalltauResult(correlation=0.911111111111111, pvalue=2.9761904761904762e-05) 5
>>> r, p = scipy.stats.pearsonr(x, y) >>> r 0.7586402890911869 >>> p 0.010964341301680829 _5 bekerja seperti >>> r, p = scipy.stats.pearsonr(x, y) >>> r 0.7586402890911869 >>> p 0.010964341301680829 4. Dibutuhkan dua array satu dimensi, memiliki parameter opsional x y x 1.00 0.76 y 0.76 1.00 37, dan mengembalikan objek dengan nilai koefisien korelasi dan nilai-p
Namun, jika Anda hanya menyediakan satu larik dua dimensi sebagai argumen, maka >>> r, p = scipy.stats.pearsonr(x, y) >>> r 0.7586402890911869 >>> p 0.010964341301680829 5 akan memunculkan. Jika Anda melewatkan dua larik multidimensi dengan bentuk yang sama, larik tersebut akan diratakan sebelum perhitungan
Hilangkan iklanKorelasi Peringkat. Implementasi Panda
Anda dapat menghitung koefisien korelasi Spearman dan Kendall dengan Panda. Sama seperti sebelumnya, Anda mulai dengan mengimpor x y x 1.00 0.76 y 0.76 1.00 54 dan membuat beberapa >>> r, p = scipy.stats.pearsonr(x, y) >>> r 0.7586402890911869 >>> p 0.010964341301680829 9 dan >>> import pandas as pd >>> x = pd.Series(range(10, 20)) >>> x 0 10 1 11 2 12 3 13 4 14 5 15 6 16 7 17 8 18 9 19 dtype: int64 >>> y = pd.Series([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) >>> y 0 2 1 1 2 4 3 5 4 8 5 12 6 18 7 25 8 96 9 48 dtype: int64 >>> x.corr(y) # Pearson's r 0.7586402890911867 >>> y.corr(x) 0.7586402890911869 >>> x.corr(y, method='spearman') # Spearman's rho 0.9757575757575757 >>> x.corr(y, method='kendall') # Kendall's tau 0.911111111111111 0 instance
>>> >>> import numpy as np >>> import scipy.stats >>> x = np.arange(10, 20) >>> y = np.array([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) >>> scipy.stats.pearsonr(x, y) # Pearson's r (0.7586402890911869, 0.010964341301680832) >>> scipy.stats.spearmanr(x, y) # Spearman's rho SpearmanrResult(correlation=0.9757575757575757, pvalue=1.4675461874042197e-06) >>> scipy.stats.kendalltau(x, y) # Kendall's tau KendalltauResult(correlation=0.911111111111111, pvalue=2.9761904761904762e-05) 6
Sekarang setelah Anda memiliki objek Pandas ini, Anda dapat menggunakan >>> import pandas as pd >>> x = pd.Series(range(10, 20)) >>> x 0 10 1 11 2 12 3 13 4 14 5 15 6 16 7 17 8 18 9 19 dtype: int64 >>> y = pd.Series([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) >>> y 0 2 1 1 2 4 3 5 4 8 5 12 6 18 7 25 8 96 9 48 dtype: int64 >>> x.corr(y) # Pearson's r 0.7586402890911867 >>> y.corr(x) 0.7586402890911869 >>> x.corr(y, method='spearman') # Spearman's rho 0.9757575757575757 >>> x.corr(y, method='kendall') # Kendall's tau 0.911111111111111 2 dan >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 79 seperti yang Anda lakukan saat menghitung koefisien korelasi Pearson. Anda hanya perlu menentukan koefisien korelasi yang diinginkan dengan parameter opsional >>> import pandas as pd >>> x = pd.Series(range(10, 20)) >>> x 0 10 1 11 2 12 3 13 4 14 5 15 6 16 7 17 8 18 9 19 dtype: int64 >>> y = pd.Series([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) >>> y 0 2 1 1 2 4 3 5 4 8 5 12 6 18 7 25 8 96 9 48 dtype: int64 >>> x.corr(y) # Pearson's r 0.7586402890911867 >>> y.corr(x) 0.7586402890911869 >>> x.corr(y, method='spearman') # Spearman's rho 0.9757575757575757 >>> x.corr(y, method='kendall') # Kendall's tau 0.911111111111111 4, yang defaultnya adalah >>> import pandas as pd >>> x = pd.Series(range(10, 20)) >>> x 0 10 1 11 2 12 3 13 4 14 5 15 6 16 7 17 8 18 9 19 dtype: int64 >>> y = pd.Series([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) >>> y 0 2 1 1 2 4 3 5 4 8 5 12 6 18 7 25 8 96 9 48 dtype: int64 >>> x.corr(y) # Pearson's r 0.7586402890911867 >>> y.corr(x) 0.7586402890911869 >>> x.corr(y, method='spearman') # Spearman's rho 0.9757575757575757 >>> x.corr(y, method='kendall') # Kendall's tau 0.911111111111111 5
Untuk menghitung rho Spearman, berikan x y x 1.00 0.76 y 0.76 1.00 61
>>> >>> import numpy as np >>> import scipy.stats >>> x = np.arange(10, 20) >>> y = np.array([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) >>> scipy.stats.pearsonr(x, y) # Pearson's r (0.7586402890911869, 0.010964341301680832) >>> scipy.stats.spearmanr(x, y) # Spearman's rho SpearmanrResult(correlation=0.9757575757575757, pvalue=1.4675461874042197e-06) >>> scipy.stats.kendalltau(x, y) # Kendall's tau KendalltauResult(correlation=0.911111111111111, pvalue=2.9761904761904762e-05) 7
Jika Anda menginginkan tau Kendall, gunakan x y x 1.00 0.76 y 0.76 1.00 62
>>> ________23______8
Seperti yang Anda lihat, tidak seperti SciPy, Anda dapat menggunakan struktur data dua dimensi tunggal (kerangka data)
Visualisasi Korelasi
Visualisasi data sangat penting dalam statistik dan ilmu data. Ini dapat membantu Anda lebih memahami data Anda dan memberi Anda wawasan yang lebih baik tentang hubungan antar fitur. Di bagian ini, Anda akan mempelajari cara merepresentasikan secara visual hubungan antara dua fitur dengan plot x-y. Anda juga akan menggunakan peta panas untuk memvisualisasikan matriks korelasi
Anda akan mempelajari cara menyiapkan data dan mendapatkan representasi visual tertentu, tetapi Anda tidak akan membahas banyak penjelasan lainnya. Untuk mempelajari lebih lanjut tentang Matplotlib secara mendalam, lihat Python Plotting With Matplotlib (Panduan). Anda juga dapat melihat dokumentasi resmi dan Anatomi Matplotlib
Untuk memulai, pertama-tama impor ________12______63
>>> >>> import numpy as np >>> import scipy.stats >>> x = np.arange(10, 20) >>> y = np.array([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) >>> scipy.stats.pearsonr(x, y) # Pearson's r (0.7586402890911869, 0.010964341301680832) >>> scipy.stats.spearmanr(x, y) # Spearman's rho SpearmanrResult(correlation=0.9757575757575757, pvalue=1.4675461874042197e-06) >>> scipy.stats.kendalltau(x, y) # Kendall's tau KendalltauResult(correlation=0.911111111111111, pvalue=2.9761904761904762e-05) 9
Di sini, Anda menggunakan x y x 1.00 0.76 y 0.76 1.00 _64 untuk mengatur gaya plot. Jangan ragu untuk melewati baris ini jika Anda mau
Anda akan menggunakan array >>> scipy.stats.pearsonr(x, y)[0] # Pearson's r 0.7586402890911869 >>> scipy.stats.spearmanr(x, y)[0] # Spearman's rho 0.9757575757575757 >>> scipy.stats.kendalltau(x, y)[0] # Kendall's tau 0.911111111111111 8, >>> scipy.stats.pearsonr(x, y)[0] # Pearson's r 0.7586402890911869 >>> scipy.stats.spearmanr(x, y)[0] # Spearman's rho 0.9757575757575757 >>> scipy.stats.kendalltau(x, y)[0] # Kendall's tau 0.911111111111111 9, >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 47, dan >>> r = np.corrcoef(x, y) >>> r array([[1. , 0.75864029], [0.75864029, 1. ]]) >>> r[0, 1] 0.7586402890911867 >>> r[1, 0] 0.7586402890911869 24 dari bagian sebelumnya. Anda dapat membuatnya lagi untuk mengurangi pengguliran
>>> >>> scipy.stats.pearsonr(x, y)[0] # Pearson's r 0.7586402890911869 >>> scipy.stats.spearmanr(x, y)[0] # Spearman's rho 0.9757575757575757 >>> scipy.stats.kendalltau(x, y)[0] # Kendall's tau 0.911111111111111 0
Sekarang setelah Anda mendapatkan data, Anda siap merencanakan
Plot X-Y Dengan Garis Regresi
Pertama, Anda akan melihat cara membuat plot x-y dengan garis regresi, persamaannya, dan koefisien korelasi Pearson. Anda bisa mendapatkan kemiringan dan perpotongan garis regresi, serta koefisien korelasi, dengan >>> import numpy as np >>> import scipy.stats >>> x = np.arange(10, 20) >>> y = np.array([2, 1, 4, 5, 8, 12, 18, 25, 96, 48]) 8
>>> >>> scipy.stats.pearsonr(x, y)[0] # Pearson's r 0.7586402890911869 >>> scipy.stats.spearmanr(x, y)[0] # Spearman's rho 0.9757575757575757 >>> scipy.stats.kendalltau(x, y)[0] # Kendall's tau 0.911111111111111 1
Sekarang Anda memiliki semua nilai yang Anda butuhkan. Anda juga bisa mendapatkan string dengan persamaan garis regresi dan nilai koefisien korelasi. f-string sangat nyaman untuk tujuan ini
>>> >>> scipy.stats.pearsonr(x, y)[0] # Pearson's r 0.7586402890911869 >>> scipy.stats.spearmanr(x, y)[0] # Spearman's rho 0.9757575757575757 >>> scipy.stats.kendalltau(x, y)[0] # Kendall's tau 0.911111111111111 2
Sekarang, buat plot x-y dengan ________12______70
>>> scipy.stats.pearsonr(x, y)[0] # Pearson's r 0.7586402890911869 >>> scipy.stats.spearmanr(x, y)[0] # Spearman's rho 0.9757575757575757 >>> scipy.stats.kendalltau(x, y)[0] # Kendall's tau 0.911111111111111 _3
Output Anda akan terlihat seperti ini
Kotak merah mewakili pengamatan, sedangkan garis biru adalah garis regresi. Persamaannya tercantum dalam legenda, bersama dengan koefisien korelasinya
Hilangkan iklanPeta Panas Matriks Korelasi
Matriks korelasi bisa menjadi sangat besar dan membingungkan ketika Anda memiliki banyak fitur. Untungnya, Anda dapat menyajikannya secara visual sebagai peta panas di mana setiap bidang memiliki warna yang sesuai dengan nilainya. Anda memerlukan matriks korelasi
>>> >>> scipy.stats.pearsonr(x, y)[0] # Pearson's r 0.7586402890911869 >>> scipy.stats.spearmanr(x, y)[0] # Spearman's rho 0.9757575757575757 >>> scipy.stats.kendalltau(x, y)[0] # Kendall's tau 0.911111111111111 4
Akan lebih mudah bagi Anda untuk membulatkan angka dalam matriks korelasi dengan x y x 1.00 0.76 y 0.76 1.00 71, karena angka tersebut akan ditampilkan di peta panas
Terakhir, buat peta panas Anda dengan x y x 1.00 0.76 y 0.76 1.00 _72 dan matriks korelasi sebagai argumennya
>>> scipy.stats.pearsonr(x, y)[0] # Pearson's r 0.7586402890911869 >>> scipy.stats.spearmanr(x, y)[0] # Spearman's rho 0.9757575757575757 >>> scipy.stats.kendalltau(x, y)[0] # Kendall's tau 0.911111111111111 5
Output Anda akan terlihat seperti ini
Hasilnya adalah tabel dengan koefisien. Sepertinya keluaran Panda dengan latar belakang berwarna. Warna membantu Anda menginterpretasikan output. Dalam contoh ini, warna kuning melambangkan angka 1, hijau melambangkan 0. 76, dan ungu digunakan untuk bilangan negatif
Kesimpulan
Anda sekarang tahu bahwa koefisien korelasi adalah statistik yang mengukur hubungan antara variabel atau fitur kumpulan data. Mereka sangat penting dalam ilmu data dan pembelajaran mesin
Anda sekarang dapat menggunakan Python untuk menghitung
- Koefisien korelasi momen produk Pearson
- Koefisien korelasi peringkat Spearman
- Koefisien korelasi peringkat Kendall
Sekarang Anda dapat menggunakan fungsi dan metode korelasi NumPy, SciPy, dan Pandas untuk menghitung statistik ini (dan lainnya) secara efektif, bahkan saat Anda bekerja dengan kumpulan data besar. Anda juga tahu cara memvisualisasikan data, garis regresi, dan matriks korelasi dengan plot dan peta panas Matplotlib
Jika Anda memiliki pertanyaan atau komentar, silakan taruh di bagian komentar di bawah ini
Tandai sebagai Selesai
🐍 Trik Python 💌
Dapatkan Trik Python singkat & manis yang dikirim ke kotak masuk Anda setiap beberapa hari. Tidak pernah ada spam. Berhenti berlangganan kapan saja. Dikuratori oleh tim Real Python
Kirimi Saya Trik Python »
Tentang Mirko Stojiljkovic
Mirko memiliki Ph. D. di Teknik Mesin dan bekerja sebagai profesor universitas. Ia adalah seorang Pythonista yang menerapkan metode hybrid optimization dan machine learning untuk mendukung pengambilan keputusan di sektor energi
» Lebih lanjut tentang MirkoSetiap tutorial di Real Python dibuat oleh tim pengembang sehingga memenuhi standar kualitas tinggi kami. Anggota tim yang mengerjakan tutorial ini adalah
Aldren
Bryan
Geir Arne
Jaya
Joanna
Master Keterampilan Python Dunia Nyata Dengan Akses Tanpa Batas ke Python Nyata
Bergabunglah dengan kami dan dapatkan akses ke ribuan tutorial, kursus video langsung, dan komunitas pakar Pythonista
Tingkatkan Keterampilan Python Anda »
Guru Keterampilan Python Dunia Nyata
Dengan Akses Tak Terbatas ke Real Python
Bergabunglah dengan kami dan dapatkan akses ke ribuan tutorial, kursus video langsung, dan komunitas ahli Pythonista
Tingkatkan Keterampilan Python Anda »
Bagaimana menurutmu?
Nilai artikel ini
Tweet Bagikan Bagikan EmailApa takeaway # 1 Anda atau hal favorit yang Anda pelajari?
Kiat Berkomentar. Komentar yang paling berguna adalah yang ditulis dengan tujuan belajar dari atau membantu siswa lain. dan dapatkan jawaban atas pertanyaan umum di portal dukungan kami