SlideShare a Scribd company logo

Assignment 6.1.pdf

D
D

data science

Assignment 6.1.pdf

1 of 4
Download to read offline
X_train original shape (60000, 28, 28)

y_train original shape (60000,)

X_test original shape (10000, 28, 28)

y_test original shape (10000,)

Text(0.5, 1.0, '5')
(5, array([0., 0., 0., 0., 0., 1., 0., 0., 0., 0.], dtype=float32))
In [1]: import numpy as np

import pandas as pd

import matplotlib.pyplot as plt

%matplotlib inline

from keras.datasets import mnist

from keras.models import Sequential

from keras.layers import Dense, Dropout, Activation

from keras.utils import np_utils



np.random.seed(35)

In [2]: (X_train, y_train), (X_test, y_test) = mnist.load_data()

print("X_train original shape", X_train.shape)

print("y_train original shape", y_train.shape)

print("X_test original shape", X_test.shape)

print("y_test original shape", y_test.shape)

In [3]: plt.imshow(X_train[0], cmap='gray')

plt.title(y_train[0])

Out[3]:
In [4]: X_train = X_train.reshape(60000,784)

X_test = X_test.reshape(10000,784)



X_train = X_train.astype('float32')

X_test = X_test.astype('float32')



X_train/=255

X_test/=255

In [5]: number_of_classes = 10



Y_train = np_utils.to_categorical(y_train, number_of_classes)

Y_test = np_utils.to_categorical(y_test, number_of_classes)



y_train[0], Y_train[0]

Out[5]:
((50000, 784), (10000, 784))
Epoch 1/5

391/391 [==============================] - 59s 34ms/step - loss: 0.5052 - accuracy:
0.8394 - val_loss: 0.1180 - val_accuracy: 0.9640

Epoch 2/5

391/391 [==============================] - 12s 30ms/step - loss: 0.1169 - accuracy:
0.9646 - val_loss: 0.1011 - val_accuracy: 0.9705

Epoch 3/5

391/391 [==============================] - 12s 30ms/step - loss: 0.0794 - accuracy:
0.9744 - val_loss: 0.0913 - val_accuracy: 0.9741

Epoch 4/5

391/391 [==============================] - 12s 30ms/step - loss: 0.0661 - accuracy:
0.9792 - val_loss: 0.0850 - val_accuracy: 0.9780

Epoch 5/5

391/391 [==============================] - 12s 30ms/step - loss: 0.0545 - accuracy:
0.9824 - val_loss: 0.0875 - val_accuracy: 0.9783

In [6]: #shuffle the training set

for _ in range(5): 

indexes = np.random.permutation(len(X_train))



X_train = X_train[indexes]

Y_train = Y_train[indexes]



#set aside 10,000 for validation

val_images = X_train[:10000,:]

val_labels = Y_train[:10000,:]



# leave rest in training set

train_images = X_train[10000:,:]

train_labels = Y_train[10000:,:]



train_images.shape, val_images.shape

Out[6]:
In [7]: model = Sequential()



model.add(Dense(512, input_dim=784))

# An "activation" is just a non-linear function applied to the output

# of the layer above. Here, with a "rectified linear unit",

# we clamp all values below 0 to 0.

model.add(Activation('relu'))

# Dropout helps protect the model from memorizing or "overfitting" the training data
model.add(Dropout(0.2))



model.add(Dense(512))

model.add(Activation('relu'))

model.add(Dropout(0.2))



model.add(Dense(512))

model.add(Activation('relu'))

model.add(Dropout(0.2))



model.add(Dense(10))

# This special "softmax" activation among other things,

# ensures the output is a valid probaility distribution, that is

# that its values are all non-negative and sum to 1.

model.add(Activation('softmax'))

In [8]: model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'
In [9]: history = model.fit(train_images, train_labels, epochs=5, batch_size=128,

validation_data=(val_images, val_labels))

In [10]: train_loss = history.history['loss']
<Figure size 432x288 with 0 Axes>
val_loss = history.history['val_loss']

In [11]: epochs = range(1, len(history.history['loss']) + 1)

In [13]: plt.plot(epochs, train_loss, 'bo', label='Training loss')

plt.plot(epochs, val_loss, 'g', label='Validation loss')

plt.title('Training and Validation Losses')

plt.xlabel('Epochs')

plt.ylabel('Loss')

plt.legend()



plt.show()

plt.savefig('Results/6_1_lossplot.png')

In [14]: train_accuracy = history.history['accuracy']

val_accuracy = history.history['val_accuracy']

In [15]: epochs = range(1, len(history.history['accuracy']) + 1)

In [16]: plt.plot(epochs, train_accuracy, 'bo', label='Training Accuracy')

plt.plot(epochs, val_accuracy, 'g', label='Validation Accuracy')

plt.title('Training and Validation Accuracy')

plt.xlabel('Epochs')

plt.ylabel('Accuracy')

plt.legend()



plt.show()

plt.savefig('results/6_1_accuracyplot.png')
<Figure size 432x288 with 0 Axes>
313/313 [==============================] - 2s 5ms/step - loss: 0.0770 - accuracy: 0.
9792

Test accuracy: 0.979200005531311

Actual Predictions

0 7 7

1 2 2

2 1 1

3 0 0

4 4 4

... ... ...

9995 2 2

9996 3 3

9997 4 4

9998 5 5

9999 6 6

[10000 rows x 2 columns]

In [17]: score = model.evaluate(X_test, Y_test)

print()

print('Test accuracy: ', score[1])

In [18]: predictions = np.argmax(model.predict(X_test), axis=1)


predictions = list(predictions)

actuals = list(y_test)



pred_res = pd.DataFrame({'Actual': actuals, 'Predictions': predictions})

pred_res.to_csv('results/6_1_predictions.csv', index=False)

print (pred_res)

In [19]: # save model

model.save('results/6_1_model.h5')

In [20]: #Metrics output

with open('results/6_1_metrics.txt', 'w') as f:
f.write('Training Loss: {}'.format(str(history.history['loss'])))

f.write('nTraining Accuracy: {}'.format(str(history.history['accuracy'])))

f.write('nTest Loss: {}'.format(score[0]))

f.write('nTest Accuracy: {}'.format(score[1]))

In [ ]:
Ad

Recommended

Can someone please explain what the code below is doing and comment on.pdf
Can someone please explain what the code below is doing and comment on.pdfCan someone please explain what the code below is doing and comment on.pdf
Can someone please explain what the code below is doing and comment on.pdfkuldeepkumarapgsi
 
I am working on this code for my project- but the accuracy is 0-951601.docx
I am working on this code for my project- but the accuracy is 0-951601.docxI am working on this code for my project- but the accuracy is 0-951601.docx
I am working on this code for my project- but the accuracy is 0-951601.docxRyanEAcTuckern
 
maXbox starter65 machinelearning3
maXbox starter65 machinelearning3maXbox starter65 machinelearning3
maXbox starter65 machinelearning3Max Kleiner
 
Using the code below- I need help with the following 3 things- 1) Writ.pdf
Using the code below- I need help with the following 3 things- 1) Writ.pdfUsing the code below- I need help with the following 3 things- 1) Writ.pdf
Using the code below- I need help with the following 3 things- 1) Writ.pdfacteleshoppe
 
Linear Regression (Machine Learning)
Linear Regression (Machine Learning)Linear Regression (Machine Learning)
Linear Regression (Machine Learning)Omkar Rane
 
PROBLEM- You are provided a Python program- This program downloads 600.docx
PROBLEM- You are provided a Python program- This program downloads 600.docxPROBLEM- You are provided a Python program- This program downloads 600.docx
PROBLEM- You are provided a Python program- This program downloads 600.docxEdwardEkRChapmann
 
I have tried running this code below- and it is working- but the accur.pdf
I have tried running this code below- and it is working- but the accur.pdfI have tried running this code below- and it is working- but the accur.pdf
I have tried running this code below- and it is working- but the accur.pdfGordonF2XPatersonh
 
Mini-lab 1: Stochastic Gradient Descent classifier, Optimizing Logistic Regre...
Mini-lab 1: Stochastic Gradient Descent classifier, Optimizing Logistic Regre...Mini-lab 1: Stochastic Gradient Descent classifier, Optimizing Logistic Regre...
Mini-lab 1: Stochastic Gradient Descent classifier, Optimizing Logistic Regre...Yao Yao
 

More Related Content

Similar to Assignment 6.1.pdf

Need an detailed analysis of what this code-model is doing- Thanks #St.pdf
Need an detailed analysis of what this code-model is doing- Thanks #St.pdfNeed an detailed analysis of what this code-model is doing- Thanks #St.pdf
Need an detailed analysis of what this code-model is doing- Thanks #St.pdfactexerode
 
Image classification using cnn
Image classification using cnnImage classification using cnn
Image classification using cnnDebarko De
 
maXbox starter69 Machine Learning VII
maXbox starter69 Machine Learning VIImaXbox starter69 Machine Learning VII
maXbox starter69 Machine Learning VIIMax Kleiner
 
- K-Nearest Neighbours Classifier Now we can start building the actua.pdf
- K-Nearest Neighbours Classifier Now we can start building the actua.pdf- K-Nearest Neighbours Classifier Now we can start building the actua.pdf
- K-Nearest Neighbours Classifier Now we can start building the actua.pdfinfo893569
 
Assignment 6.2a.pdf
Assignment 6.2a.pdfAssignment 6.2a.pdf
Assignment 6.2a.pdfdash41
 
# Produce the features of a testing data instance X_new = np. arr.pdf
# Produce the features of a testing data instance X_new = np. arr.pdf# Produce the features of a testing data instance X_new = np. arr.pdf
# Produce the features of a testing data instance X_new = np. arr.pdfinfo893569
 
How to use SVM for data classification
How to use SVM for data classificationHow to use SVM for data classification
How to use SVM for data classificationYiwei Chen
 
The Ring programming language version 1.2 book - Part 79 of 84
The Ring programming language version 1.2 book - Part 79 of 84The Ring programming language version 1.2 book - Part 79 of 84
The Ring programming language version 1.2 book - Part 79 of 84Mahmoud Samir Fayed
 
AIML4 CNN lab256 1hr (111-1).pdf
AIML4 CNN lab256 1hr (111-1).pdfAIML4 CNN lab256 1hr (111-1).pdf
AIML4 CNN lab256 1hr (111-1).pdfssuserb4d806
 
Intelligent System Optimizations
Intelligent System OptimizationsIntelligent System Optimizations
Intelligent System OptimizationsMartin Zapletal
 
From Tensorflow Graph to Tensorflow Eager
From Tensorflow Graph to Tensorflow EagerFrom Tensorflow Graph to Tensorflow Eager
From Tensorflow Graph to Tensorflow EagerGuy Hadash
 
Testing in those hard to reach places
Testing in those hard to reach placesTesting in those hard to reach places
Testing in those hard to reach placesdn
 
I want you to add the output of the F1 score- Precision- ROC AUC- and.pdf
I want you to add the output of the F1 score- Precision- ROC AUC- and.pdfI want you to add the output of the F1 score- Precision- ROC AUC- and.pdf
I want you to add the output of the F1 score- Precision- ROC AUC- and.pdfGordonF2XPatersonh
 
The Ring programming language version 1.7 book - Part 91 of 196
The Ring programming language version 1.7 book - Part 91 of 196The Ring programming language version 1.7 book - Part 91 of 196
The Ring programming language version 1.7 book - Part 91 of 196Mahmoud Samir Fayed
 
Competition 1 (blog 1)
Competition 1 (blog 1)Competition 1 (blog 1)
Competition 1 (blog 1)TarunPaparaju
 

Similar to Assignment 6.1.pdf (20)

Neural networks using tensor flow in amazon deep learning server
Neural networks using tensor flow in amazon deep learning serverNeural networks using tensor flow in amazon deep learning server
Neural networks using tensor flow in amazon deep learning server
 
Need an detailed analysis of what this code-model is doing- Thanks #St.pdf
Need an detailed analysis of what this code-model is doing- Thanks #St.pdfNeed an detailed analysis of what this code-model is doing- Thanks #St.pdf
Need an detailed analysis of what this code-model is doing- Thanks #St.pdf
 
Image classification using cnn
Image classification using cnnImage classification using cnn
Image classification using cnn
 
maXbox starter69 Machine Learning VII
maXbox starter69 Machine Learning VIImaXbox starter69 Machine Learning VII
maXbox starter69 Machine Learning VII
 
- K-Nearest Neighbours Classifier Now we can start building the actua.pdf
- K-Nearest Neighbours Classifier Now we can start building the actua.pdf- K-Nearest Neighbours Classifier Now we can start building the actua.pdf
- K-Nearest Neighbours Classifier Now we can start building the actua.pdf
 
Assignment 6.2a.pdf
Assignment 6.2a.pdfAssignment 6.2a.pdf
Assignment 6.2a.pdf
 
# Produce the features of a testing data instance X_new = np. arr.pdf
# Produce the features of a testing data instance X_new = np. arr.pdf# Produce the features of a testing data instance X_new = np. arr.pdf
# Produce the features of a testing data instance X_new = np. arr.pdf
 
How to use SVM for data classification
How to use SVM for data classificationHow to use SVM for data classification
How to use SVM for data classification
 
The Ring programming language version 1.2 book - Part 79 of 84
The Ring programming language version 1.2 book - Part 79 of 84The Ring programming language version 1.2 book - Part 79 of 84
The Ring programming language version 1.2 book - Part 79 of 84
 
AIML4 CNN lab256 1hr (111-1).pdf
AIML4 CNN lab256 1hr (111-1).pdfAIML4 CNN lab256 1hr (111-1).pdf
AIML4 CNN lab256 1hr (111-1).pdf
 
Intelligent System Optimizations
Intelligent System OptimizationsIntelligent System Optimizations
Intelligent System Optimizations
 
From Tensorflow Graph to Tensorflow Eager
From Tensorflow Graph to Tensorflow EagerFrom Tensorflow Graph to Tensorflow Eager
From Tensorflow Graph to Tensorflow Eager
 
Naïve Bayes.pptx
Naïve Bayes.pptxNaïve Bayes.pptx
Naïve Bayes.pptx
 
Testing in those hard to reach places
Testing in those hard to reach placesTesting in those hard to reach places
Testing in those hard to reach places
 
I want you to add the output of the F1 score- Precision- ROC AUC- and.pdf
I want you to add the output of the F1 score- Precision- ROC AUC- and.pdfI want you to add the output of the F1 score- Precision- ROC AUC- and.pdf
I want you to add the output of the F1 score- Precision- ROC AUC- and.pdf
 
The Ring programming language version 1.7 book - Part 91 of 196
The Ring programming language version 1.7 book - Part 91 of 196The Ring programming language version 1.7 book - Part 91 of 196
The Ring programming language version 1.7 book - Part 91 of 196
 
Gans
GansGans
Gans
 
GANs
GANsGANs
GANs
 
Xgboost
XgboostXgboost
Xgboost
 
Competition 1 (blog 1)
Competition 1 (blog 1)Competition 1 (blog 1)
Competition 1 (blog 1)
 

More from dash41

Assignment7.pdf
Assignment7.pdfAssignment7.pdf
Assignment7.pdfdash41
 
Assignment 6.3.pdf
Assignment 6.3.pdfAssignment 6.3.pdf
Assignment 6.3.pdfdash41
 
Assignment 6.2b.pdf
Assignment 6.2b.pdfAssignment 6.2b.pdf
Assignment 6.2b.pdfdash41
 
Assignment 5.3.pdf
Assignment 5.3.pdfAssignment 5.3.pdf
Assignment 5.3.pdfdash41
 
Assignment 5.2.pdf
Assignment 5.2.pdfAssignment 5.2.pdf
Assignment 5.2.pdfdash41
 
Assignment 5.1.pdf
Assignment 5.1.pdfAssignment 5.1.pdf
Assignment 5.1.pdfdash41
 
Assignment 4.pdf
Assignment 4.pdfAssignment 4.pdf
Assignment 4.pdfdash41
 
Assignment 3.pdf
Assignment 3.pdfAssignment 3.pdf
Assignment 3.pdfdash41
 
rdbms.pdf
rdbms.pdfrdbms.pdf
rdbms.pdfdash41
 
documentsdb.pdf
documentsdb.pdfdocumentsdb.pdf
documentsdb.pdfdash41
 

More from dash41 (10)

Assignment7.pdf
Assignment7.pdfAssignment7.pdf
Assignment7.pdf
 
Assignment 6.3.pdf
Assignment 6.3.pdfAssignment 6.3.pdf
Assignment 6.3.pdf
 
Assignment 6.2b.pdf
Assignment 6.2b.pdfAssignment 6.2b.pdf
Assignment 6.2b.pdf
 
Assignment 5.3.pdf
Assignment 5.3.pdfAssignment 5.3.pdf
Assignment 5.3.pdf
 
Assignment 5.2.pdf
Assignment 5.2.pdfAssignment 5.2.pdf
Assignment 5.2.pdf
 
Assignment 5.1.pdf
Assignment 5.1.pdfAssignment 5.1.pdf
Assignment 5.1.pdf
 
Assignment 4.pdf
Assignment 4.pdfAssignment 4.pdf
Assignment 4.pdf
 
Assignment 3.pdf
Assignment 3.pdfAssignment 3.pdf
Assignment 3.pdf
 
rdbms.pdf
rdbms.pdfrdbms.pdf
rdbms.pdf
 
documentsdb.pdf
documentsdb.pdfdocumentsdb.pdf
documentsdb.pdf
 

Recently uploaded

NCN NETWORK power point bisnis masa.pptx
NCN NETWORK power point bisnis masa.pptxNCN NETWORK power point bisnis masa.pptx
NCN NETWORK power point bisnis masa.pptxCinoGaming1
 
edition features a handful of the Brands Of Honour- 2024.pdf
edition features a handful of the Brands Of Honour- 2024.pdfedition features a handful of the Brands Of Honour- 2024.pdf
edition features a handful of the Brands Of Honour- 2024.pdfinsightssuccess2
 
The Coca-Cola Company Presentation at CAGNY 2024.pdf
The Coca-Cola Company Presentation at  CAGNY 2024.pdfThe Coca-Cola Company Presentation at  CAGNY 2024.pdf
The Coca-Cola Company Presentation at CAGNY 2024.pdfNeil Kimberley
 
Ch 11 Haunted Castle on Hallows Eve.pptx
Ch 11 Haunted Castle on Hallows Eve.pptxCh 11 Haunted Castle on Hallows Eve.pptx
Ch 11 Haunted Castle on Hallows Eve.pptxdeveloperarafat360
 
BeMetals Presentation_February_15_2024.pdf
BeMetals Presentation_February_15_2024.pdfBeMetals Presentation_February_15_2024.pdf
BeMetals Presentation_February_15_2024.pdfDerekIwanaka1
 
02.20 Webinar - Online Giving Trends.pdf
02.20 Webinar - Online Giving Trends.pdf02.20 Webinar - Online Giving Trends.pdf
02.20 Webinar - Online Giving Trends.pdfBloomerang
 
Pernod Ricard presentation at CAGNY 2024
Pernod Ricard presentation at CAGNY 2024Pernod Ricard presentation at CAGNY 2024
Pernod Ricard presentation at CAGNY 2024Neil Kimberley
 
Trumps Racist problem, White Nationalist.pdf
Trumps Racist problem, White Nationalist.pdfTrumps Racist problem, White Nationalist.pdf
Trumps Racist problem, White Nationalist.pdfSourav Sikder
 
Business brief document explanation forward
Business brief document explanation forwardBusiness brief document explanation forward
Business brief document explanation forwardCJHaight
 
KJPoppe DG AGRI Certification as a tool to reduce administrative burdens
KJPoppe DG AGRI Certification as a tool to reduce administrative burdensKJPoppe DG AGRI Certification as a tool to reduce administrative burdens
KJPoppe DG AGRI Certification as a tool to reduce administrative burdensKrijn Poppe
 
The Design Thinking Playbook: Mindful digital transformation of teams, produc...
The Design Thinking Playbook: Mindful digital transformation of teams, produc...The Design Thinking Playbook: Mindful digital transformation of teams, produc...
The Design Thinking Playbook: Mindful digital transformation of teams, produc...Diego Riobo Cabot
 
General Mills Presentation at CAGNY 2024
General Mills Presentation at CAGNY 2024General Mills Presentation at CAGNY 2024
General Mills Presentation at CAGNY 2024Neil Kimberley
 
Eni: fourth quarter and full year 2023 results
Eni: fourth quarter and full year 2023 resultsEni: fourth quarter and full year 2023 results
Eni: fourth quarter and full year 2023 resultsEni
 
Medirom Healthcare Technologies Inc. Investor Presentation
Medirom  Healthcare Technologies Inc. Investor PresentationMedirom  Healthcare Technologies Inc. Investor Presentation
Medirom Healthcare Technologies Inc. Investor Presentationssusera2656e
 
Introducing Herringbone Collection by Surya Click
Introducing Herringbone Collection by Surya ClickIntroducing Herringbone Collection by Surya Click
Introducing Herringbone Collection by Surya ClickSurya Panel Private Limited
 
New Zealand Franchising Confidence Index | January 2024
New Zealand Franchising Confidence Index | January 2024New Zealand Franchising Confidence Index | January 2024
New Zealand Franchising Confidence Index | January 2024Franchize Consultants
 

Recently uploaded (20)

NCN NETWORK power point bisnis masa.pptx
NCN NETWORK power point bisnis masa.pptxNCN NETWORK power point bisnis masa.pptx
NCN NETWORK power point bisnis masa.pptx
 
Carol Scott - How to Thrive in the AI Era.pdf
Carol Scott - How to Thrive in the AI Era.pdfCarol Scott - How to Thrive in the AI Era.pdf
Carol Scott - How to Thrive in the AI Era.pdf
 
2024 Calendar-eXperience MattersThailand
2024 Calendar-eXperience MattersThailand2024 Calendar-eXperience MattersThailand
2024 Calendar-eXperience MattersThailand
 
Polyene General Industries Private Limited
Polyene General Industries Private LimitedPolyene General Industries Private Limited
Polyene General Industries Private Limited
 
edition features a handful of the Brands Of Honour- 2024.pdf
edition features a handful of the Brands Of Honour- 2024.pdfedition features a handful of the Brands Of Honour- 2024.pdf
edition features a handful of the Brands Of Honour- 2024.pdf
 
The Coca-Cola Company Presentation at CAGNY 2024.pdf
The Coca-Cola Company Presentation at  CAGNY 2024.pdfThe Coca-Cola Company Presentation at  CAGNY 2024.pdf
The Coca-Cola Company Presentation at CAGNY 2024.pdf
 
Ch 11 Haunted Castle on Hallows Eve.pptx
Ch 11 Haunted Castle on Hallows Eve.pptxCh 11 Haunted Castle on Hallows Eve.pptx
Ch 11 Haunted Castle on Hallows Eve.pptx
 
BeMetals Presentation_February_15_2024.pdf
BeMetals Presentation_February_15_2024.pdfBeMetals Presentation_February_15_2024.pdf
BeMetals Presentation_February_15_2024.pdf
 
Pan Dhoni - Modernizing Data And Analytics using AI.pdf
Pan Dhoni - Modernizing Data And Analytics using AI.pdfPan Dhoni - Modernizing Data And Analytics using AI.pdf
Pan Dhoni - Modernizing Data And Analytics using AI.pdf
 
02.20 Webinar - Online Giving Trends.pdf
02.20 Webinar - Online Giving Trends.pdf02.20 Webinar - Online Giving Trends.pdf
02.20 Webinar - Online Giving Trends.pdf
 
Pernod Ricard presentation at CAGNY 2024
Pernod Ricard presentation at CAGNY 2024Pernod Ricard presentation at CAGNY 2024
Pernod Ricard presentation at CAGNY 2024
 
Trumps Racist problem, White Nationalist.pdf
Trumps Racist problem, White Nationalist.pdfTrumps Racist problem, White Nationalist.pdf
Trumps Racist problem, White Nationalist.pdf
 
Business brief document explanation forward
Business brief document explanation forwardBusiness brief document explanation forward
Business brief document explanation forward
 
KJPoppe DG AGRI Certification as a tool to reduce administrative burdens
KJPoppe DG AGRI Certification as a tool to reduce administrative burdensKJPoppe DG AGRI Certification as a tool to reduce administrative burdens
KJPoppe DG AGRI Certification as a tool to reduce administrative burdens
 
The Design Thinking Playbook: Mindful digital transformation of teams, produc...
The Design Thinking Playbook: Mindful digital transformation of teams, produc...The Design Thinking Playbook: Mindful digital transformation of teams, produc...
The Design Thinking Playbook: Mindful digital transformation of teams, produc...
 
General Mills Presentation at CAGNY 2024
General Mills Presentation at CAGNY 2024General Mills Presentation at CAGNY 2024
General Mills Presentation at CAGNY 2024
 
Eni: fourth quarter and full year 2023 results
Eni: fourth quarter and full year 2023 resultsEni: fourth quarter and full year 2023 results
Eni: fourth quarter and full year 2023 results
 
Medirom Healthcare Technologies Inc. Investor Presentation
Medirom  Healthcare Technologies Inc. Investor PresentationMedirom  Healthcare Technologies Inc. Investor Presentation
Medirom Healthcare Technologies Inc. Investor Presentation
 
Introducing Herringbone Collection by Surya Click
Introducing Herringbone Collection by Surya ClickIntroducing Herringbone Collection by Surya Click
Introducing Herringbone Collection by Surya Click
 
New Zealand Franchising Confidence Index | January 2024
New Zealand Franchising Confidence Index | January 2024New Zealand Franchising Confidence Index | January 2024
New Zealand Franchising Confidence Index | January 2024
 

Assignment 6.1.pdf

  • 1. X_train original shape (60000, 28, 28) y_train original shape (60000,) X_test original shape (10000, 28, 28) y_test original shape (10000,) Text(0.5, 1.0, '5') (5, array([0., 0., 0., 0., 0., 1., 0., 0., 0., 0.], dtype=float32)) In [1]: import numpy as np import pandas as pd import matplotlib.pyplot as plt %matplotlib inline from keras.datasets import mnist from keras.models import Sequential from keras.layers import Dense, Dropout, Activation from keras.utils import np_utils np.random.seed(35) In [2]: (X_train, y_train), (X_test, y_test) = mnist.load_data() print("X_train original shape", X_train.shape) print("y_train original shape", y_train.shape) print("X_test original shape", X_test.shape) print("y_test original shape", y_test.shape) In [3]: plt.imshow(X_train[0], cmap='gray') plt.title(y_train[0]) Out[3]: In [4]: X_train = X_train.reshape(60000,784) X_test = X_test.reshape(10000,784) X_train = X_train.astype('float32') X_test = X_test.astype('float32') X_train/=255 X_test/=255 In [5]: number_of_classes = 10 Y_train = np_utils.to_categorical(y_train, number_of_classes) Y_test = np_utils.to_categorical(y_test, number_of_classes) y_train[0], Y_train[0] Out[5]:
  • 2. ((50000, 784), (10000, 784)) Epoch 1/5 391/391 [==============================] - 59s 34ms/step - loss: 0.5052 - accuracy: 0.8394 - val_loss: 0.1180 - val_accuracy: 0.9640 Epoch 2/5 391/391 [==============================] - 12s 30ms/step - loss: 0.1169 - accuracy: 0.9646 - val_loss: 0.1011 - val_accuracy: 0.9705 Epoch 3/5 391/391 [==============================] - 12s 30ms/step - loss: 0.0794 - accuracy: 0.9744 - val_loss: 0.0913 - val_accuracy: 0.9741 Epoch 4/5 391/391 [==============================] - 12s 30ms/step - loss: 0.0661 - accuracy: 0.9792 - val_loss: 0.0850 - val_accuracy: 0.9780 Epoch 5/5 391/391 [==============================] - 12s 30ms/step - loss: 0.0545 - accuracy: 0.9824 - val_loss: 0.0875 - val_accuracy: 0.9783 In [6]: #shuffle the training set for _ in range(5): indexes = np.random.permutation(len(X_train)) X_train = X_train[indexes] Y_train = Y_train[indexes] #set aside 10,000 for validation val_images = X_train[:10000,:] val_labels = Y_train[:10000,:] # leave rest in training set train_images = X_train[10000:,:] train_labels = Y_train[10000:,:] train_images.shape, val_images.shape Out[6]: In [7]: model = Sequential() model.add(Dense(512, input_dim=784)) # An "activation" is just a non-linear function applied to the output # of the layer above. Here, with a "rectified linear unit", # we clamp all values below 0 to 0. model.add(Activation('relu')) # Dropout helps protect the model from memorizing or "overfitting" the training data model.add(Dropout(0.2)) model.add(Dense(512)) model.add(Activation('relu')) model.add(Dropout(0.2)) model.add(Dense(512)) model.add(Activation('relu')) model.add(Dropout(0.2)) model.add(Dense(10)) # This special "softmax" activation among other things, # ensures the output is a valid probaility distribution, that is # that its values are all non-negative and sum to 1. model.add(Activation('softmax')) In [8]: model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy' In [9]: history = model.fit(train_images, train_labels, epochs=5, batch_size=128, validation_data=(val_images, val_labels)) In [10]: train_loss = history.history['loss']
  • 3. <Figure size 432x288 with 0 Axes> val_loss = history.history['val_loss'] In [11]: epochs = range(1, len(history.history['loss']) + 1) In [13]: plt.plot(epochs, train_loss, 'bo', label='Training loss') plt.plot(epochs, val_loss, 'g', label='Validation loss') plt.title('Training and Validation Losses') plt.xlabel('Epochs') plt.ylabel('Loss') plt.legend() plt.show() plt.savefig('Results/6_1_lossplot.png') In [14]: train_accuracy = history.history['accuracy'] val_accuracy = history.history['val_accuracy'] In [15]: epochs = range(1, len(history.history['accuracy']) + 1) In [16]: plt.plot(epochs, train_accuracy, 'bo', label='Training Accuracy') plt.plot(epochs, val_accuracy, 'g', label='Validation Accuracy') plt.title('Training and Validation Accuracy') plt.xlabel('Epochs') plt.ylabel('Accuracy') plt.legend() plt.show() plt.savefig('results/6_1_accuracyplot.png')
  • 4. <Figure size 432x288 with 0 Axes> 313/313 [==============================] - 2s 5ms/step - loss: 0.0770 - accuracy: 0. 9792 Test accuracy: 0.979200005531311 Actual Predictions 0 7 7 1 2 2 2 1 1 3 0 0 4 4 4 ... ... ... 9995 2 2 9996 3 3 9997 4 4 9998 5 5 9999 6 6 [10000 rows x 2 columns] In [17]: score = model.evaluate(X_test, Y_test) print() print('Test accuracy: ', score[1]) In [18]: predictions = np.argmax(model.predict(X_test), axis=1) predictions = list(predictions) actuals = list(y_test) pred_res = pd.DataFrame({'Actual': actuals, 'Predictions': predictions}) pred_res.to_csv('results/6_1_predictions.csv', index=False) print (pred_res) In [19]: # save model model.save('results/6_1_model.h5') In [20]: #Metrics output with open('results/6_1_metrics.txt', 'w') as f: f.write('Training Loss: {}'.format(str(history.history['loss']))) f.write('nTraining Accuracy: {}'.format(str(history.history['accuracy']))) f.write('nTest Loss: {}'.format(score[0])) f.write('nTest Accuracy: {}'.format(score[1])) In [ ]: