İris çiçekleri, soğanlı çok yıllık bitkilerdir. Barbata, Sibirya, Japon, İspanyol ve Çin iris türleri bulunur. Gösterişli çiçekleri olan barbata iris, sakal benzeri yapılarıyla dikkat çeker. Sibirya iris ince yapraklı ve zarif, Japon iris su kenarlarında yetişir. İspanyol iris küçük, renkli çiçeklere sahipken, Çin iris tek çiçeklidir. Irisler genellikle güneşi sever, iyi drenajlı topraklarda yetişir ve bakım gereksinimleri sınırlıdır.
Fisher’ın Iris Veri Seti, bilgisayar bilimi ve makine öğreniminde yaygın olarak kullanılan bir veri kümesidir. Bu veri seti, setosa, versicolor ve virginica olmak üzere üç iris çiçeği türünü içerir. Her bir çiçek türü için dört özellik ölçümü (uzunluk ve genişlik) içerir. Toplamda 150 örnek bulunur ve sınıflandırma modellerinin geliştirilmesi için kullanılır.
## Rows: 150 Columns: 6
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (1): Species
## dbl (5): Id, SepalLengthCm, SepalWidthCm, PetalLengthCm, PetalWidthCm
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
## Loading required package: ggplot2
## Loading required package: lattice
değişkenine “iris.csv” dosya adını atar. Bu dosya adı, bir CSV formatındaki “iris” veri setini temsil ediyor
“Iris” veri setinin sütun isimlerini belirtir. Bu komut, sütun isimlerini sırasıyla “Sepal.Length”, “Sepal.Width”, “Petal.Length”, “Petal.Width” ve “Species” olarak değiştirir.
“iris” veri setindeki “Species” değişkenine dayanarak, veriyi 0.80 (80%) eğitim ve 0.20 (20%) doğrulama alt kümelerine böler. Oluşturulan indeksler “validation_index” değişkenine atanır.
“iris” veri setinde önceden belirlenen validation_index indeksine karşılık gelen gözlemleri çıkararak, geriye kalan verileri içeren bir doğrulama (validation) alt kümesini oluşturur ve bu alt küme “validation” adlı değişkene atanır. Yani, eğitim için kullanılacak veri setinden ayrılan bir doğrulama seti elde edilir.
daha önce belirlenen validation_index indeksine karşılık gelen gözlemleri kullanarak “iris” veri setini günceller. Yani, bu komut ile eğitim seti için kullanılacak gözlemleri içeren bir “iris” alt kümesi elde edilir.
“iris” veri setinin boyutunu (satır ve sütun sayısı) gösterir
## [1] 120 5
“iris” veri setinin her bir sütununun veri tipini döndürür. Yani, her sütunun veri tipini sıralı bir şekilde liste olarak gösterir.
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## "numeric" "numeric" "numeric" "numeric" "factor"
“iris” veri setinin ilk altı gözlemini görüntüler. Bu komut, veri setinin başındaki verileri incelemek için kullanılır.
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1 5.1 3.5 1.4 0.2 setosa
## 2 4.9 3.0 1.4 0.2 setosa
## 5 5.0 3.6 1.4 0.2 setosa
## 6 5.4 3.9 1.7 0.4 setosa
## 8 5.0 3.4 1.5 0.2 setosa
## 9 4.4 2.9 1.4 0.2 setosa
“iris” veri setindeki “Species” değişkeninin faktör (factor) türündeki sınıf seviyelerini döndürür. Yani, “Species” değişkeninin alabileceği kategorik değerleri veya sınıf seviyelerini listeler. Bu komut, özellikle sınıflandırma problemlerinde kullanılan hedef değişkenin sınıf etiketlerini görmek için kullanışlıdır.
## [1] "setosa" "versicolor" "virginica"
Bu iki satır kod, “iris” veri setindeki “Species” değişkeninin sınıf frekanslarını ve yüzdelik oranlarını içeren bir tabloyu oluşturur.
İlk satırda: “Sipariş Tablosu” (frequency table) oluşturulur ve prop.table fonksiyonu ile sınıf yüzdelik oranları hesaplanır. Bu bilgileri içeren “percentage” adlı bir vektör oluşturulur. İkinci satırda: Bu iki satır kod, “iris” veri setindeki “Species” değişkeninin sınıf frekanslarını ve yüzdelik oranlarını içeren bir tabloyu oluşturur. İlk satırda:
percentage <- prop.table(table(iris$Species)) * 100 “Sipariş Tablosu” (frequency table) oluşturulur ve prop.table fonksiyonu ile sınıf yüzdelik oranları hesaplanır. Bu bilgileri içeren “percentage” adlı bir vektör oluşturulur.
İkinci satırda:table(iris$Species) ile sınıf frekansları alınır ve percentage ile önceki adımda hesaplanan yüzdelik oranları içeren bir veri çerçevesi oluşturulur. cbind fonksiyonu, sınıf frekansları ve yüzdelik oranları içeren bu iki bilgiyi birleştirir. Oluşturulan veri çerçevesinde “freq” sütunu sınıf frekanslarını, “percentage” sütunu ise yüzdelik oranları içerir.
## freq percentage
## setosa 40 33.33333
## versicolor 40 33.33333
## virginica 40 33.33333
Bu özet, her sayısal sütun için temel istatistikleri içerir: minimum, 1. çeyrek, medyan, 3. çeyrek, maksimum ve bazı durumlarda ortalamayı içerir. Ayrıca, faktör değişkenler için sınıf seviyelerinin sayısını gösterir.
Örneğin, Sepal Length, Sepal Width, Petal Length ve Petal Width sütunları için minimum, 1. çeyrek, medyan, 3. çeyrek, maksimum değerleri ve Species sütunu için sınıf seviyelerinin sayısını içerir. summary fonksiyonu, veri setini hızlı bir şekilde anlamak için kullanışlı bir araçtır.
## Sepal.Length Sepal.Width Petal.Length Petal.Width
## Min. :4.300 Min. :2.000 Min. :1.000 Min. :0.100
## 1st Qu.:5.175 1st Qu.:2.800 1st Qu.:1.575 1st Qu.:0.300
## Median :5.800 Median :3.000 Median :4.400 Median :1.300
## Mean :5.841 Mean :3.059 Mean :3.760 Mean :1.192
## 3rd Qu.:6.400 3rd Qu.:3.400 3rd Qu.:5.100 3rd Qu.:1.800
## Max. :7.700 Max. :4.400 Max. :6.900 Max. :2.500
## Species
## setosa :40
## versicolor:40
## virginica :40
##
##
##
x <- iris[, 1:4]: “iris” veri setinin ilk dört sütununu içeren bir veri çerçevesi olan “x” değişkenine atar. Bu sütunlar, çiçek ölçümlerini temsil eder.
y <- iris[, 5]: “iris” veri setinin beşinci sütununu içeren bir vektör olan “y” değişkenine atar. Bu sütun, çiçek türlerini temsil eden “Species” değişkenidir. “x” genellikle bağımsız değişkenleri, “y” ise bağımlı değişkeni temsil eder ve genellikle makine öğrenimi modellerinin eğitiminde kullanılır.
“iris” veri setinin ilk dört sütununu içeren bir boxplot serisini oluşturur ve bu boxplot’ları tek bir grafik penceresinde (1 satır, 4 sütunlu) gösterir. Her bir boxplot, bir özellik (Sepal.Length, Sepal.Width, Petal.Length, Petal.Width) için veri dağılımını gösterir.
par(mfrow=c(1,4)): Bu komut, grafik penceresini bir satırda dört sütuna bölmek için kullanılır.
for(i in 1:4) { boxplot(x[,i], main=names(iris)[i]) }: Bu döngü, her bir sütunun boxplot’ını oluşturur ve her boxplot’ın başlığını, “iris” veri setinin sütun isimleriyle etiketler. Bu şekilde, her bir boxplot farklı bir özellik (değişken) için veri dağılımını gösterir.
Sonuç olarak, pencerenin her sütununda bir boxplot olacak şekilde dört ayrı grafik görüntülenir.
* featurePlot” fonksiyonu ile çizilecek grafiklerin x ve y eksenlerinin
ölçeklerinin bağımsız olarak özelleştirilmesini sağlar. Bu özel ayar,
her bir özellik için sınıfların dağılımını daha iyi anlamak ve
karşılaştırmak için kullanılır.
Bu özellik, x ve y eksenlerinin ölçeklerini “free” olarak ayarlar. “free” ölçek, her bir grafikteki eksenlerin kendi aralarında bağımsız olmasını ifade eder. Bu, her bir özellik için sınıfların daha iyi karşılaştırılabilmesini sağlar.
results <- resamples(list(lda=fit.lda, cart=fit.cart, knn=fit.knn, svm=fit.svm, rf=fit.rf))
summary(results)##
## Call:
## summary.resamples(object = results)
##
## Models: lda, cart, knn, svm, rf
## Number of resamples: 10
##
## Accuracy
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## lda 0.9166667 0.9375000 1.0000000 0.9750000 1.0000000 1 0
## cart 0.7500000 0.8541667 0.9166667 0.9000000 0.9166667 1 0
## knn 0.8333333 0.9166667 1.0000000 0.9583333 1.0000000 1 0
## svm 0.8333333 0.9166667 0.9166667 0.9416667 1.0000000 1 0
## rf 0.7500000 0.9166667 0.9166667 0.9333333 1.0000000 1 0
##
## Kappa
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## lda 0.875 0.90625 1.000 0.9625 1.000 1 0
## cart 0.625 0.78125 0.875 0.8500 0.875 1 0
## knn 0.750 0.87500 1.000 0.9375 1.000 1 0
## svm 0.750 0.87500 0.875 0.9125 1.000 1 0
## rf 0.625 0.87500 0.875 0.9000 1.000 1 0
* eğitilmiş bir Linear Discriminant Analysis (LDA) modelinin özetini
ekrana basar. Bu çıktı, modelin eğitildiği veri seti, kullanılan
parametreler ve eğitim sonuçları gibi temel bilgileri içerir. Bu sayede
eğitilmiş modelin yapılandırması ve performansı hakkında genel bir bilgi
edinebilirsiniz.
## Linear Discriminant Analysis
##
## 120 samples
## 4 predictor
## 3 classes: 'setosa', 'versicolor', 'virginica'
##
## No pre-processing
## Resampling: Cross-Validated (10 fold)
## Summary of sample sizes: 108, 108, 108, 108, 108, 108, ...
## Resampling results:
##
## Accuracy Kappa
## 0.975 0.9625
## Confusion Matrix and Statistics
##
## Reference
## Prediction setosa versicolor virginica
## setosa 10 0 0
## versicolor 0 10 0
## virginica 0 0 10
##
## Overall Statistics
##
## Accuracy : 1
## 95% CI : (0.8843, 1)
## No Information Rate : 0.3333
## P-Value [Acc > NIR] : 4.857e-15
##
## Kappa : 1
##
## Mcnemar's Test P-Value : NA
##
## Statistics by Class:
##
## Class: setosa Class: versicolor Class: virginica
## Sensitivity 1.0000 1.0000 1.0000
## Specificity 1.0000 1.0000 1.0000
## Pos Pred Value 1.0000 1.0000 1.0000
## Neg Pred Value 1.0000 1.0000 1.0000
## Prevalence 0.3333 0.3333 0.3333
## Detection Rate 0.3333 0.3333 0.3333
## Detection Prevalence 0.3333 0.3333 0.3333
## Balanced Accuracy 1.0000 1.0000 1.0000