1.
# Importing necessary libraries
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
import pandas as pd
import plotly.express as px
# Set the style for Seaborn
sns.set(style="whitegrid")
# Sample Data
np.random.seed(42)
data = pd.DataFrame({
'Category': ['A', 'B', 'C', 'D', 'E'],
'Values': np.random.randint(10, 100, size=5),
'Gender': ['M', 'F', 'F', 'M', 'F'],
'Age': np.random.randint(18, 65, size=5),
})
### 1. Bar Plot
def bar_plot():
plt.figure(figsize=(8, 5))
plt.bar(data['Category'], data['Values'], color='skyblue')
plt.title('Bar Plot Example')
plt.xlabel('Category')
plt.ylabel('Values')
plt.show()
### 2. Pie Chart
def pie_chart():
plt.figure(figsize=(6, 6))
plt.pie(data['Values'], labels=data['Category'], autopct='%1.1f%%', colors=sns.color_palette('Set2'))
plt.title('Pie Chart Example')
plt.show()
### 3. Histogram
def histogram():
plt.figure(figsize=(8, 5))
plt.hist(data['Age'], bins=5, color='purple', edgecolor='black')
plt.title('Histogram Example')
plt.xlabel('Age')
plt.ylabel('Frequency')
plt.show()
### 4. Scatter Plot
def scatter_plot():
plt.figure(figsize=(8, 5))
plt.scatter(data['Age'], data['Values'], color='green', s=100)
plt.title('Scatter Plot Example')
plt.xlabel('Age')
plt.ylabel('Values')
plt.show()
### 5. Box Plot
def box_plot():
plt.figure(figsize=(8, 5))
sns.boxplot(x='Gender', y='Values', data=data, palette='Set3')
plt.title('Box Plot Example')
plt.show()
### 6. Line Plot
def line_plot():
plt.figure(figsize=(8, 5))
plt.plot(data['Category'], data['Values'], color='red', marker='o', linestyle='--')
plt.title('Line Plot Example')
plt.xlabel('Category')
plt.ylabel('Values')
plt.show()
### 7. Heatmap
def heatmap():
# Generate random correlation matrix
corr_data = pd.DataFrame(np.random.rand(10, 10), columns=[f'Var{i}' for i in range(1, 11)])
plt.figure(figsize=(10, 6))
sns.heatmap(corr_data, annot=False, cmap='coolwarm')
plt.title('Heatmap Example')
plt.show()
### 8. Interactive Plot using Plotly (Scatter Plot)
def interactive_plot():
fig = px.scatter(data, x='Age', y='Values', color='Gender', title="Interactive Scatter Plot")
fig.show()
# Function to execute all plots
def main():
print("Generating visualizations...")
# Bar Plot
bar_plot()
# Pie Chart
pie_chart()
# Histogram
histogram()
# Scatter Plot
scatter_plot()
# Box Plot
box_plot()
# Line Plot
line_plot()
# Heatmap
heatmap()
# Interactive Plot
interactive_plot()
if _name_ == "_main_":
main()
2.
Training Dataset:
total_bil
l tip sex smoker day time size
16.99 1.01 Female No Sun Dinner 2
10.34 1.66 Male No Sun Dinner 3
21.01 3.5 Male No Sun Dinner 3
23.68 3.31 Male No Sun Dinner 2
24.59 3.61 Female No Sun Dinner 4
25.29 4.71 Male No Sun Dinner 4
8.77 2 Male No Sun Dinner 2
26.88 3.12 Male No Sun Dinner 4
15.04 1.96 Male No Sun Dinner 2
14.78 3.23 Male No Sun Dinner 2
10.27 1.71 Male No Sun Dinner 2
35.26 5 Female No Sun Dinner 4
15.42 1.57 Male No Sun Dinner 2
18.43 3 Male No Sun Dinner 4
14.83 3.02 Female No Sun Dinner 2
21.58 3.92 Male No Sun Dinner 2
10.33 1.67 Female No Sun Dinner 3
16.29 3.71 Male No Sun Dinner 3
16.97 3.5 Female No Sun Dinner 3
20.65 3.35 Male No Sat Dinner 3
17.92 4.08 Male No Sat Dinner 2
20.29 2.75 Female No Sat Dinner 2
15.77 2.23 Female No Sat Dinner 2
39.42 7.58 Male No Sat Dinner 4
19.82 3.18 Male No Sat Dinner 2
17.81 2.34 Male No Sat Dinner 4
13.37 2 Male No Sat Dinner 2
12.69 2 Male No Sat Dinner 2
21.7 4.3 Male No Sat Dinner 2
19.65 3 Female No Sat Dinner 2
9.55 1.45 Male No Sat Dinner 2
18.35 2.5 Male No Sat Dinner 4
15.06 3 Female No Sat Dinner 2
20.69 2.45 Female No Sat Dinner 4
17.78 3.27 Male No Sat Dinner 2
24.06 3.6 Male No Sat Dinner 3
16.31 2 Male No Sat Dinner 3
16.93 3.07 Female No Sat Dinner 3
18.69 2.31 Male No Sat Dinner 3
31.27 5 Male No Sat Dinner 3
16.04 2.24 Male No Sat Dinner 3
17.46 2.54 Male No Sun Dinner 2
13.94 3.06 Male No Sun Dinner 2
9.68 1.32 Male No Sun Dinner 2
30.4 5.6 Male No Sun Dinner 4
18.29 3 Male No Sun Dinner 2
22.23 5 Male No Sun Dinner 2
32.4 6 Male No Sun Dinner 4
28.55 2.05 Male No Sun Dinner 3
18.04 3 Male No Sun Dinner 2
12.54 2.5 Male No Sun Dinner 2
10.29 2.6 Female No Sun Dinner 2
34.81 5.2 Female No Sun Dinner 4
9.94 1.56 Male No Sun Dinner 2
25.56 4.34 Male No Sun Dinner 4
19.49 3.51 Male No Sun Dinner 2
38.01 3 Male Yes Sat Dinner 4
26.41 1.5 Female No Sat Dinner 2
11.24 1.76 Male Yes Sat Dinner 2
48.27 6.73 Male No Sat Dinner 4
20.29 3.21 Male Yes Sat Dinner 2
13.81 2 Male Yes Sat Dinner 2
11.02 1.98 Male Yes Sat Dinner 2
18.29 3.76 Male Yes Sat Dinner 4
17.59 2.64 Male No Sat Dinner 3
20.08 3.15 Male No Sat Dinner 3
16.45 2.47 Female No Sat Dinner 2
3.07 1 Female Yes Sat Dinner 1
20.23 2.01 Male No Sat Dinner 2
15.01 2.09 Male Yes Sat Dinner 2
12.02 1.97 Male No Sat Dinner 2
17.07 3 Female No Sat Dinner 3
26.86 3.14 Female Yes Sat Dinner 2
25.28 5 Female Yes Sat Dinner 2
14.73 2.2 Female No Sat Dinner 2
10.51 1.25 Male No Sat Dinner 2
17.92 3.08 Male Yes Sat Dinner 2
27.2 4 Male No Thur Lunch 4
22.76 3 Male No Thur Lunch 2
17.29 2.71 Male No Thur Lunch 2
19.44 3 Male Yes Thur Lunch 2
16.66 3.4 Male No Thur Lunch 2
10.07 1.83 Female No Thur Lunch 1
32.68 5 Male Yes Thur Lunch 2
15.98 2.03 Male No Thur Lunch 2
34.83 5.17 Female No Thur Lunch 4
13.03 2 Male No Thur Lunch 2
18.28 4 Male No Thur Lunch 2
24.71 5.85 Male No Thur Lunch 2
21.16 3 Male No Thur Lunch 2
28.97 3 Male Yes Fri Dinner 2
22.49 3.5 Male No Fri Dinner 2
5.75 1 Female Yes Fri Dinner 2
16.32 4.3 Female Yes Fri Dinner 2
22.75 3.25 Female No Fri Dinner 2
40.17 4.73 Male Yes Fri Dinner 4
27.28 4 Male Yes Fri Dinner 2
12.03 1.5 Male Yes Fri Dinner 2
21.01 3 Male Yes Fri Dinner 2
12.46 1.5 Male No Fri Dinner 2
11.35 2.5 Female Yes Fri Dinner 2
15.38 3 Female Yes Fri Dinner 2
44.3 2.5 Female Yes Sat Dinner 3
22.42 3.48 Female Yes Sat Dinner 2
20.92 4.08 Female No Sat Dinner 2
15.36 1.64 Male Yes Sat Dinner 2
20.49 4.06 Male Yes Sat Dinner 2
25.21 4.29 Male Yes Sat Dinner 2
18.24 3.76 Male No Sat Dinner 2
14.31 4 Female Yes Sat Dinner 2
14 3 Male No Sat Dinner 2
7.25 1 Female No Sat Dinner 1
38.07 4 Male No Sun Dinner 3
23.95 2.55 Male No Sun Dinner 2
25.71 4 Female No Sun Dinner 3
17.31 3.5 Female No Sun Dinner 2
29.93 5.07 Male No Sun Dinner 4
10.65 1.5 Female No Thur Lunch 2
12.43 1.8 Female No Thur Lunch 2
24.08 2.92 Female No Thur Lunch 4
11.69 2.31 Male No Thur Lunch 2
13.42 1.68 Female No Thur Lunch 2
14.26 2.5 Male No Thur Lunch 2
15.95 2 Male No Thur Lunch 2
12.48 2.52 Female No Thur Lunch 2
29.8 4.2 Female No Thur Lunch 6
8.52 1.48 Male No Thur Lunch 2
14.52 2 Female No Thur Lunch 2
11.38 2 Female No Thur Lunch 2
22.82 2.18 Male No Thur Lunch 3
19.08 1.5 Male No Thur Lunch 2
20.27 2.83 Female No Thur Lunch 2
11.17 1.5 Female No Thur Lunch 2
12.26 2 Female No Thur Lunch 2
18.26 3.25 Female No Thur Lunch 2
8.51 1.25 Female No Thur Lunch 2
10.33 2 Female No Thur Lunch 2
14.15 2 Female No Thur Lunch 2
16 2 Male Yes Thur Lunch 2
13.16 2.75 Female No Thur Lunch 2
17.47 3.5 Female No Thur Lunch 2
34.3 6.7 Male No Thur Lunch 6
41.19 5 Male No Thur Lunch 5
27.05 5 Female No Thur Lunch 6
16.43 2.3 Female No Thur Lunch 2
8.35 1.5 Female No Thur Lunch 2
18.64 1.36 Female No Thur Lunch 3
11.87 1.63 Female No Thur Lunch 2
9.78 1.73 Male No Thur Lunch 2
7.51 2 Male No Thur Lunch 2
14.07 2.5 Male No Sun Dinner 2
13.13 2 Male No Sun Dinner 2
17.26 2.74 Male No Sun Dinner 3
24.55 2 Male No Sun Dinner 4
19.77 2 Male No Sun Dinner 4
29.85 5.14 Female No Sun Dinner 5
48.17 5 Male No Sun Dinner 6
25 3.75 Female No Sun Dinner 4
13.39 2.61 Female No Sun Dinner 2
16.49 2 Male No Sun Dinner 4
21.5 3.5 Male No Sun Dinner 4
12.66 2.5 Male No Sun Dinner 2
16.21 2 Female No Sun Dinner 3
13.81 2 Male No Sun Dinner 2
17.51 3 Female Yes Sun Dinner 2
24.52 3.48 Male No Sun Dinner 3
20.76 2.24 Male No Sun Dinner 2
31.71 4.5 Male No Sun Dinner 4
10.59 1.61 Female Yes Sat Dinner 2
10.63 2 Female Yes Sat Dinner 2
50.81 10 Male Yes Sat Dinner 3
15.81 3.16 Male Yes Sat Dinner 2
7.25 5.15 Male Yes Sun Dinner 2
31.85 3.18 Male Yes Sun Dinner 2
16.82 4 Male Yes Sun Dinner 2
32.9 3.11 Male Yes Sun Dinner 2
17.89 2 Male Yes Sun Dinner 2
14.48 2 Male Yes Sun Dinner 2
9.6 4 Female Yes Sun Dinner 2
34.63 3.55 Male Yes Sun Dinner 2
34.65 3.68 Male Yes Sun Dinner 4
23.33 5.65 Male Yes Sun Dinner 2
45.35 3.5 Male Yes Sun Dinner 3
23.17 6.5 Male Yes Sun Dinner 4
40.55 3 Male Yes Sun Dinner 2
20.69 5 Male No Sun Dinner 5
20.9 3.5 Female Yes Sun Dinner 3
30.46 2 Male Yes Sun Dinner 5
18.15 3.5 Female Yes Sun Dinner 3
23.1 4 Male Yes Sun Dinner 3
15.69 1.5 Male Yes Sun Dinner 2
19.81 4.19 Female Yes Thur Lunch 2
28.44 2.56 Male Yes Thur Lunch 2
15.48 2.02 Male Yes Thur Lunch 2
16.58 4 Male Yes Thur Lunch 2
7.56 1.44 Male No Thur Lunch 2
10.34 2 Male Yes Thur Lunch 2
43.11 5 Female Yes Thur Lunch 4
13 2 Female Yes Thur Lunch 2
13.51 2 Male Yes Thur Lunch 2
18.71 4 Male Yes Thur Lunch 3
12.74 2.01 Female Yes Thur Lunch 2
13 2 Female Yes Thur Lunch 2
16.4 2.5 Female Yes Thur Lunch 2
20.53 4 Male Yes Thur Lunch 4
16.47 3.23 Female Yes Thur Lunch 3
26.59 3.41 Male Yes Sat Dinner 3
38.73 3 Male Yes Sat Dinner 4
24.27 2.03 Male Yes Sat Dinner 2
12.76 2.23 Female Yes Sat Dinner 2
30.06 2 Male Yes Sat Dinner 3
25.89 5.16 Male Yes Sat Dinner 4
48.33 9 Male No Sat Dinner 4
13.27 2.5 Female Yes Sat Dinner 2
28.17 6.5 Female Yes Sat Dinner 3
12.9 1.1 Female Yes Sat Dinner 2
28.15 3 Male Yes Sat Dinner 5
11.59 1.5 Male Yes Sat Dinner 2
7.74 1.44 Male Yes Sat Dinner 2
30.14 3.09 Female Yes Sat Dinner 4
12.16 2.2 Male Yes Fri Lunch 2
13.42 3.48 Female Yes Fri Lunch 2
8.58 1.92 Male Yes Fri Lunch 1
15.98 3 Female No Fri Lunch 3
13.42 1.58 Male Yes Fri Lunch 2
16.27 2.5 Female Yes Fri Lunch 2
10.09 2 Female Yes Fri Lunch 2
20.45 3 Male No Sat Dinner 4
13.28 2.72 Male No Sat Dinner 2
22.12 2.88 Female Yes Sat Dinner 2
24.01 2 Male Yes Sat Dinner 4
15.69 3 Male Yes Sat Dinner 3
11.61 3.39 Male No Sat Dinner 2
10.77 1.47 Male No Sat Dinner 2
15.53 3 Male Yes Sat Dinner 2
10.07 1.25 Male No Sat Dinner 2
12.6 1 Male Yes Sat Dinner 2
32.83 1.17 Male Yes Sat Dinner 2
35.83 4.67 Female No Sat Dinner 3
29.03 5.92 Male No Sat Dinner 3
27.18 2 Female Yes Sat Dinner 2
22.67 2 Male Yes Sat Dinner 2
17.82 1.75 Male No Sat Dinner 2
18.78 3 Female No Thur Dinner 2
Program:
import pandas as pd
# reading the database
data = pd.read_csv("tips.csv")
# printing the top 10 rows
display(data.head(10))
import pandas as pd
import matplotlib.pyplot as plt
# reading the database
data = pd.read_csv("tips.csv")
# Scatter plot with day against tip
plt.scatter(data['day'], data['tip'])
# Adding Title to the Plot
plt.title("Scatter Plot")
# Setting the X and Y labels
plt.xlabel('Day')
plt.ylabel('Tip')
plt.show()
import pandas as pd
import matplotlib.pyplot as plt
# reading the database
data = pd.read_csv("tips.csv")
# Scatter plot with day against tip
plt.scatter(data['day'], data['tip'], c=data['size'],
s=data['total_bill'])
# Adding Title to the Plot
plt.title("Scatter Plot")
# Setting the X and Y labels
plt.xlabel('Day')
plt.ylabel('Tip')
plt.colorbar()
plt.show()
import pandas as pd
import matplotlib.pyplot as plt
# reading the database
data = pd.read_csv("tips.csv")
# Scatter plot with day against tip
plt.plot(data['tip'])
plt.plot(data['size'])
# Adding Title to the Plot
plt.title("Scatter Plot")
# Setting the X and Y labels
plt.xlabel('Day')
plt.ylabel('Tip')
plt.show()
import pandas as pd
import matplotlib.pyplot as plt
# reading the database
data = pd.read_csv("tips.csv")
# Bar chart with day against tip
plt.bar(data['day'], data['tip'])
plt.title("Bar Chart")
# Setting the X and Y labels
plt.xlabel('Day')
plt.ylabel('Tip')
# Adding the legends
plt.show()
import pandas as pd
import matplotlib.pyplot as plt
# reading the database
data = pd.read_csv("tips.csv")
# histogram of total_bills
plt.hist(data['total_bill'])
plt.title("Histogram")
# Adding the legends
plt.show()
# importing packages
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
# reading the database
data = pd.read_csv("tips.csv")
# draw lineplot
sns.lineplot(x="sex", y="total_bill", data=data)
# setting the title using Matplotlib
plt.title('Title using Matplotlib Function')
plt.show()
# importing packages
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
# reading the database
data = pd.read_csv("tips.csv")
sns.scatterplot(x='day', y='tip', data=data,)
plt.show()
# importing packages
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
# reading the database
data = pd.read_csv("tips.csv")
sns.scatterplot(x='day', y='tip', data=data,
hue='sex')
plt.show()
# importing packages
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
# reading the database
data = pd.read_csv("tips.csv")
sns.lineplot(x='day', y='tip', data=data)
plt.show()
3.
import numpy as np
# Input data
X = np.array([[2, 9], [1, 5], [3, 6]], dtype=float)
y = np.array([[92], [86], [89]], dtype=float)
# Normalize the input features
X = X / np.amax(X, axis=0) # maximum of X array longitudinally
y = y / 100 # Normalize target values
# Sigmoid function
def sigmoid(x):
return 1 / (1 + np.exp(-x))
# Derivative of Sigmoid function
def derivatives_sigmoid(x):
return x * (1 - x)
# Setting parameters
epoch = 5000 # Setting training iterations
learning_rate = 0.1 # Setting learning rate
input_layer_neurons = 2 # Number of features in data set
hidden_layer_neurons = 3 # Number of hidden neurons
output_neurons = 1 # Output neurons
# Weight and bias initialization
wh = np.random.uniform(size=(input_layer_neurons, hidden_layer_neurons))
wout = np.random.uniform(size=(hidden_layer_neurons, output_neurons))
bh = np.random.uniform(size=(1, hidden_layer_neurons))
bout = np.random.uniform(size=(1, output_neurons))
# Training the model
for i in range(epoch):
# Forward propagation
hinp1 = np.dot(X, wh) + bh
hlayer_act = sigmoid(hinp1)
outinp1 = np.dot(hlayer_act, wout) + bout
output = sigmoid(outinp1)
# Backpropagation
EO = y - output # Error
outgrad = derivatives_sigmoid(output)
d_output = EO * outgrad
# How much hidden layer weights contributed to error
hiddengrad = derivatives_sigmoid(hlayer_act)
d_hiddenlayer = d_output.dot(wout.T) * hiddengrad
# Update weights and biases
wout += hlayer_act.T.dot(d_output) * learning_rate
wh += X.T.dot(d_hiddenlayer) * learning_rate
bh += np.sum(d_hiddenlayer, axis=0, keepdims=True) * learning_rate
bout += np.sum(d_output, axis=0, keepdims=True) * learning_rate
# Print results
print("Input: \n" + str(X))
print("Actual Output: \n" + str(y))
print("Predicted Output: \n" + str(output))