-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathAdaboost.py
More file actions
45 lines (43 loc) · 1.85 KB
/
Copy pathAdaboost.py
File metadata and controls
45 lines (43 loc) · 1.85 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import os
import numpy as np
import numpy as np, pandas as pd
from sklearn.metrics import accuracy_score
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
from sklearn.ensemble import RandomForestClassifier,AdaBoostClassifier
from sklearn import tree, metrics, model_selection
from sklearn.metrics import accuracy_score
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
from sklearn.ensemble import RandomForestClassifier,AdaBoostClassifier,GradientBoostingClassifier
# Veriyi yükleme
data = pd.read_csv('heart.csv')
# Sınıf değişkenini belirleme
data['target'],target_names = pd.factorize(data['target'])
print(target_names)
print(data['target'].unique())
#veriyi ve sınıf değişkenini belirleme
X = data.iloc[:,:-1]
y = data.iloc[:,-1]
# Eğitim ve test kümelerine ayırma:
X_train, X_test, y_train, y_test = model_selection.train_test_split(X, y, test_size=0.3, random_state=0)
# karar ağacını eğitme
dtree = tree.DecisionTreeClassifier(criterion='gini', max_depth=4, random_state=0)
dtree.fit(X_train, y_train)
# test verisi üzerinden tahminleme yapma
y_pred = dtree.predict(X_test)
# modelin değerlendirilmesi
count_misclassified = (y_test != y_pred).sum()
print('Misclassified samples: {}'.format(count_misclassified))
accuracy = metrics.accuracy_score(y_test, y_pred)
print('Accuracy: {:.2f}'.format(accuracy))
# öğrenilen arar ağacını görselleştir
import graphviz
feature_names = X.columns
dot_data = tree.export_graphviz(dtree, out_file=None, filled=True, rounded=True,
feature_names=feature_names)
graph=graphviz.Source(dot_data)
clf = AdaBoostClassifier(n_estimators=100)
clf.fit(X_train, y_train)
y_pred = clf.predict(X_test)
accuracy_score(y_test, y_pred)