Menu
CoddyTech

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 jaringan berdasarkan rata-rata titik cekung pada sumbu horizontal dan rata-rata perimeter pada sumbu vertikal: sampel jinak berkumpul di kiri bawah, sampel ganas menyebar ke atas dan ke kanan, kedua kelompok bertemu dalam pita sempit

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.

challenge icon

Tantangan

Sedang

Fitur 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.

  1. Cetak r between them: dan nilai r keduanya, hingga 2 angka desimal.
  2. Buat satu scatter plot untuk setiap class, dengan first pada sumbu horizontal, dan beri label berupa nama class.
  3. Panggil label(ax), tambahkan legenda, lalu tampilkan grafiknya.

Contohnya seperti ini, untuk pasangan worst terkuat (r 0.82):

Scatter plot berjudul Worst Features, worst concave points pada sumbu horizontal dan worst perimeter pada sumbu vertikal, sampel malignant berwarna biru di kanan atas, sampel benign berwarna oranye di kiri bawah

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
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Statistik untuk ML

Latihan sendiri: Compiler Python online