Iris veri seti, üç farklı iris çiçeği türüne ait dört temel özelliği (sepal uzunluğu, sepal genişliği, petal uzunluğu, petal genişliği) içeren bir veri kümesidir.
1. Gerekli Kütüphanelerin İçe Aktarılması
İlk olarak, veri analizi ve görselleştirme için gerekli kütüphaneleri içe aktarıyoruz.
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import classification_report, confusion_matrix
2. Veri Setinin Yüklenmesi
Veri setini pandas kütüphanesi ile yüklüyoruz.
# Veri setini yükle
df = pd.read_csv('iris.csv')
3. Veri Setini Keşfetme
Veri setinin yapısını ve temel istatistiksel bilgilerini inceliyoruz.
# İlk birkaç satırı görüntüle
print(df.head())
# Veri setinin özet istatistikleri
print(df.describe())
4. Veri Görselleştirme
Veri setindeki ilişkileri görselleştiriyoruz.
df[‘SepalLengthCm’].hist()
df[‘SepalWidthCm’].hist()
5. Veri Ön İşleme
Veri setini eğitim ve test olarak ayırıyoruz ve standartlaştırıyoruz.
# Özellikler ve etiketleri ayır
X = df.drop('species', axis=1)
y = df['species']
# Veriyi eğitim ve test olarak ayır
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.30, random_state=42)
# Veriyi standartlaştır
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)
6. Model Eğitimi
KNN algoritması ile modeli eğitiyoruz.
# Modeli oluştur ve eğit
knn = KNeighborsClassifier(n_neighbors=5)
knn.fit(X_train, y_train)
7. Model Değerlendirmesi
Modelin performansını değerlendiriyoruz.
# Tahmin yap
y_pred = knn.predict(X_test)
# Sonuçları değerlendir
print(confusion_matrix(y_test, y_pred))
print(classification_report(y_test, y_pred))