Python ile Sınıflandırma Analizleri – Rastgele Orman (Random Forest) Algoritması
Merhaba, iyi günler.
Bugün; çeşitli veri kümeleri üzerinde özel işlemler ile farklı çözümlemeler için yapılandırılmış denetimli/gözetimli öğrenme algoritmalarından regresyon ve diğer analizler için eğitim aşamasında çok sayıda karar ağacı oluşturarak problemin tipine göre sınıf/sonuç tahmini gerçekleştiren toplu öğrenme yöntemi olan Rastgele Orman (Random Forest) algoritması üzerine çeşitli bilgi ve çözümlemeler aktarmaya çalışacağım.
Genel konu özetinin bulunduğu Python Veri Analizi yazısına link üzerinden ulaşabilirsiniz.
İlgili yazı içeriğine ulaşmak için lütfen tıklayınız...
Please click to access the related article content...
İlgili derlenmiş kod çözümü ise;
from sklearn import datasets
import pandas as pan
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn import metrics
import matplotlib.pyplot as plot
import seaborn as sea
iris_dataset = datasets.load_iris()
print(iris_dataset)
print(iris_dataset.target_names)
print(iris_dataset.feature_names)
print(iris_dataset.data[0:10])
print(iris_dataset.target)
salt_data.head()
X=salt_data[['sepal length', 'sepal width', 'petal length', 'petal width']]
y=salt_data['species']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.35, shuffle=True)
print("Accuracy Value:",metrics.accuracy_score(y_test, y_pred))
clf.predict([[1, 2, 3, 4]])
clf=RandomForestClassifier(n_estimators=120)
clf.fit(X_train,y_train)
RandomForestClassifier(bootstrap=True, class_weight=None, criterion='gini',
max_depth=None, max_features='auto', max_leaf_nodes=None,
min_impurity_decrease=0.0, min_impurity_split=None,
min_samples_leaf=1, min_samples_split=0,
min_weight_fraction_leaf=0.0, n_estimators=100, n_jobs=1,
oob_score=False, random_state=None, verbose=0,
warm_start=False)
feature_imp = pan.Series(clf.feature_importances_,index=iris_dataset.feature_names).sort_values(ascending=False)
feature_imp
sea.barplot(x=feature_imp, y=feature_imp.index)
plot.xlabel('Feature Importance Score')
plot.ylabel('Features')
plot.title("Visualizing Important Features")
plot.show()
X=salt_data[['petal length', 'petal width','sepal length']]
y=salt_data['species']
X
y
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.75,shuffle=True, random_state=5)
clf=RandomForestClassifier(n_estimators=120)
clf.fit(X_train,y_train)
y_pred=clf.predict(X_test)
print("Accuracy Value:",metrics.accuracy_score(y_test, y_pred))
Accuracy Value: 0.9557522123893806