Python code for executing decision tree algorithm

0 votes
Can I please have python code for executing decision tree algorithm? Thank you
May 13 in Machine Learning by Nayank
525 views

1 answer to this question.

0 votes

Hey! Try this:

# Run this program on your local python 
# interpreter, provided you have installed 
# the required libraries. 
# Importing the required packages 
import numpy as np 
import pandas as pd 
from sklearn.metrics import confusion_matrix 
from sklearn.cross_validation import train_test_split 
from sklearn.tree import DecisionTreeClassifier 
from sklearn.metrics import accuracy_score 
from sklearn.metrics import classification_report 
# Function importing Dataset 
def importdata(): 
balance_data = pd.read_csv( 
'https://archive.ics.uci.edu/ml/machine-learning-'+
'databases/balance-scale/balance-scale.data', 
sep= ',', header = None) 
# Printing the dataswet shape 
print ("Dataset Lenght: ", len(balance_data)) 
print ("Dataset Shape: ", balance_data.shape) 
# Printing the dataset obseravtions 
print ("Dataset: ",balance_data.head()) 
return balance_data 
# Function to split the dataset 
def splitdataset(balance_data): 
# Seperating the target variable 
X = balance_data.values[:, 1:5] 
Y = balance_data.values[:, 0] 
# Spliting the dataset into train and test 
X_train, X_test, y_train, y_test = train_test_split( 
X, Y, test_size = 0.3, random_state = 100) 
return X, Y, X_train, X_test, y_train, y_test 
# Function to perform training with giniIndex. 
def train_using_gini(X_train, X_test, y_train): 
# Creating the classifier object 
clf_gini = DecisionTreeClassifier(criterion = "gini", 
random_state = 100,max_depth=3, min_samples_leaf=5) 
# Performing training 
clf_gini.fit(X_train, y_train) 
return clf_gini 
# Function to perform training with entropy. 
def tarin_using_entropy(X_train, X_test, y_train): 
# Decision tree with entropy 
clf_entropy = DecisionTreeClassifier( 
criterion = "entropy", random_state = 100, 
max_depth = 3, min_samples_leaf = 5) 
# Performing training 
clf_entropy.fit(X_train, y_train) 
return clf_entropy 
# Function to make predictions 
def prediction(X_test, clf_object): 
# Predicton on test with giniIndex 
y_pred = clf_object.predict(X_test) 
print("Predicted values:") 
print(y_pred) 
return y_pred 
# Function to calculate accuracy 
def cal_accuracy(y_test, y_pred): 
print("Confusion Matrix: ", 
confusion_matrix(y_test, y_pred)) 
print ("Accuracy : ", 
accuracy_score(y_test,y_pred)*100) 
print("Report : ", 
classification_report(y_test, y_pred)) 
# Driver code 
def main(): 
# Building Phase 
data = importdata() 
X, Y, X_train, X_test, y_train, y_test = splitdataset(data) 
clf_gini = train_using_gini(X_train, X_test, y_train) 
clf_entropy = tarin_using_entropy(X_train, X_test, y_train) 
# Operational Phase 
print("Results Using Gini Index:") 
# Prediction using gini 
y_pred_gini = prediction(X_test, clf_gini) 
cal_accuracy(y_test, y_pred_gini) 
print("Results Using Entropy:") 
# Prediction using entropy 
y_pred_entropy = prediction(X_test, clf_entropy) 
cal_accuracy(y_test, y_pred_entropy) 
# Calling main function 
if __name__=="__main__": 
main() 
answered May 13 by Haseeb

Related Questions In Machine Learning

0 votes
1 answer
0 votes
1 answer
0 votes
1 answer

Example to run KNN algorithm using python

Have a look at this one: from sklearn.datasets ...READ MORE

answered May 8 in Machine Learning by Harvy
178 views
0 votes
1 answer
0 votes
1 answer
0 votes
1 answer
0 votes
1 answer

Disadvantages of using decision tree?

Even though the decision tree algorithm has ...READ MORE

answered May 13 in Machine Learning by Jinu
466 views
0 votes
1 answer
0 votes
1 answer