import pandas as df
import numpy as np
from sklearn import tree
from sklearn.tree import DecisionTreeClassifier
import matplotlib.pyplot as plt
data=df.read_csv('user.csv')
print(data)
Age Experience Rank Nationality Go 0 36 10 9 UK NO 1 42 12 4 USA NO 2 23 4 6 N NO 3 52 4 4 USA NO 4 43 21 8 USA YES 5 44 14 5 UK NO 6 66 3 7 N YES 7 35 14 9 UK YES 8 52 13 7 N YES 9 35 5 9 N YES 10 24 3 5 USA NO 11 18 3 7 UK YES 12 45 9 9 UK YES
print(data)
Age Experience Rank Nationality Go 0 36 10 9 UK NO 1 42 12 4 USA NO 2 23 4 6 N NO 3 52 4 4 USA NO 4 43 21 8 USA YES 5 44 14 5 UK NO 6 66 3 7 N YES 7 35 14 9 UK YES 8 52 13 7 N YES 9 35 5 9 N YES 10 24 3 5 USA NO 11 18 3 7 UK YES 12 45 9 9 UK YES
data.info()
<class 'pandas.core.frame.DataFrame'> RangeIndex: 13 entries, 0 to 12 Data columns (total 5 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 Age 13 non-null int64 1 Experience 13 non-null int64 2 Rank 13 non-null int64 3 Nationality 13 non-null object 4 Go 13 non-null object dtypes: int64(3), object(2) memory usage: 652.0+ bytes
d = {'UK': 0, 'USA': 1, 'N': 2}
data['Nationality'] = data['Nationality'].map(d)
d = {'YES': 1, 'NO': 0}
data['Go'] = data['Go'].map(d)
print(data)
Age Experience Rank Nationality Go 0 36 10 9 0 0 1 42 12 4 1 0 2 23 4 6 2 0 3 52 4 4 1 0 4 43 21 8 1 1 5 44 14 5 0 0 6 66 3 7 2 1 7 35 14 9 0 1 8 52 13 7 2 1 9 35 5 9 2 1 10 24 3 5 1 0 11 18 3 7 0 1 12 45 9 9 0 1
features=['Age','Experience','Rank','Nationality']
X=data[features]
Y=data['Go']
dtree=DecisionTreeClassifier()
dtree=dtree.fit(X, Y)
plt.figure(figsize=(10, 8))
tree.plot_tree(dtree,feature_names=features, filled=True,
rounded=True)
[Text(0.2857142857142857, 0.9, 'Rank <= 6.5\ngini = 0.497\nsamples = 13\nvalue = [6, 7]'), Text(0.14285714285714285, 0.7, 'gini = 0.0\nsamples = 5\nvalue = [5, 0]'), Text(0.42857142857142855, 0.7, 'Rank <= 8.5\ngini = 0.219\nsamples = 8\nvalue = [1, 7]'), Text(0.2857142857142857, 0.5, 'gini = 0.0\nsamples = 4\nvalue = [0, 4]'), Text(0.5714285714285714, 0.5, 'Experience <= 9.5\ngini = 0.375\nsamples = 4\nvalue = [1, 3]'), Text(0.42857142857142855, 0.3, 'gini = 0.0\nsamples = 2\nvalue = [0, 2]'), Text(0.7142857142857143, 0.3, 'Age <= 35.5\ngini = 0.5\nsamples = 2\nvalue = [1, 1]'), Text(0.5714285714285714, 0.1, 'gini = 0.0\nsamples = 1\nvalue = [0, 1]'), Text(0.8571428571428571, 0.1, 'gini = 0.0\nsamples = 1\nvalue = [1, 0]')]
print(dtree.predict([[40, 7, 8, 1]]))
[1]
C:\Users\seena.joseph\AppData\Local\anaconda3\Lib\site-packages\sklearn\base.py:464: UserWarning: X does not have valid feature names, but DecisionTreeClassifier was fitted with feature names warnings.warn(