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)