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

friends friends friends

XGBoost

# Gerekli kütüphaneleri içe aktar
import xgboost as xgb
from sklearn.model_selection import train_test_split, GridSearchCV
from sklearn.metrics import accuracy_score
import pandas as pd
import numpy as np
from sklearn.preprocessing import LabelEncoder
import warnings

warnings.filterwarnings("ignore")

# VERİ SETİ YÜKLE
veriler = pd.read_csv("https://bilisimkitabi.com/files/kimyasal_bilesenler_dummy.csv")
#NDF,ADF,ADL,CP,Ash,CT,HarvestTime

print(veriler.head())
print(veriler.shape)
print(veriler.describe())
print(veriler.describe(exclude=[np.number]))

# Kategorik sütunları sayısal değerlere dönüştür
'''
le = LabelEncoder()
for col in veriler.select_dtypes(include=['object']).columns:
    veriler[col] = le.fit_transform(veriler[col])
'''
le = LabelEncoder()
veriler['HarvestTime'] = le.fit_transform(veriler['HarvestTime'])

# Bağımsız ve bağımlı değişkenleri ayır
X = veriler.drop('HarvestTime', axis=1)
y = veriler['HarvestTime']

# Veriyi eğitim ve test setlerine ayır
seed = 7
test_size = 0.33
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=test_size, random_state=seed)

#Modelde kullanılabilecek parametreler tanımlanmıştır.
parameters = {
        'n_estimators': [100, 500],
        'subsample': [0.8, 1.0], 
        'gamma' : [0,1,5],
        'max_depth': [3, 4, 5], 
        'learning_rate': [0.1, 0.3]}

# #GridSearch ile tüm olası senaryolardaki modeller kurulacaktır.
model = xgb.XGBClassifier()
model_cv = GridSearchCV(model, parameters, cv = 3, n_jobs = -1, verbose = 2)


model_cv.fit(X_train, y_train)

#En yüksek tahmin oranını veren parametreler gösterilmiştir.
best = model_cv.best_params_
best

#Model tekrar en iyi tahmin oranını veren parametreler ile öğrenim sürecine girecektir.
xgboost = xgb.XGBClassifier(best)
xgb_tuned =  xgboost.fit(X_train,y_train)

# Test seti üzerinde tahmin yap
y_pred = xgb_tuned.predict(X_test)

# Doğruluk oranını hesapla
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy: %.2f%%" % (accuracy * 100.0))

#CONFUSION MATRİX-HATA MATRİSİ
from sklearn.metrics import confusion_matrix
cm = confusion_matrix(y_test,y_pred)
print(cm)

numeric_prediction = xgb_tuned.predict([[42,36,6,19,8,11]])
class_prediction = le.inverse_transform(numeric_prediction)  # Sayısal tahmini sınıf ismine dönüştür

print(numeric_prediction, class_prediction)  # Sınıf ismi olarak tahmini yazdırır
0 Beğeni
Makine Öğrenmesi
Önceki Yazı

K-modes

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

NVIDIA Jetson Nano Geliştirici Kiti

08 Kas. 2024 tarihinde yayınlandı.
arrow