0% found this document useful (0 votes)
0 views

Sample code

The document contains Python code for implementing various machine learning models, including deep neural networks and traditional classifiers like logistic regression, decision trees, random forests, and support vector machines. It utilizes libraries such as Keras, Scikit-learn, and Pandas for data handling, model training, and evaluation. The code also includes a graphical user interface using Tkinter for user interaction and data input.

Uploaded by

Aparna Arunpandi
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
0 views

Sample code

The document contains Python code for implementing various machine learning models, including deep neural networks and traditional classifiers like logistic regression, decision trees, random forests, and support vector machines. It utilizes libraries such as Keras, Scikit-learn, and Pandas for data handling, model training, and evaluation. The code also includes a graphical user interface using Tkinter for user interaction and data input.

Uploaded by

Aparna Arunpandi
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 8

Sample code

Deep Neural Networks

import time
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
#import seaborn as sns
from keras.utils.vis_utils import plot_model
import tkinter as tk
from tkinter.filedialog import askopenfilename
x=np.empty([569,30])
y=np.empty([569,1])
dataset=pd.DataFrame()
dataset=dataset.fillna(0)

def gettraindata():
global v
global allurlsdata
global dataset
global x,y
csv_file_path = askopenfilename()
print(csv_file_path)
v.set(csv_file_path)
dataset = pd.read_csv(csv_file_path)
x = dataset.iloc[:, 2:].values
y = dataset.iloc[:, 1].values

from tkinter import scrolledtext


txt = scrolledtext.ScrolledText(root,width=10,height=10,wrap=tk.WORD)
txt.grid(column=1,row=1)
txt.insert(tk.INSERT,x)
from tkinter import scrolledtext
txt1 = scrolledtext.ScrolledText(root,width=10,height=10,wrap=tk.WORD)
txt1.grid(column=3,row=1)
txt1.insert(tk.INSERT,y)

def ccdata():
global y
from sklearn.preprocessing import LabelEncoder
labelencoder_X_1 = LabelEncoder()
y = labelencoder_X_1.fit_transform(y)
from tkinter import scrolledtext
txt2 = scrolledtext.ScrolledText(root,width=10,height=10,wrap=tk.WORD)
txt2.grid(column=3,row=3)
txt2.insert(tk.INSERT,y)
x_train=[]
x_test=[]
y_train=[]
y_test=[]
def tts():
global x,y,x_train,x_test,y_train,y_test
from sklearn.model_selection import train_test_split
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size = 0.1, random_state
= 0)
def fs():
global x_train,x_test
from sklearn.preprocessing import StandardScaler
sc = StandardScaler()
x_train = sc.fit_transform(x_train)
x_test = sc.transform(x_test)
from tkinter import scrolledtext
txt3 = scrolledtext.ScrolledText(root,width=10,height=10,wrap=tk.WORD)
txt3.grid(column=3,row=5)
txt3.insert(tk.INSERT,x_train)
from tkinter import scrolledtext
txt4 = scrolledtext.ScrolledText(root,width=10,height=10,wrap=tk.WORD)
txt4.grid(column=4,row=5)
txt4.insert(tk.INSERT,x_test)

def bm():
from numpy.random import seed
seed(1)
import keras
from keras.models import Sequential
from keras.layers import Dense, Dropout
global x,y,x_train,x_test,y_train,y_test

from tensorflow import set_random_seed


set_random_seed(2)
# Initialising the ANN
classifier = Sequential()
# Adding the input layer and the first hidden layer
classifier.add(Dense(output_dim=16, init='uniform', activation='relu',
input_dim=30))
# Adding dropout to prevent overfitting
classifier.add(Dropout(p=0.1))
classifier.add(Dense(output_dim=16, init='uniform', activation='relu'))
# Adding dropout to prevent overfitting
classifier.add(Dropout(p=0.1))
classifier.add(Dense(output_dim=1, init='uniform', activation='sigmoid'))
# Compiling the ANN
classifier.compile(optimizer='adam', loss='binary_crossentropy',
metrics=['accuracy'])
# Fitting the ANN to the Training set
history=classifier.fit(x_train, y_train, validation_split=0.1,batch_size=100,
nb_epoch=150)
plot_model(classifier, to_file='model_plot.png', show_shapes=True,
show_layer_names=True)
y_pred = classifier.predict(x_test)
y_pred = (y_pred > 0.5)
from sklearn.metrics import confusion_matrix
cm = confusion_matrix(y_test, y_pred)
print("Our accuracy is {}%".format(((cm[0][0] + cm[1][1])/57)*100))
acc=((cm[0][0] + cm[1][1])/57)*100 #sns.heatmap(cm,annot=True)
#plt.savefig('h.png')
from sklearn.metrics import classification_report
cr=classification_report(y_test, y_pred)
from tkinter import scrolledtext
txt1ts = scrolledtext.ScrolledText(root,width=60,height=8,wrap=tk.WORD)
txt1ts.grid(row=2,column=9)
txt1ts.insert(tk.INSERT,cr)
tk.Label(root, text=' Accuracy').grid(row=7, column=0)
v2 = tk.StringVar()
entry1 = tk.Entry(root, textvariable=v2).grid(row=7, column=5)
v2.set(acc)
import matplotlib.pyplot as plt
plt.plot(history.history['acc'])
plt.plot(history.history['val_acc'])
plt.title('Model accuracy')
plt.ylabel('Accuracy')
plt.xlabel('Epoch')
plt.legend(['Train', 'Test'], loc='upper left')
plt.show()

# Plot training & validation loss values


plt.plot(history.history['loss'])
plt.plot(history.history['val_loss'])
plt.title('Model loss')
plt.ylabel('Loss')
plt.xlabel('Epoch')
plt.legend(['Train', 'Test'], loc='upper left')
plt.show()
print("--- %s seconds ---" % (time.time() - start_time))

root = tk.Tk()
start_time = time.time()
#tk.Label(root, text='File Path').grid(row=0, column=0)
v = tk.StringVar()
entry = tk.Entry(root, textvariable=v).grid(row=0, column=0)
tk.Button(root, text='Select Data File',command=gettraindata).grid(row=0, column=2)
tk.Button(root, text='Convert Categorical Data',command=ccdata).grid(row=3,
column=2)
tk.Button(root, text='Train Test Split',command=tts).grid(row=4, column=2)
tk.Button(root, text='Feature Scaling',command=fs).grid(row=5, column=2)
tk.Button(root, text='Build Model',command=bm).grid(row=6, column=2)
root.mainloop()
Machine Learning Models
import time
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from keras.utils.vis_utils import plot_model
# Importing data
data = pd.read_csv('data.csv')
#del data['Unnamed: 32']
X = data.iloc[:, 2:].values
y = data.iloc[:, 1].values
from sklearn.preprocessing import LabelEncoder
labelencoder_X_1 = LabelEncoder()
y = labelencoder_X_1.fit_transform(y)

# Splitting the dataset into the Training set and Test set
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state =
0)

#Feature Scaling
# from sklearn.preprocessing import StandardScaler
# sc = StandardScaler()
# X_train = sc.fit_transform(X_train)
# X_test = sc.transform(X_test)
print("==================LOGISTIC REGRESSION===============")
from sklearn.linear_model import LogisticRegression
from sklearn import metrics
model= LogisticRegression()
model.fit(X_train,y_train)
y_pred=model.predict(X_test)
from sklearn.metrics import accuracy_score
acc_sco=accuracy_score(y_test, y_pred)
print("ACCURACY",acc_sco)
from sklearn.metrics import classification_report
cr=classification_report(y_test, y_pred)
print("Classification report",cr)

print("==========DECISION TREE================")
from sklearn.tree import DecisionTreeClassifier
from sklearn import tree
model1= DecisionTreeClassifier()
model1.fit(X_train,y_train)
y_pred1=model1.predict(X_test)
from sklearn.metrics import accuracy_score
acc_sco1=accuracy_score(y_test, y_pred1)
print("ACCURACY",acc_sco1)
from sklearn.metrics import classification_report
cr=classification_report(y_test, y_pred1)
print("Classification report",cr)

print("====================Random Forest================")
from sklearn.ensemble import RandomForestClassifier
model2= RandomForestClassifier()
model2.fit(X_train,y_train)
y_pred2=model2.predict(X_test)
from sklearn.metrics import accuracy_score
acc_sco2=accuracy_score(y_test, y_pred2)
print("ACCURACY",acc_sco2)
from sklearn.metrics import classification_report
cr=classification_report(y_test, y_pred2)
print("Classification report",cr)

print("=========Support vector Classifier==============")


from sklearn.svm import SVC
model3= SVC(kernel='linear', C = 1.0)
model3.fit(X_train,y_train)
y_pred3=model3.predict(X_test)
from sklearn.metrics import accuracy_score
acc_sco3=accuracy_score(y_test, y_pred3)
print("ACCURACY",acc_sco3)
from sklearn.metrics import classification_report
cr=classification_report(y_test, y_pred3)
print("Classification report",cr)

You might also like