R - Karar Ağacı
Karar ağacı, seçenekleri ve sonuçlarını bir ağaç şeklinde temsil eden bir grafiktir. Grafikteki düğümler bir olayı veya seçimi temsil eder ve grafiğin kenarları karar kurallarını veya koşullarını temsil eder. Çoğunlukla Makine Öğrenimi ve Veri Madenciliği uygulamalarında R kullanarak kullanılır.
Karar ağının kullanımına örnekler - bir e-postayı istenmeyen posta olarak veya istenmeyen posta olarak tahmin etmek, bir tümörün kanserli olduğunu tahmin etmek veya bunların her birindeki faktörlere dayalı olarak bir krediyi iyi veya kötü bir kredi riski olarak tahmin etmektir. Genel olarak, eğitim verileri olarak da adlandırılan gözlemlenen verilerle bir model oluşturulur. Ardından modeli doğrulamak ve iyileştirmek için bir dizi doğrulama verisi kullanılır. R, karar ağaçları oluşturmak ve görselleştirmek için kullanılan paketlere sahiptir. Yeni öngörücü değişken kümesi için, verilerin kategorisi (evet / Hayır, istenmeyen posta / istenmeyen posta değil) hakkında bir karara varmak için bu modeli kullanırız.
R paketi "party" karar ağaçları oluşturmak için kullanılır.
R Paketini Kurun
Paketi yüklemek için R konsolunda aşağıdaki komutu kullanın. Ayrıca varsa bağımlı paketleri de kurmanız gerekir.
install.packages("party")
"Parti" paketinin işlevi vardır ctree() karar ağacı oluşturmak ve analiz etmek için kullanılır.
Sözdizimi
R'de bir karar ağacı oluşturmak için temel sözdizimi -
ctree(formula, data)
Aşağıda kullanılan parametrelerin açıklaması verilmiştir -
formula yordayıcı ve yanıt değişkenlerini açıklayan bir formüldür.
data kullanılan veri kümesinin adıdır.
Giriş Verileri
Adlı yerleşik R veri kümesini kullanacağız readingSkillsbir karar ağacı oluşturmak için. "Yaş", "ayakkabı boyu", "puan" değişkenlerini ve kişinin anadili olup olmadığını bildiğimizde, kişinin okuma becerilerinin puanını açıklar.
İşte örnek veriler.
# Load the party package. It will automatically load other
# dependent packages.
library(party)
# Print some records from data set readingSkills.
print(head(readingSkills))
Yukarıdaki kodu çalıştırdığımızda, aşağıdaki sonucu ve grafiği üretir -
nativeSpeaker age shoeSize score
1 yes 5 24.83189 32.29385
2 yes 6 25.95238 36.63105
3 no 11 30.42170 49.60593
4 yes 7 28.66450 40.28456
5 yes 11 31.88207 55.46085
6 yes 10 30.07843 52.83124
Loading required package: methods
Loading required package: grid
...............................
...............................
Misal
Kullanacağız ctree() Karar ağacını oluşturmak ve grafiğini görmek için işlev.
# Load the party package. It will automatically load other
# dependent packages.
library(party)
# Create the input data frame.
input.dat <- readingSkills[c(1:105),]
# Give the chart file a name.
png(file = "decision_tree.png")
# Create the tree.
output.tree <- ctree(
nativeSpeaker ~ age + shoeSize + score,
data = input.dat)
# Plot the tree.
plot(output.tree)
# Save the file.
dev.off()
Yukarıdaki kodu çalıştırdığımızda şu sonucu verir -
null device
1
Loading required package: methods
Loading required package: grid
Loading required package: mvtnorm
Loading required package: modeltools
Loading required package: stats4
Loading required package: strucchange
Loading required package: zoo
Attaching package: ‘zoo’
The following objects are masked from ‘package:base’:
as.Date, as.Date.numeric
Loading required package: sandwich
Sonuç
Yukarıda gösterilen karar ağacından, okuma becerileri puanı 38,3'ün altında ve yaşı 6'dan büyük olanların anadil konuşmacı olmadığı sonucuna varabiliriz.