-
Notifications
You must be signed in to change notification settings - Fork 0
/
Decision Tree.py
34 lines (32 loc) · 1.58 KB
/
Decision Tree.py
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
# -*- coding: utf-8 -*-
"""
Created on Tue Oct 6 14:25:42 2020
@author: Azizi
"""
import pandas as pd
from sklearn.tree import DecisionTreeClassifier
from sklearn import metrics
from sklearn.model_selection import train_test_split
dataset = pd.read_csv('vehicle_csv.csv')
print('\n________ Dataset _________')
print(dataset)
x= dataset[['COMPACTNESS','CIRCULARITY','DISTANCE_CIRCULARITY','RADIUS_RATIO',
'PR.AXIS_ASPECT_RATIO','MAX.LENGTH_ASPECT_RATIO','SCATTER_RATIO',
'ELONGATEDNESS','PR.AXIS_RECTANGULARITY','MAX.LENGTH_RECTANGULARITY',
'SCALED_VARIANCE_MAJOR','SCALED_VARIANCE_MINOR','SCALED_RADIUS_OF_GYRATION',
'SKEWNESS_ABOUT_MAJOR','SKEWNESS_ABOUT_MINOR','KURTOSIS_ABOUT_MAJOR',
'KURTOSIS_ABOUT_MINOR','HOLLOWS_RATIO']]
y= dataset['Class']
xtrain, xtest,ytrain,ytest = train_test_split(x,y,test_size=0.3)
classifier = DecisionTreeClassifier(criterion = 'entropy', random_state = 0)
classifier.fit(xtrain, ytrain)
ypredict= classifier.predict(xtest)
ytrainpredict= classifier.predict(xtrain)
accuracytrain= metrics.accuracy_score(ytrain, ytrainpredict)
accuracytest= metrics.accuracy_score(ytest, ypredict)
print('_____________________________Train ACCURACY____________________________')
print(f'Your DecisionTree Accuracy is: {accuracytrain}')
print('_____________________________Test ACCURACY____________________________')
print(f'Your DecisionTree Accuracy is: {accuracytest}')
print('_________________PREDICTION BASED ON YOUR INPUTS_________________')
print(classifier.predict([[109,55,102,169,51,6,241,27,26,165,265,870,247,84,10,11,184,183]]))