0% found this document useful (0 votes)
3 views11 pages

Iris Dataset Classification Models

The document outlines the implementation of various machine learning models, including k-Nearest Neighbors, Decision Trees, Logistic Regression, Naive Bayes, and Support Vector Machines, using the Iris dataset. It includes steps for data loading, preprocessing, model training, predictions, and evaluation metrics such as confusion matrices and accuracy scores. Visualizations of the data and model performance are also provided to enhance understanding of the results.

Uploaded by

Leela Rallapudi
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views11 pages

Iris Dataset Classification Models

The document outlines the implementation of various machine learning models, including k-Nearest Neighbors, Decision Trees, Logistic Regression, Naive Bayes, and Support Vector Machines, using the Iris dataset. It includes steps for data loading, preprocessing, model training, predictions, and evaluation metrics such as confusion matrices and accuracy scores. Visualizations of the data and model performance are also provided to enhance understanding of the results.

Uploaded by

Leela Rallapudi
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

k-Nearest Neighbors

#packages
import numpy as np
import [Link] as plt
import pandas as pd

#importing Data set


dataset = pd.read_csv("C:/Users/INDIA/Desktop/New_folder/III-year/III-Data
Science/archive/[Link]")
[Link]()

#Spliting independent variable and dependent variable (or) Features and Lables
X = [Link][:, 1:5]
y = [Link][:, -1]

#Spliting Data into Train and test split


from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.40)

print("Total number of records",len(dataset))


print("Train data size",len(X_train))
print("Test data size",len(X_test))

#model creation
from [Link] import KNeighborsClassifier
classifier = KNeighborsClassifier(n_neighbors = 8)

#model Training
[Link](X_train, y_train)
#PRedictions
y_pred = [Link](X_test)

#new prediction
y_pred

#Model Evaluation
from [Link] import classification_report, confusion_matrix, accuracy_score
result = confusion_matrix(y_test, y_pred)
print("Confusion Matrix:")
print(result)
result1 = classification_report(y_test, y_pred)
print("Classification Report:",)
print (result1)
result2 = accuracy_score(y_test,y_pred)
print("Accuracy:",result2)
Decision Tree
# Importing Required Libraries
import pandas as pd
import numpy as np
from matplotlib import pyplot as plt
from sklearn.model_selection import train_test_split
from [Link] import DecisionTreeClassifier
from [Link] import confusion_matrix,accuracy_score,classification_report
from sklearn import tree

# Loading Data
data = pd.read_csv(r"C:\Users\INDIA\Desktop\New_folder\III-year\III-Data Science\archive\
[Link]")

[Link]()

# Loading Data
x = [Link][:, 1:-1]
y = [Link][:, [-1]]

# Splitting Data
x_train,x_test,y_train,y_test = train_test_split(x,y,test_size=0.30)

# Building Decision Tree Model


classifier = DecisionTreeClassifier()

[Link](x_train,y_train)
y_predict = [Link](x_test)
#Model Evaluation
from [Link] import classification_report, confusion_matrix, accuracy_score
result = confusion_matrix(y_test, y_predict)
print("Confusion Matrix:")
print(result)
result1 = classification_report(y_test, y_predict)
print("Classification Report:",)
print (result1)
result2 = accuracy_score(y_test,y_predict)
print("Accuracy:",result2)

# Visualizing Decision Trees


text_representation = tree.export_text(classifier)
print(text_representation)
Logistic
import numpy as np # linear algebra
import pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)
import [Link] as plt
import seaborn as sns

iris = pd.read_csv(r"C:\Users\INDIA\Desktop\New_folder\III-year\III-Data Science\archive\


[Link]")

[Link]()

iris['Species'].unique()

[Link](include='all')

[Link]()

#Removing the unneeded column


[Link](columns="Id",inplace=True)

[Link]().sum()

#Data Visualization
g=[Link](x='SepalLengthCm',y='SepalWidthCm',data=iris,hue='Species',style='Species')
[Link].set_size_inches(10,5)
[Link]()

g=[Link](x='PetalLengthCm',y='PetalWidthCm',data=iris,hue='Species',style='Species')
[Link].set_size_inches(10,5)
[Link]()

[Link](iris,hue="Species")
[Link]()

[Link](figsize=(15,10))
[Link](2,2,1)
[Link](x='Species',y='PetalLengthCm',data=iris)
[Link](2,2,2)
[Link](x='Species',y='PetalWidthCm',data=iris)
[Link](2,2,3)
[Link](x='Species',y='SepalLengthCm',data=iris)
[Link](2,2,4)
[Link](x='Species',y='SepalWidthCm',data=iris)
[Link]()

[Link](figsize=(10,7))
[Link](data=iris).set_title("Distribution of Sepal_length, Sepal_width, petal_length and
petal_width of 3 flowers")
[Link]()

[Link]()

[Link](figsize = (8,8))
[Link]([Link](),annot=True,fmt="f").set_title("Corelation of attributes (petal
length,width and sepal length,width) among Iris species")
[Link]()

X=[Link][:,0:4].values
y=[Link][:,4].values
from [Link] import LabelEncoder
le = LabelEncoder()
y = le.fit_transform(y)

#Metrics
from [Link] import make_scorer, accuracy_score,precision_score
from [Link] import classification_report
from [Link] import confusion_matrix
from [Link] import accuracy_score ,precision_score,recall_score,f1_score

#Model Select
from sklearn.model_selection import KFold,train_test_split,cross_val_score
from sklearn.naive_bayes import GaussianNB
from sklearn.linear_model import LogisticRegression
from [Link] import SVC, LinearSVC

#Train and Test split


X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.3,random_state=0)

logreg = LogisticRegression(solver= 'lbfgs',max_iter=400)


[Link](X_train, y_train)
Y_pred = [Link](X_test)
accuracy_lr=round(accuracy_score(y_test,Y_pred)* 100, 2)
acc_log = round([Link](X_train, y_train) * 100, 2)

cm = confusion_matrix(y_test, Y_pred,)
accuracy = accuracy_score(y_test,Y_pred)
precision =precision_score(y_test, Y_pred,average='micro')
recall = recall_score(y_test, Y_pred,average='micro')
f1 = f1_score(y_test,Y_pred,average='micro')
print('Confusion matrix for Logistic Regression\n',cm)
print('accuracy_Logistic Regression : %.3f' %accuracy)
print('precision_Logistic Regression : %.3f' %precision)
print('recall_Logistic Regression: %.3f' %recall)
print('f1-score_Logistic Regression : %.3f' %f1)
Naive Bayes
gaussian = GaussianNB()
[Link](X_train, y_train)
Y_pred = [Link](X_test)
accuracy_nb=round(accuracy_score(y_test,Y_pred)* 100, 2)
acc_gaussian = round([Link](X_train, y_train) * 100, 2)

cm = confusion_matrix(y_test, Y_pred)
accuracy = accuracy_score(y_test,Y_pred)
precision =precision_score(y_test, Y_pred,average='micro')
recall = recall_score(y_test, Y_pred,average='micro')
f1 = f1_score(y_test,Y_pred,average='micro')
print('Confusion matrix for Naive Bayes\n',cm)
print('accuracy_Naive Bayes: %.3f' %accuracy)
print('precision_Naive Bayes: %.3f' %precision)
print('recall_Naive Bayes: %.3f' %recall)
print('f1-score_Naive Bayes : %.3f' %f1)
SVM
linear_svc = LinearSVC(max_iter=4000)
linear_svc.fit(X_train, y_train)
Y_pred = linear_svc.predict(X_test)
accuracy_svc=round(accuracy_score(y_test,Y_pred)* 100, 2)
acc_linear_svc = round(linear_svc.score(X_train, y_train) * 100, 2)

cm = confusion_matrix(y_test, Y_pred)
accuracy = accuracy_score(y_test,Y_pred)
precision =precision_score(y_test, Y_pred,average='micro')
recall = recall_score(y_test, Y_pred,average='micro')
f1 = f1_score(y_test,Y_pred,average='micro')
print('Confusion matrix for SVC\n',cm)
print('accuracy_SVC: %.3f' %accuracy)
print('precision_SVC: %.3f' %precision)
print('recall_SVC: %.3f' %recall)
print('f1-score_SVC : %.3f' %f1)

You might also like