Bilişim dünyasına kaliteli, özgün ve Türkçe içerikler kazandırmayı hedefleyen bir platform..

friends friends friends

Feature Importance

Makine öğrenmesinde, özelliklerin(feature) önem puanları, bir tahmin modeli oluştururken bir veri kümesindeki her bir özelliğin göreceli önemini belirlemek için kullanılır. Bu puanlar, karar ağaçları, rastgele ormanlar, doğrusal modeller ve sinir ağları gibi çeşitli teknikler kullanılarak hesaplanır.

Bir veri setinde hangi kolonların ne kadar önemli olduklarını(feature importance) anlamak için Random Forest kullanabiliriz. Aşağıda İris veri seti üzerinden bunu nasıl yaptığımızı görebilirsiniz:

import pandas as pd
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split
import matplotlib.pyplot as plt

# 1. Veri setini yükleyin
# Örneğin: iris veri seti
from sklearn.datasets import load_iris
data = load_iris()
df = pd.DataFrame(data.data, columns=data.feature_names)
df['target'] = data.target

# 2. Özellikler (X) ve hedef (y) değişkeni
X = df.drop(columns=['target'])
y = df['target']

# 3. Eğitim ve test setlerine bölme
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 4. Random Forest Modelini Eğitme
model = RandomForestClassifier(random_state=42)
model.fit(X_train, y_train)

# 5. Özellik önemlerini alma
feature_importances = model.feature_importances_

# 6. Özellik önemlerini görselleştirme
plt.figure(figsize=(10, 6))
plt.barh(X.columns, feature_importances, color='turquoise')
plt.xlabel("Feature Importance")
plt.ylabel("Features")
plt.title("Feature Importance Using Random Forest")
plt.show()
Feature Importance in iris dataset
Feature Importance in iris dataset
from sklearn.ensemble import RandomForestClassifier
import matplotlib.pyplot as plt
import pandas as pd

# CSV dosyasını okuma ve ilk satırı sütun isimleri olarak ayarlama
df = pd.read_csv("https://bilisimkitabi.com/files/kimyasal_bilesenler_dummy.csv", header=0)

# Özellikler (X) ve hedef değişkeni (y) belirleme
X = df.drop(columns=['HarvestTime'])
y = df['HarvestTime']

# Modeli oluştur ve eğit
clf = RandomForestClassifier(n_estimators=100, random_state=42)
clf.fit(X, y)

# Özellik önemlerini al
importances = clf.feature_importances_

# Özelliklerin önemini yazdır
for feature, importance in zip(X.columns, importances):
    print(f"{feature}: {importance:.4f}")

# Özellik önemlerini görselleştir
plt.bar(X.columns, importances)
plt.xlabel('Features')
plt.ylabel('Importance')
plt.title('Feature Importances')
plt.xticks(rotation=45)
plt.show()
Feature Importance
Feature Importance
import pandas as pd
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split
import matplotlib.pyplot as plt

# 1. Veri setini yükleyin
df = pd.read_csv("https://bilisimkitabi.com/files/kimyasal_bilesenler_dummy.csv", header=0)

# 2. Özellikler (X) ve hedef (y) değişkeni
X = df.drop(columns=['HarvestTime'])
y = df['HarvestTime']

# 3. Eğitim ve test setlerine bölme
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 4. Random Forest Modelini Eğitme
model = RandomForestClassifier(random_state=42)
model.fit(X_train, y_train)

# 5. Özellik önemlerini alma
feature_importances = model.feature_importances_

# 6. Özellik önemlerini görselleştirme
plt.figure(figsize=(10, 6))
plt.barh(X.columns, feature_importances, color='turquoise')
plt.xlabel("Feature Importance")
plt.ylabel("Features")
plt.title("Feature Importance Using Random Forest")
plt.show()
Feature Importance
Feature Importance

Özellik seçimi: En önemli özellikleri belirleyerek, uygulayıcılar bir model oluşturmada kullanılacak ilgili özelliklerin bir alt kümesini seçebilir, verilerdeki boyutluluğu ve gürültüyü azaltabilir ve model yorumlanabilirliğini iyileştirebilir.

Model yorumlanabilirliği: Hangi özelliklerin en önemli olduğunu anlayarak, uygulayıcılar verilerdeki temel ilişkiler ve modelin nasıl tahminler yaptığı hakkında fikir edinebilirler.

Model hata ayıklama: Bir model iyi performans göstermiyorsa, özellik önemi hangi özelliklerin sorunlara neden olabileceğini ve daha fazla araştırma gerektirebileceğini belirlemek için kullanılabilir.

İş karar alma: Hangi özelliklerin en önemli olduğunu anlayarak, uygulayıcılar hangi özelliklerin toplanacağı ve kaynakların nasıl tahsis edileceği konusunda daha bilinçli kararlar alabilirler.

Model performansını iyileştirme: Daha az önemli özellikleri kaldırarak, uygulayıcılar aşırı uyumu ve eğitim süresini azaltarak model performansını iyileştirebilir.

0 Beğeni
Makine Öğrenmesi
Önceki Yazı

Excel'de Çoklu EĞER Formülü

29 Kas. 2024 tarihinde yayınlandı.
Sonraki Yazı

Çocuk Kitapları Hazırlamak İçin Yapay Zeka Aracı

29 Kas. 2024 tarihinde yayınlandı.
arrow