Dua Fitur Terbaik
Termasuk bagian Statistik untuk ML dalam perjalanan Machine Learning di Coddy. Pelajaran 59 dari 64.
Inilah gambar yang dijanjikan bab ini: dua fitur rata-rata terkuat dalam satu diagram sebar, satu warna untuk setiap kelas.
Sampel jinak berkumpul di kiri bawah, sedangkan sampel ganas menyebar ke atas dan ke kanan. Di tempat kedua kelompok bertemu, model yang menggunakan pasangan ini akan membuat kesalahan.
Satu pemeriksaan lagi: apakah keduanya hampir sama?
first = strength.index[0]
second = strength.index[1]
print(np.round(df[first].corr(df[second]), 2))Ini mencetak 0.85: terkait, bukan salinan. Pada 0.99, fitur kedua akan mengulang fitur pertama dan hampir tidak menambahkan hal baru.
Tantangan
SedangFitur error mengukur seberapa besar suatu pengukuran bervariasi di antara sel-sel dalam satu sampel. Bisakah dua fitur terkuat membedakan kedua class? Kode awal mengurutkannya menjadi first dan second; label(ax) memberi nama pada grafik.
- Cetak
r between them:dan nilai r keduanya, hingga 2 angka desimal. - Buat satu scatter plot untuk setiap class, dengan
firstpada sumbu horizontal, dan beri label berupa nama class. - Panggil
label(ax), tambahkan legenda, lalu tampilkan grafiknya.
Contohnya seperti ini, untuk pasangan worst terkuat (r 0.82):
Lalu, amati grafikmu: apakah titik-titiknya membentuk kumpulan yang terpisah? Dan apakah salinannya sesuai dengan nilai r-mu?
Coba sendiri
import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import load_breast_cancer
cancer = load_breast_cancer(as_frame=True)
df = cancer.frame
y = cancer.target
# Sepuluh fitur error: seberapa besar setiap pengukuran bervariasi di antara sel-sel dalam satu sampel
X = cancer.data[cancer.feature_names[10:20]]
# Diurutkan berdasarkan kekuatan: first dan second adalah dua yang terkuat
strength = np.abs(X.corrwith(y)).sort_values(ascending=False)
first = strength.index[0]
second = strength.index[1]
# Menetapkan judul grafik dan menamai sumbu berdasarkan pasangan tersebut
def label(ax):
ax.set_title("Error Features")
ax.set_xlabel(first)
ax.set_ylabel(second)
# Tulis kodemu di bawah ini
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Statistik untuk ML
1Pusat dan Sebaran
Rata-rata dan MedianPersentil dan KuartilVarians dan Simpangan BakuSampel atau Populasi?Nilai yang Paling Sering MunculRangkuman: Waktu Pengiriman4Sampel dan Populasi
Populasi dan SampelRata-rata Sampel BervariasiDistribusi SamplingSampel Lebih Besar, Lebih Sedikit GangguanRangkuman: Jajak Pendapat di Sebuah Kota2Distribusi
Histogram KepadatanBentuk DataKurva NormalAturan 68-95-99,7Skor-ZRekap: Daya Tahan Baterai5Nilai Pencilan
Diagram KotakAturan IQRAturan Z-ScoreMenangani Nilai PencilanRangkuman: Gangguan Sensor8Membandingkan Kelompok
Diagram Kotak per KelompokPerbedaan Rata-rataMungkinkah Ini Kebetulan?Nilai-pUji-tRangkuman: Uji A/B11Menjelajahi Dataset
Melihat SekilasSemua Fitur SekaligusFitur Dibandingkan dengan LabelDua Fitur TerbaikRangkuman: Data Diabetes3Probabilitas melalui Simulasi
Probabilitas sebagai FrekuensiHukum Bilangan BesarJumlah Mata DaduNilai HarapanProbabilitas BersyaratRangkuman: Peluang di Lapak Dadu6Hubungan
Membaca Diagram PencarKorelasiMatriks KorelasiPeta Panas KorelasiKorelasi Bukan Sebab-AkibatRangkuman: Es Krim dan MatahariLatihan sendiri: Compiler Python online