Aiml Ex 5

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

Practical No.

5 [Type here]

Program:-
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import warnings
from sklearn.tree import DecisionTreeClassifier
import seaborn as sns
from sklearn.model_selection import train_test_split
from sklearn import metrics #import metrics function for
accuracy calculation
from sklearn.metrics import
accuracy_score,confusion_matrix,classification_report,f1_score
#upload file from local drive
from google.colab import files
uploaded = files.upload()
import io
df = pd.read_csv(io.BytesIO(uploaded['Admission_Predict.csv']))
#df=dataframe
df_features = ['GRE Score','TOEFL Score','University
Rating','SOP','CGPA']
X=df[df_features] # Features(variable)
y=df['Admitted']
"""Training and testing data sepration"""
from sklearn.preprocessing import StandardScaler
ssc=StandardScaler()
X = pd.DataFrame(ssc.fit_transform(X), columns=X.columns)
#Splits datasets into training & testing set(70:30)
X_train,X_test,Y_train,Y_test =
train_test_split(X,y,test_size=0.30,random_state=12) #70%
training and 30% test

1
Practical No. 5 [Type here]

"""Building decision tree model"""


#create Decision tree object
clf=DecisionTreeClassifier()
#train decison classifier X_train=all df_features data
Y_train=admitted column data
clf=clf.fit(X_train,Y_train)
#predict response for test data(passing testing data as an input
to predict function)
y_pred=clf.predict(X_test)
"""Evaluation the model"""
#model accuracy,how often is the classifier correct
print("Accuracy:",metrics.accuracy_score(Y_test,y_pred))
!pip install --upgrade scikit-learn==0.20.3 #this is very
important command
from sklearn.tree import export_graphviz #Export a decision tree
in DOT format.
from sklearn.externals.six import StringIO
from IPython.display import Image
import pydotplus
import graphviz
dot_data=StringIO()
#This function generates a GraphViz representation of the decision
tree
dot_data=tree.export_graphviz(clf,out_file=None,filled=True,rounde
d=True,special_characters=True,feature_names=df_features,class_nam
es=['0','1'])
graph = graphviz.Source(dot_data)
graph=pydotplus.graph_from_dot_data(dot_data)
graph.write_png('admission.png')
Image(graph.create_png())

2
Practical No. 5 [Type here]

"""In the above decision tree chart, each internal node has a
decision rule that splits the data. You can say a node is pure
when all of its records belong to the same class, such nodes known
as the leaf node."""
print("Accuracy: %.2f" % metrics.accuracy_score(Y_test,y_pred))

Output:-

Figure 1Decision Tree

Accuracy: 0.916

You might also like