Download as pdf or txt
Download as pdf or txt
You are on page 1of 41

Bangladesh Army University of Engineering &

Technology (BAUET)
Qadirabad, Natore 6431, Bangladesh

Department of Information and Communication Engineering


(ICE)

Artificial Intelligence and


Neural Computing Lab Manual
Course Code ICE-4112
Course Title Artificial Intelligence and Neural Computing
Sessional
Credit Hours 1.5

Prepared by Verified By
1. Partha Pratim Debnath Head of the Department
Assistant Professor
Dept. of ICE

Knowledge and Technology


1
Contents
General Guideline and Safety Instructions ................................................................................ 3
Course Description..................................................................................................................... 4
Course Objective:....................................................................................................................... 4
Statement of Course Outcomes (CO): ....................................................................................... 4
Assessment of Course Outcomes (CO): .................................................................................... 5
Assessment Criteria and Marks Distribution ............................................................................. 5
Summary of Lab Report............................................................................................................. 6
Format of Lab Report................................................................................................................. 7
Instruction for Lab Report Writing ............................................................................................ 7
Mini Lab Project ........................................................................................................................ 8
ANNEXURE-I ......................................................................................................................... 37
Assessment Rubric ............................................................................................................... 37
Laboratory Report............................................................................................................. 37
Individual Presentation ..................................................................................................... 38
ANNEXURE-II........................................................................................................................ 38
Program Outcomes ............................................................................................................... 38
ANNEXURE-III ...................................................................................................................... 40
Knowledge Profile (WK/K)- CHARACTERISTIC ............................................................. 40
Complex Engineering Problem (WP/P) ............................................................................... 41
Complex Engineering Activities (EA) ................................................................................. 41

2
General Guideline and Safety Instructions
1. Strictly follow the written and verbal instructions given by the teacher
/Lab Instructor. If you do not understand the instructions, the handouts
and the procedures, ask the instructor or teacher.
2. Students are required to attend all labs with official dress code and
wearing ID card.
3. Mobile phones should be switched off in the lab. Keep bags in the bag
shelf.
4. Keep the labs clean at all times, no food and drinks allowed inside the lab.
5. Students should work individually/team in the hardware and software
task.
6. Students have to bring the lab manual cum lab report file along with them
whenever they come for lab work.
7. Should take only the lab manual, calculator (if needed) and a pen or pencil
to the work area.
8. Should utilize 3 hour‟s time properly to perform the experiment and to
record the readings. Do the calculations, draw the graphs and take
signature from the instructor.
9. If the experiment is not completed in the stipulated time, the pending work
has to be carried out in the leisure hours or extended hours.
10. Intentional misconduct will lead to expulsion from the lab.
11. Do not handle any equipment without reading the safety instructions.
Read the handout and procedures in the Lab Manual before starting the
experiments.
12. Do your wiring, setup, and a careful circuit checkout before applying
power. Do not make circuit changes or perform any wiring when power is
on.
13. Avoid contact with energized electrical circuits.
14. Do not insert connectors forcefully into the sockets.
15. NEVER try to experiment with the power from the wall plug.
16. Immediately report dangerous or exceptional conditions to the Lab
instructor / teacher: Equipment that is not working as expected, wires or
connectors are broken, the equipment that smells or “smokes”. If you are
not sure what the problem is or what's going on, switch off the
Emergency shutdown.
17. Never use damaged instruments, wires or connectors. Hand over these
parts to the Lab instructor/Teacher.
18. After completion of Experiment, return the bread board, trainer kits,
wires, oscilloscope probes and other components to lab staff. Do not take
any item from the lab without permission.
19. Handling of Semiconductor Components: Sensitive electronic circuits
and electronic components have to be handled with great care. The
3
inappropriate handling of electronic component can damage or destroy
the devices. The devices can be destroyed by driving to high currents
through the device, by overheating the device, by mixing up the polarity,
or by electrostatic discharge (ESD). Therefore, always handle the
electronic devices as indicated by the handout, the specifications in the
data sheet or other documentation.
20. Special Precautions during soldering practice
a. Hold the soldering iron away from your body. Don't point the iron
towards you.
b. Don't use a spread solder on the board as it may cause short circuit.
c. Do not overheat the components as excess heat may damage the
components/board.
d. In case of burn or injury seek first aid available in the lab or at the
college dispensary.

Course Description
Artificial intelligence is the most advanced course with a combination of advanced computer
algorithms, linear algebra and statistics. This course seeks to incorporate the students with the
advanced contents like computer vision, robotics and fuzzy logic. Artificial neural networks
and its training and testing methods are also included.

Course Objective:
a. To learn the fundamentals of artificial intelligence and network architecture.
b. To study the Knowledge Acquisition and Reasoning techniques.
c. To use the principles of neural networks and learning process.

Statement of Course Outcomes (CO):


Upon completion of all sessional, the students will be able to:
1. Apply the basic knowledge of learning and reasoning method

2. Design a neural network to solve real life problems and Recognize the role of
engineering in society.

3. Identify the working performance and impact of ANN under training and testing
environment and society.

4
Assessment of Course Outcomes (CO):
Bloom’s Delivery
Assessment
CO PO Taxonomy KP CP CA methods
Tools
Level and activities
Lecture, Lab
Lab Quiz, Lab
CO1 PO5 C3 Manual, and
Viva
Demonstration
Lecture,
Laboratory
experiment
CO2 PO6 A3 Lab Report
and Data
Collection
& Calculations
Lecture,
Laboratory
experiment
CO3 PO7 C5 KP7 Project
and Data
Collection
& Calculations
Lab
Performance
CO4 PO9 A2
Test

Assessment Criteria and Marks Distribution


Si. No. Particulars Marks
1 Lab Performance Test 30
2 Lab Reports 20
3 Quiz Test 20
4 Mini Lab Project 20
5 Lab Viva 10
Total 100

5
Summary of Lab Report
Ex. Experiment Title Date of Date of Teacher’s Remarks
No. Exp. Subm Marks Signature
01 Introduction with Virtual Environment
and necessary setup of programming in
anaconda IDE in python language
02 Study and Development of python codes
to Develop A Simple Neural Network
Architecture to Predict An Array of Data
03 Study and Development of python codes
to perform Experiments with Dataset:
Data Processing and Visualization.
04 Study and Development of python codes
to Train neural network from scratch
05 Project Title: Predicting Diabetes with
Multilayer Perceptrons- Data collection
and visualization
06 Project Title: Predicting Diabetes with
Multilayer Perceptrons- training and
testing neural network.
07 Project Title: Predicting Lung Cancer
with Multilayer Perceptrons- Data
collection and visualization
08 Project Title: Predicting Lung Cancer
with Multilayer Perceptrons- training and
testing neural network.
09 Project Title: Share price prediction
model with Multilayer Perceptrons- Data
collection and visualization
10 Project Title: Share price prediction
model with Multilayer Perceptrons-
training and testing neural network.
Average marks in lab Report (out of 20)

6
Format of Lab Report
All lab reports should have to follow the common format as below
• Experiment No
• Experiment Title
• Objectives
• Theory Overview (with formula/equations and/or figure if required)
• Circuit diagram (with adequate labeling and figure caption)
• Results
• Discussion
• Conclusion

Instruction for Lab Report Writing


• Lab report must be hand written without copying from other works.
• Writing should be neat and clean with proper caption and labeling in
figure and table.
• The title page of report should contain all the basic information such as
experiment no & title, course code & title, student’s information,
teacher’s information, experiment date, submission date.
• Result should include calculated and/or simulated and/or measured data
with proper unit.
• Table and/or graph of result should be neat and clear with axis label and
units where applicable.
• The discussion should present your findings from the experiment.
Evaluate the outcome objectively, taking a candid and unbiased point of
view. Suppose that the outcome is not close to what you expected. Even
then, after checking your results, give reasons why you believe that
outcome is not consistent with the expected.
• In discussion, state the discrepancies between the experimental results
and the model (theory), and discuss the sources of the differences in
terms of the errors by offering logical inferences and suggest
improvements.
• Conclusion should present, a brief summary of what was done, how it
was done, show the results and conclusions of the experiment.
• Report should be submitted timely, late submission will cause reduction
of marking.
• All lab reports have to be maintained in a single file which has to bring in
every laboratory class.

7
Mini Lab Project
All students have to do a mini lab project under this sessional course. The
project will be in different group with the number of group members assigned
by course teacher. The project will be accessed by course teacher in three
criteria: 1) project show, 2) project presentation, and 3) project report.

8
Experiment-1: Introduction with Virtual Environment and necessary setup of
programming in anaconda IDE in python language
Objective: The students will learn-
• About anaconda IDE with necessary setup
• About python language
Theory
Before we dive deeper into neural networks and machine learning, let's make
sure that you have set up your computer properly, so that you can run the code
in this book smoothly. In this book, we will use the Python programming
language for each neural network project. Along with Python itself, we also
require several Python libraries, such as Keras, pandas, NumPy, and many
more. There are several ways to install Python and the required libraries, but the
easiest way by far is to use Anaconda.
Setup Procedures
Anaconda is a free and open source distribution of Python and its libraries.
Anaconda provides a handy package manager that allows us to easily install
Python and all other libraries that we require. To install Anaconda, simply head
to the website at https://www.anaconda.com/distribution/ and download the
Anaconda installer (select the Python 3.x installer).

Figure 1.1: Anaconda IDE

9
Besides Anaconda, we also require Git. Git is essential for machine learning and
software engineering in general. Git allows us to easily download code from
GitHub, which is probably the most widely used software hosting service. To
install Git, head to the Git website at
https://git-scm.com/book/en/v2/Getting-Started-Installing-Git.
You can simply download and run the appropriate installer for your OS.
Once Anaconda and Git are installed, we are ready to download the code for
this book. The code that you see in this book can be found in our
accompanying GitHub repository. To download the code, simply run the
following command from a command line (use Terminal if you're using
macOS/Linux, and if you're using Windows, use the Anaconda Command
Prompt):

$ git clone https://github.com/PacktPublishing/Neural-Network-Projects-with-


Python

The git clone command will download all the Python code in this book to
your computer.
Once that's done, run the following command to move into the folder that you
just downloaded:

$ cd Neural-Network-Projects-with-Python

Within the folder, you will find a file titled environment.yml. With this file, we
can install Python and all the required libraries into a virtual environment.
You can think of a virtual environment as an isolated, sandboxed
environment where we can install a fresh copy of Python and all the required
libraries. The environment.yml file contains instructions for Anaconda to install
a specific version of each library into a virtual environment. This ensures that
the Python code will be executed in a standardized environment that we have
designed. To install the required dependencies using Anaconda and the
environment.yml file, simply execute the following command from a command
line:

$ conda env create -f environment.yml

Just like that, Anaconda will install all required packages into a neural-network

10
projects-python virtual environment. To enter this virtual environment, we
execute this next command:

$ conda activate neural-network-projects-python

That's it! We are now in a virtual environment with all dependencies


installed. To execute a Python file in this virtual environment, we can run
something like this:

$ python Chapter01\keras_chapter1.py

To leave the virtual environment, we can run the following command:

$ conda deactivate

Just note that you should be within the virtual environment (by running conda
activate neural-network-projects-python first) whenever you run any Python
code provided by us. Now that we've set up our computer, let's return back to
neural networks. We'll look at the theory behind neural networks, and how to
program one from scratch in Python.

Fig 1.2: Anaconda Setup initialization

11
Sample output

Figure 1.3: Setting up the necessary environment and libraries

Precautions:
1. Always download the latest version of Python
2. Keep at least 25GB empty space in local drive C:
3. Don’t change the target folders name
4. Keep the project folder in C:\Users\Computer name\Neural-Network-
Projects-with-Python
5. The recommended processor is minimum corei5 with at least 8GB RAM

12
Experiment-2: Name of the Experiment: Study and Development of python codes to
Develop a Simple Neural Network Architecture to Predict An Array of Data
Objectives: The students will learn-
• A primer on machine learning and neural networks
• Executing your machine learning projects from start to finish using
the machine learning workflow

Theory Overview

Figure 2.1: Neural Network generic architecture

13
Figure 2.2: Feedforward and Backpropagation in neural network.

Codes-1:
from keras.models import Sequential
from keras.layers import Dense
from keras import optimizers
import numpy as np
np.random.seed(9)

model = Sequential()

# Layer 1
model.add(Dense(units=4, activation='sigmoid', input_dim=3))
//dense method creates fully connected architecture
# Output Layer
model.add(Dense(units=1, activation='sigmoid'))

print(model.summary())
print('')

sgd = optimizers.SGD(lr=1)
model.compile(loss='mean_squared_error', optimizer=sgd)

X = np.array([[0,0,1],
[0,1,1],
[1,0,1],
[1,1,1]])
y = np.array([ [0],
[1],
[1],
[0]])

model.fit(X, y, epochs=1500, verbose=False)

print(model.predict(X))

14
Sample output:

Figure 2.3: summery of three-layer neural network architecture

Figure 2.4: Overview of sample output

Result and Discussion:

Figure 2.5: Comparative study of output

From the graph it is clear that, if we increase the value of iteration then the
actual values are almost equal to desired values, hence the error decreases with
epochs.

15
Experiment-3: Study and Development of python codes to perform
Experiments with Dataset: Data Processing and Visualization.

Objective: The students will learn-

• Using pandas for data analysis in Python


• Visualize dataset in effective way
Theory:

pandas is perhaps the most ubiquitous library in Python for data analysis. Built
upon the powerful NumPy library, pandas provides a fast and flexible data
structure in Python for handling real-world datasets. Raw data is often presented
in tabular form, shared using the .csv file format. pandas provides a simple
interface for importing these .csv files into a data structure known as
DataFrames that makes it extremely easy to manipulate data in Python.
Codes:

pandas_chapter1.py

import pandas as pd
import numpy as np
import matplotlib
matplotlib.use("TkAgg")
import matplotlib.pyplot as plt

'''
Pandas DataFrames
'''

# Read iris dataset from UCI database


df = pd.read_csv("https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data",
names = ['sepal_length', 'sepal_width', 'petal_length', 'petal_width', 'class'])

# Get info of the data


print(df.info())
print('')

# Get statistical summary of the data


print(df.describe())
print('')

# Look at first 10 rows of the data

16
print(df.head(10))
print('')

# Select rows with sepal_length more than 5.0


df2 = df.loc[df['sepal_length'] > 5.0, ]

'''
Data Visualization in Panads
'''

# Define marker shapes by class


marker_shapes = ['.', '^', '*']

# Then, plot the scatterplot


for i, species in enumerate(df['class'].unique()):
if i == 0:
ax = df[df['class'] == species].plot.scatter(x='sepal_length', y='sepal_width',
marker=marker_shapes[i], s=100,title="Sepal Width vs Length by Species", label=species,
figsize=(10,7))
else:
df[df['class'] == species].plot.scatter(x='sepal_length', y='sepal_width',
marker=marker_shapes[i], s=100, title="Sepal Width vs Length by Species", label=species,
ax=ax)
plt.show()
plt.clf()

# Plot histogram
df['petal_length'].plot.hist(title='Histogram of Petal Length')
plt.show()

# Plot boxplot
df.plot.box(title='Boxplot of Sepal Length & Width, and Petal Length & Width')
plt.show()

'''
Data Preprocessing in Pandas
'''
# Encode categorical variables
df2 = pd.DataFrame({'Day': ['Monday','Tuesday','Wednesday',
'Thursday','Friday','Saturday',
'Sunday']})

# One-hot-encode
print(pd.get_dummies(df2))

17
print('')

# Imputing missing values


# Import the iris data once again
df = pd.read_csv("https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data",
names = ['sepal_length', 'sepal_width', 'petal_length', 'petal_width', 'class'])

# Randomly select 10 rows


random_index = np.random.choice(df.index, replace= False, size=10)

# Set the sepal_length values of these rows to be None


df.loc[random_index,'sepal_length'] = None

# Check where the missing values are


print(df.isnull().any())
print('')

# Drop missing values


print("Number of rows before deleting: %d" % (df.shape[0]))
df2 = df.dropna()
print("Number of rows after deleting: %d" % (df2.shape[0]))
print('')

# Replace missing values with the mean


df.sepal_length = df.sepal_length.fillna(df.sepal_length.mean())

# Confirm that there are no missing values left


print(df.isnull().any())
print('')

Sample Output:

Figure 3.1: Statistical Analysis of the dataset

18
Figure 3.2: Sample overview of dataset

Figure 3.3: Clustering Plot analysis

19
Figure 3.4: Histogram Analysis

Figure 3.5: Bloxplot analysis

20
Experiment-4: Study and Development of python codes to Train neural
network from scratch

Objective: The students will learn-

• How to train_neural network from scratch


• Working mechanism of neural networks
Theory:

Figure 4.1: Neural Network block diagram

21
Figure 4.2: Back propagation calculation

22
Codes:
import numpy as np

def sigmoid(x):
return 1.0/(1+ np.exp(-x))

def sigmoid_derivative(x):
return x * (1.0 - x)

class NeuralNetwork:
def __init__(self, x, y):
self.input = x
self.weights1 = np.random.rand(self.input.shape[1],4)
self.weights2 = np.random.rand(4,1)
self.y = y
self.output = np.zeros(self.y.shape)

def feedforward(self):
self.layer1 = sigmoid(np.dot(self.input, self.weights1))
self.output = sigmoid(np.dot(self.layer1, self.weights2))

def backprop(self):
# application of the chain rule to find derivative of the loss function with respect to weights2
and weights1
d_weights2 = np.dot(self.layer1.T, (2*(self.y - self.output) *
sigmoid_derivative(self.output)))
d_weights1 = np.dot(self.input.T, (np.dot(2*(self.y - self.output) *
sigmoid_derivative(self.output), self.weights2.T) * sigmoid_derivative(self.layer1)))

23
# update the weights with the derivative (slope) of the loss function
self.weights1 += d_weights1
self.weights2 += d_weights2

if __name__ == "__main__":
X = np.array([[0,0,1],
[0,1,1],
[1,0,1],
[1,1,1]])
y = np.array([[0],[1],[1],[0]])
nn = NeuralNetwork(X,y)

for i in range(1500):
nn.feedforward()
nn.backprop()

print(nn.output)
Sample output:

Figure 4.3: Derivation of actual and predicted values

Figure 4.4: Derivation of accuracy with different iterations

24
Exp. No. 05: Project Development-1
Title of the Project: Predicting Diabetes with Multilayer Perceptrons- Data
collection and visualization
Objectives: The students will learn-

Theory Overview:

Codes:
utils
import pandas as pd
import numpy as np
from sklearn.preprocessing import StandardScaler
from sklearn import preprocessing

def preprocess(df):
print('----------------------------------------------')

25
print("Before preprocessing")
print("Number of rows with 0 values for each variable")
for col in df.columns:
missing_rows = df.loc[df[col]==0].shape[0]
print(col + ": " + str(missing_rows))
print('----------------------------------------------')

# Replace 0 values with the mean of the existing values


df['Glucose'] = df['Glucose'].replace(0, np.nan)
df['BloodPressure'] = df['BloodPressure'].replace(0, np.nan)
df['SkinThickness'] = df['SkinThickness'].replace(0, np.nan)
df['Insulin'] = df['Insulin'].replace(0, np.nan)
df['BMI'] = df['BMI'].replace(0, np.nan)
df['Glucose'] = df['Glucose'].fillna(df['Glucose'].mean())
df['BloodPressure'] = df['BloodPressure'].fillna(df['BloodPressure'].mean())
df['SkinThickness'] = df['SkinThickness'].fillna(df['SkinThickness'].mean())
df['Insulin'] = df['Insulin'].fillna(df['Insulin'].mean())
df['BMI'] = df['BMI'].fillna(df['BMI'].mean())

print('----------------------------------------------')
print("After preprocessing")
print("Number of rows with 0 values for each variable")
for col in df.columns:
missing_rows = df.loc[df[col]==0].shape[0]
print(col + ": " + str(missing_rows))
print('----------------------------------------------')

# Standardization
df_scaled = preprocessing.scale(df)
df_scaled = pd.DataFrame(df_scaled, columns=df.columns)
df_scaled['Outcome'] = df['Outcome']
df = df_scaled

return df

Visualization
import matplotlib
matplotlib.use("TkAgg")
import pandas as pd
from matplotlib import pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings("ignore")

26
df = pd.read_csv('diabetes.csv')

# look at the first 5 rows of the dataset


print(df.head())

# show histogram
df.hist()
plt.tight_layout()
plt.show()

# show density plot


# create a subplot of 3 x 3
plt.subplots(3,3,figsize=(20,20))

# Plot a density plot for each variable


for idx, col in enumerate(df.columns):
ax = plt.subplot(3,3,idx+1)
ax.yaxis.set_ticklabels([])
sns.distplot(df.loc[df.Outcome == 0][col], hist=False, axlabel= False, kde_kws={'linestyle':'-
', 'color':'black', 'label':"No Diabetes"})
sns.distplot(df.loc[df.Outcome == 1][col], hist=False, axlabel= False, kde_kws={'linestyle':'-
-', 'color':'black', 'label':"Diabetes"})
ax.set_title(col)

# Hide the 9th subplot (bottom right) since there are only 8 plots
plt.subplot(3,3,9).set_visible(False)
plt.tight_layout()
plt.show()

Sample output:

27
Figure 5.1: Density plot of parameters

Figure 5.2: Tracking strong and weak parameters

28
Exp. No. 06: Project Development-2
Tittle of the Project: Predicting Diabetes with Multilayer Perceptrons- training
and testing neural network.
Objectives: The students will learn-

Theory Overview:

29
Codes:

Main
import matplotlib
matplotlib.use("TkAgg")
from utils import preprocess
import pandas as pd
import seaborn as sns
from sklearn.model_selection import train_test_split
from sklearn.metrics import confusion_matrix
from sklearn.metrics import roc_curve
from keras.models import Sequential
from keras.layers import Dense
import matplotlib.pyplot as plt
import numpy as np
np.random.seed(16)

try:
df = pd.read_csv('diabetes.csv')
except:
print("""
Dataset not found in your computer.
Please follow the instructions in the link below to download the dataset:
https://raw.githubusercontent.com/PacktPublishing/Neural-Network-Projects-with-
Python/master/chapter2/how_to_download_the_dataset.txt
""")
quit()

30
# Perform preprocessing and feature engineering
df = preprocess(df)

# Split the data into a training and testing set


X = df.loc[:, df.columns != 'Outcome']
y = df.loc[:, 'Outcome']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)

# Build neural network in Keras


model = Sequential()
model.add(Dense(32, activation='relu', input_dim=8))
model.add(Dense(16, activation='relu'))
model.add(Dense(1, activation='sigmoid'))
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
model.fit(X_train, y_train, epochs=200, verbose=False)

# Results - Accuracy
scores = model.evaluate(X_train, y_train, verbose=False)
print("Training Accuracy: %.2f%%\n" % (scores[1]*100))
scores = model.evaluate(X_test, y_test, verbose=False)
print("Testing Accuracy: %.2f%%\n" % (scores[1]*100))

# Results - Confusion Matrix


y_test_pred = model.predict_classes(X_test)
c_matrix = confusion_matrix(y_test, y_test_pred)
ax = sns.heatmap(c_matrix, annot=True, xticklabels=['No Diabetes', 'Diabetes'],
yticklabels=['No Diabetes', 'Diabetes'], cbar=False, cmap='Blues')
ax.set_xlabel("Prediction")
ax.set_ylabel("Actual")
plt.show()
plt.clf()

# Results - ROC Curve


y_test_pred_probs = model.predict(X_test)
FPR, TPR, _ = roc_curve(y_test, y_test_pred_probs)
plt.plot(FPR, TPR)
plt.plot([0,1],[0,1],'--', color='black') #diagonal line
plt.title('ROC Curve')
plt.xlabel('False Positive Rate')
plt.ylabel('True Positive Rate')
plt.show()
plt.clf()

31
Figure 6.1: Confusion Matrix to evaluate the performance of ANN

Figure 6.2: ROC curve


32
Project Development: 3 and 4
Mini projects to be developed by students is divided in two different segments with
two different titles as follows-

Segment No Title

1 Project Title: Predicting Lung Cancer with Multilayer Perceptrons- Data


collection and visualization

2 Project Title: Predicting Lung Cancer with Multilayer Perceptrons- training and
testing neural network.
Instructions to be followed:
➢ All the Questions carry 04 marks and are compulsory.
➢ Copied codes will be given zero.
➢ For data visualization, use clear image, no screen shot will be accepted.
➢ Use your own knowledge to solve the Problem. Insert a general discussion at the end.
Problem Statement
Diabetes can be divided into two subtypes: type 1 and type 2. Unfortunately, the exact cause
of type 1 diabetes is unknown and therefore, it is difficult to prevent the onset of type 1
diabetes. Type 2 diabetes results from the body's gradual resistance to insulin. Type 2
diabetes is the prevalent form of diabetes in the world, and it is caused by excessive body
weight, irregular exercise, and a poor diet. Fortunately, the onset of type 2 diabetes can be
prevented and reversed if diagnosed early.

Apply AI tools and algorithms to develop an Artificial Neural Networks to predict the
possibility of being diabetic in future from a given dataset. The Project must contain the
following steps-
33
i. Collect standard data set from any authentic source.WP1, WK1
ii. Perform data pre-processing (data visualization, handling missing values, data
standardization. WP1, WK4
iii. Designing the Artificial Neural Networks (ANN) with correct parameters [WP1, wk5]
iv. Training the Neural Network. [WP1, WK3]
v. Testing and Validating the Artificial Neural Networks for Proper evaluation [WP7]
and to Justify [C5] it’s impact on society and environment. [P07]

Marking Rubrics:

Questions Secured Marks

Unacceptable

No Response
Acceptable

[20-30] %
[80-100]%

Proficient

[60-70] %
Excellent

[40-50] %

[0-20] %
Good

[0]
Detailed Response Partial Unable to
Response
response with no problem is clarify the
shows
explaining the apparent solved; understanding
understanding
concept errors and response of the problem
of the
properly and the answer indicates and method of No
problem, but
i-v answer is is correct, the final part of the the problem Response
correct with all but answer may problem was solving was
works clearly explanation not be correct. not not correct.
shown. is not Understo
adequate. d clearly.

34
Project Development: 5 and 6
Mini projects to be developed by students is divided in two different segments with
two different titles as follows-

Segment No Title

1 Project Title: Share price prediction model with Multilayer Perceptrons- Data
collection and visualization

2 Project Title: Share price prediction model with Multilayer Perceptrons- training
and testing neural network.

Instructions to be followed:
➢ All the Questions carry 04 marks and are compulsory.
➢ Copied codes will be given zero.
➢ For data visualization, use clear image, no screen shot will be accepted.
➢ Use your own knowledge to solve the Problem. Insert a general discussion at the end.
Problem Statement
Stock market is basically nonlinear in nature and the research on stock market is one
of the most important issues in recent years. People invest in stock market based on
some prediction. For predict, the stock market prices people search such methods and
tools which will increase their profits, while minimize their risks.

35
Apply AI tools and algorithms to develop an Artificial Neural Networks to predict the future
share values from a given dataset. The Project must contain the following steps-

vi. Collecting standard data set from any authentic source.WP1, WK1
vii. Performing data pre-processing (data visualization, handling missing values, data
standardization. WP1, WK4
viii. Designing the Artificial Neural Networks (ANN) with correct parameters [WP1, wk5]
ix. Training the Neural Network. [WP1, WK3]
x. Testing and Validating the Artificial Neural Networks for Proper evaluation [WP7]
and to Justify [C5] it’s impact on society and environment. [P07]

Marking Rubrics:

Questions Secured Marks

Unacceptable

No Response
Acceptable

[20-30] %
[80-100]%

Proficient

[60-70] %
Excellent

[40-50] %

[0-20] %
Good

[0]
Detailed Response Partial Unable to
Response
response with no problem is clarify the
shows
explaining the apparent solved; understanding
understanding
concept errors and response of the problem
of the
properly and the answer indicates and method of No
problem, but
answer is is correct, the final part of the the problem Response
correct with all but answer may problem was solving was
works clearly explanation not be correct. not not correct.
i-v shown. is not Understo
adequate. d clearly.

36
ANNEXURE-I
Assessment Rubric
Laboratory Report
Outstanding (Up to Accomplished Developing Beginner
Category
100%) (Up to 75%) (Up to 50%) (Up to 25%)
Write up format Aim, Apparatus, material The write up follows The report follows the The write up
requirement, theoretical the specified format but specified format but a does not follow
basis, procedure of a couple of the few of the formats are the specified
experiment, sketch of the specified parameters missing and the format and the
experimental setup etc. is are missing. experimental sketch is presentation is
demarcated and presented in not included in the shabby.
clearly labeled and neatly report
organized sections.
Observations and The experimental The experimental The experimental The experimental
Calculations observations and observations and observations and observations and
calculations are recorded in calculations are calculations are results are
neatly prepared table with recorded in neatly recorded neatly but recorded
correct units and significant prepared table with correct units and carelessly.
figures. One sample correct units and significant figures are Correct units
calculation is explained by significant figures but not used. Sample significant
substitution of values sample calculation is calculation is also not figures are not
not shown shown followed and
sample
calculations not
shown
Results and Results obtained are Results obtained are Results obtained are Results obtained
Graphs correct within reasonable correct within correct within are not correct
limits. reasonable limits. reasonable limits. within
Graphs are drawn neatly Graphs are drawn Graphs are not drawn reasonable
with labeling of the axes. neatly with labeling of neatly and or labeling limits. Graphs
Relevant calculations are the axes. Relevant is not proper. No are not drawn
performed from the graphs. calculations from the calculations are done neatly and or
Equations are obtained by graphs are incomplete from the graphs and labeling is not
regression analysis or curve and equations are not equations are not proper. No
fitting if relevant obtained by regression obtained by regression calculations are
analysis or curve fitting analysis or curve done from the
fitting graphs and
equations are not
obtained by
regression
Discussion of All relevant points of the Results are discussed analysis or curve
Discussion of results is Neither
results result are discussed and but no theoretical incomplete and fitting points
relevant
justified in light of reference is divergent results are of the results
theoretical expectations. mentioned. Divergent not identified. are discussed
Reasons for divergent results are identified nor divergent
results are identified and but no satisfactory results
corrective measures reasoning is given for identified
discussed. the same.

37
Individual Presentation
Outstanding (Up to Accomplished Developing Beginner
Category 100%) (Up to 75%) (Up to 50%) (Up to 25%)
Content A concise summary of A good summary of the Informative but A brief look at the topic;
the topic; Convincing topic; Acceptable much of the information Little justification for choice
justification for choice justification for choice irrelevant; Confused of topic; Majority of
of topic; of topic; Most important justification for choice of information irrelevant and
Comprehensive and information covered; topic; Coverage of some significant points left out
complete coverage of Little irrelevant of the major points
information information

Organization Clear purpose and Somewhat clear purpose Attempts to define Subject and purpose not
subject; Pertinent and subject; Some purpose and subject; clearly defined; Weak or no
examples, facts, examples, facts, Weak examples, facts, support of subject;
and/or statistics; and/or statistics that and/or statistics not Insufficient support for
Supports support the subject; adequately supporting the ideas or conclusions
conclusions/ideas Some data or evidence subject; Very thin data or
with evidence that supports conclusions evidence to
support conclusion

Visual Aids Information is clear Too much information in Too much information in Too much information in
and concise with complete sentences on complete sentences on complete sentences on
proper key slides along with proper many slides; Some proper slides; No or few proper key
information in points key information in key information; Repetition of
or phrases; Visually phrases; Significant information; the
appealing/ engaging visual appeal Minimal effort made to same information on
make slides appealing multiple
slides; No visual appeal

Delivery Style Regular eye contact; Steady eye contact; More volume or energy Low volume and energy;
Appropriate speaking Adequate volume and needed at times; Pace too slow
volume & body energy; Generally Pace too slow or fast; or fast; Poor diction; Lots of
language; good pace and diction; Some distracting gestures distracting gestures or
Proper pace and Few or no distracting or posture;
diction; Gestures; Few posture; Some repetitions, Frequent repetitions,
Fluent avoidance of repetitions, hesitations, gap fillers hesitations, gap fillers
repetitions, hesitations, gap fillers
hesitations, gap
fillers
Question Demonstrates Is at ease with expected Is uncomfortable with Does not have grasp of
-answer knowledge by answers to all questions information and can information and cannot
Session answering all types of without elaboration in answer only rudimentary answer questions about
questions with somewhat professional questions subject
explanations and manner
elaboration in
professional manner

ANNEXURE-II
Program Outcomes
Program Outcomes (POs) represent the knowledge, skills and attitudes the students should
have at the end of a four year engineering program. CSE program of BAUET has 12
Program Outcomes. They are briefly described in the following table.

38
Sl. No PO Category Description
Apply the knowledge of mathematics, science,
engineering fundamentals, and an engineering
Engineering
1 PO 1 specialization to the solution of complex
Knowledge
engineering problems.
Identify, formulate, research literature, and analyze
complex engineering problems reaching
substantiated conclusions using first principles of
2 PO 2 Problem Analysis mathematics, natural sciences, and engineering
sciences.
Design solutions for complex engineering problems
and design system components or processes that
Design/Development meet the specified needs with appropriate
3 PO 3 of Solutions consideration for public health and safety as well as
cultural, social and environmental concerns.
Conduct investigations of complex problems,
considering design of experiments, analysis and
4 PO 4 Investigation interpretation of data and synthesis of information to
provide valid conclusions.
Create, select, and apply appropriate techniques,
resources, and modern engineering and IT tools
including prediction and modeling to complex
5 PO 5 Modern Tool Usage engineering activities with an understanding of the
limitations.
Apply reasoning informed by the contextual
knowledge to assess societal, health, safety, legal and
The Engineer and
6 PO 6 cultural issues and the consequent responsibilities
Society
relevant to the professional engineering practice.
Understand the impact of the professional
engineering solutions in societal and environmental
Environment and
7 PO 7 contexts, and demonstrate the knowledge of need for
Sustainability
sustainable development.
Apply ethical principles and commit to professional
8 PO 8 Ethics Ethics and responsibilities and norms of the
engineering practice.
Function effectively as an individual, and as a
Individual and member or leader in diverse teams, and in
9 PO 9
Team Work multidisciplinary settings.
Communicate effectively on complex engineering
activities with the engineering community and with
society at large. Some of them are, being able to
comprehend and write effective reports and design
10 PO 10 Communication documentation, make effective presentations, and
give and receive clear instructions.
Demonstrate knowledge and understanding of the
Project
engineering and management principles and apply
Management and
11 PO 11 these to one’s own work, as a member and leader in
Finance
a team, to manage projects and in multidisciplinary

39
environments.

Recognize the need for, and have the preparation and


ability to engage in independent and lifelong learning
12 PO 12 Life Long Learning in the broadest context of technological change.

ANNEXURE-III
Knowledge Profile, Complex Engineering Problem and Complex
Engineering Activities

Knowledge Profile (WK/K)- CHARACTERISTIC


WK1 Natural Sciences A systematic, theory-based understanding of the natural
sciences applicable to the discipline
WK2 Mathematics Conceptually-based mathematics, numerical analysis, statistics
and formal aspects of computer and information science to
support analysis and modelling applicable to the discipline

WK3 Engineering A systematic, theory-based formulation of engineering


fundamentals fundamentals required in the engineering discipline
WK4 Specialist knowledge Engineering specialist knowledge that provides theoretical
frameworks and bodies of knowledge for the accepted practice
areas in the engineering discipline; much is at the forefront of
the discipline.

WK5 Engineering design Knowledge that supports engineering design in a practice area

WK6 Engineering practice Knowledge of engineering practice (technology) in the


practice areas in the engineering discipline
WK7 Comprehension Comprehension of the role of engineering in society and
identified issues in engineering practice in the discipline:
ethics and the professional responsibility of an engineer to
public safety; the impacts of engineering activity: economic,
social, cultural, environmental and sustainability

WK8 Research literature Engagement with selected knowledge in the research literature
of the discipline

40
Complex Engineering Problem (WP/P)

WP Preamble COMPLEX PROBLEMS have characteristic of WP1


and some or all of WP2 to WP7
WP1 Depth of Knowledge In-depth engineering knowledge at the level of one or
more of WK3, WK4, WK5, WK6 or WK8 which allows a
fundamental based, first principles analytical approach

WP2 Conflicting requirement Wide-ranging or conflicting technical, engineering and


other issues
WP3 Depth of analysis no obvious solution and require abstract thinking,
originality in analysis to formulate suitable models

WP4 Familiarity of issues infrequently encountered issues


WP5 Extent of applicable outside problems encompassed by standards and codes of
codes practice for professional engineering

WP6 Extent of stakeholder diverse groups of stakeholders with widely varying needs

WP7 Interdependence high level problems including many component parts or


sub-problems

Complex Engineering Activities (EA)


Activ Preamble Complex activities means (engineering) activities or
ities projects that have some or all of the following
characteristics listed below
EA1 Range of resources Diverse resources (people, money, equipment,
materials, information and technologies).
EA2 Level of interaction Require resolution of significant problems arising
from interactions between wide ranging or
conflicting technical, engineering or other issues.
EA3 Innovation Involve creative use of engineering principles and
research-based knowledge in novel ways.
EA4 Consequences to society Have significant consequences in a range of
and the environment contexts, characterised by difficulty of prediction
and mitigation.
EA5 Familiarity Can extend beyond previous experiences by
applying
principles-based approaches.

***The End***

41

You might also like