Menu
CoddyTech

En İyi İki Özellik

Coddy'nin Machine Learning Journey'sinin Makine Öğrenimi için İstatistik bölümünün bir parçası. Ders 59 / 64.

İşte bu bölümün vaat ettiği şekil: tek bir dağılım grafiğinde sınıf başına bir renk kullanılarak gösterilen, ortalamaya göre en güçlü iki özellik.

Ortalama içbükey nokta sayısı yatay eksende, ortalama çevre uzunluğu dikey eksende gösterilen doku örnekleri: iyi huylu örnekler sol altta kümelenirken kötü huylu örnekler yukarı ve sağa doğru yayılır; iki bulut dar bir bantta buluşur

İyi huylu örnekler sol alt köşede yoğunlaşırken, kötü huylu olanlar yukarı ve sağa doğru yayılır. Bulutların kesiştiği yerde, bu ikiliyi kullanan bir model hatalarını yapacaktır.

Bir kontrol daha: Bu iki örnek kopya mı?

first = strength.index[0]
second = strength.index[1]
print(np.round(df[first].corr(df[second]), 2))

Bu, 0.85 değerini yazdırır: ilişkili, ancak kopya değiller. 0.99 değerinde ikinci özellik birincisini tekrar eder ve neredeyse hiçbir yenilik katmaz.

challenge icon

Görev

Orta

error özellikleri, bir ölçümün tek bir örneğin hücreleri arasında ne kadar değiştiğini ölçer. En güçlü iki özellik sınıfları birbirinden ayırabilir mi? Başlangıç kodu bunları first ve second olarak sıralar; label(ax) grafiği adlandırır.

  1. r between them: metnini ve r değerlerini 2 ondalık basamakla yazdır.
  2. Her sınıf için bir dağılım grafiği çiz; yatay eksende first olsun ve sınıf adıyla etiketlensin.
  3. label(ax) işlevini çağır, bir gösterge ekle ve grafiği göster.

En güçlü worst çifti için (r 0.82) şöyle görünür:

Worst Features başlıklı bir dağılım grafiği; yatay eksende worst concave points, dikey eksende worst perimeter; kötü huylu örnekler mavi renkte sağ üstte, iyi huylu örnekler turuncu renkte sol altta

Sonra grafiğini değerlendir: bulutlar birbirinden ayrı mı? Peki r değerinle, aynı sonucu elde ediyor musun?

Kendin dene

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
# On hata özelliği: her ölçümün bir örnekteki hücreler arasında ne kadar değiştiği
X = cancer.data[cancer.feature_names[10:20]]

# Güçlerine göre sıralandı: first ve second en güçlü iki özelliktir
strength = np.abs(X.corrwith(y)).sort_values(ascending=False)
first = strength.index[0]
second = strength.index[1]


# Grafiğin başlığını ayarlar ve eksenleri bu ikilinin adlarıyla adlandırır
def label(ax):
    ax.set_title("Error Features")
    ax.set_xlabel(first)
    ax.set_ylabel(second)


# Kodunuzu aşağıya yazın
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Makine Öğrenimi için İstatistik bölümündeki tüm dersler

Kendi başına pratik yap: Online Python derleyicisi