Bir Ağacı Okumak
Coddy'nin Machine Learning Journey'sinin Denetimli Öğrenme bölümünün bir parçası. Ders 28 / 58.
Bir ağacın soruları okunabilir olduğundan, ne öğrendiğini kontrol edebilirsin. 5.1 cm uzunluğunda ve 1.6 cm genişliğindeki bir çiçeği iris ağacında takip et:
export_text, aynı soruları metin olarak, her seviye için bir girintiyle yazdırır:
from sklearn.tree import export_text
print(export_text(tree, feature_names=["petal_length", "petal_width"]))Şunu yazdırır:
|--- petal_width <= 0.80
| |--- class: 0
|--- petal_width > 0.80
| |--- petal_length <= 4.95
| | |--- class: 1
| |--- petal_length > 4.95
| | |--- class: 2Her satır yalnızca kendi yolundaki soruları yanıtlar. 2. sınıf virginica’dır; uzun ve geniş taç yapraklar için mantıklı bir yanıttır.
Görev
OrtaBir peynir dükkânının karar ağacı, su oranına ve olgunlaşma haftasına göre bir peyniri taze, yumuşak ya da sert olarak sınıflandırır. Başlangıç kodu ağacı eğitir ve yeni bir peynirin bilgilerini okur.
- Ağacın sorularını özellik adlarıyla birlikte yazdırın.
- Kodu çalıştırın, soruları okuyun ve
by_handişlevini, if/else kullanarak aynı soruları sorup aynı yanıtı döndürecek şekilde tamamlayın.
Çıktıdan sonra, ağacın soft dediği bir peynir için:
By hand: soft
The tree: softKendin dene
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier, export_text
# Her peynir için bir satır: su içeriği (%), olgunlaşma süresi (hafta) ve peynir türü
cheeses = pd.read_csv("cheeses.csv")
features = ["moisture_pct", "aged_weeks"]
X_train, X_test, y_train, y_test = train_test_split(cheeses[features], cheeses["cheese"], test_size=0.25, random_state=0)
tree = DecisionTreeClassifier(max_depth=2, random_state=0)
tree.fit(X_train, y_train)
# Adlandırılacak yeni bir peynir
moisture = int(input())
aged = int(input())
new_cheese = pd.DataFrame([[moisture, aged]], columns=features)
# Kodunuzu aşağıya yazın: ağacı yazdırın, ardından by_hand içinde ağacın verdiği yanıtı verin
def by_hand(moisture, aged):
return "fresh"
# Aşağıdaki satırları değiştirmeyin
print("By hand:", by_hand(moisture, aged))
print("The tree:", tree.predict(new_cheese)[0])
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Denetimli Öğrenme bölümündeki tüm dersler
1İlk Modeliniz
Örneklerden ÖğrenmeEğitim ve Test KümeleriUydurma ve Tahmin EtmeBir Modeli PuanlamaÖzet: Tohum Sınıflandırıcı4Lojistik Regresyon
Evet-Hayır TahminleriKarar EşiğiKanıt Olarak AğırlıklarBirden Fazla SınıfÖzet: Spam Filtresi2En Yakın Komşular
k-NN Nasıl Karar Verirk'yi SeçmekKarar SınırlarıKomşular İçin ÖlçeklemeÖzet: Şarap Komşuları5Sınıflandırıcıları Değerlendirme
Karmaşıklık MatrisiKesinlik ve DuyarlılıkF1 SkoruDengesiz SınıflarROC EğrileriÖzet: Tarama Testi8Çapraz Doğrulama
K-Katlı DoğrulamaModelleri Adil Bir Şekilde KarşılaştırmaIzgara AramasıÖzet: Kaykay Tamiri11Proje: Penguen Türleri
Penguenlerle TanışınVerileri HazırlayınBir Model SeçinEn İyisini AyarlayınModeli Yayına Alın3Doğrusal Regresyon
Sayıları Tahmin EtmeBirden Fazla ÖzellikHataları ÖlçmeArtık GrafikleriÖzet: Bisiklet Kiralama6Karar Ağaçları
Ağaçlar Soru SoruyorBir Ağacı OkumakAğaç DerinliğiÖzellik Önem DerecesiTekrar: Kredi KararlarıKendi başına pratik yap: Online Python derleyicisi