Skip to content
DL_ANN
import pandas as pd
import tensorflow as tf
import seaborn as sns
import matplotlib.pyplot as pltdf =pd.read_csv("train_cleaned.csv")
df.head()df.info()#plt.figure(figsize=(10,7))
cols = df.columns.to_list()
ax, fig = plt.subplots(16, 3)
for i, j in enumerate(df.columns):
ax[] = df[[i]].plot(kind="box")
#ax = df[cols].plot(kind="box")
plt.show()x = df.drop("Item_Outlet_Sales",axis=1)
y = df["Item_Outlet_Sales"]from sklearn.model_selection import train_test_split
from sklearn.preprocessing import MinMaxScaler
x_train, x_test, y_train, y_test = train_test_split(x,y,test_size=0.2,random_state=17)
scaler = MinMaxScaler()
scaler.fit(x_train)
x_train = scaler.transform(x_train)
x_test = scaler.transform(x_test)from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Activation,Dropout
from tensorflow.keras.callbacks import EarlyStoppingearly_stop = EarlyStopping(monitor='val_loss', mode='min', verbose=1, patience=20)ncols = x_train.shape[1]
model1 = Sequential([
tf.keras.layers.InputLayer(input_shape=(ncols,)),
tf.keras.layers.Dense(units=45, activation="relu"),
tf.keras.layers.Dense(units=100, activation="relu"),
tf.keras.layers.Dense(units=90, activation="relu"),
tf.keras.layers.Dense(units=70, activation="selu"),
tf.keras.layers.Dense(units=50, activation="selu"),
tf.keras.layers.Dense(1)
])model1.compile(loss='mae', optimizer='adam')model1.fit(x=x_train,
y=y_train,
epochs=50,
validation_data=(x_test, y_test), verbose=1,
callbacks=[early_stop]
)ncols = x_train.shape[1]
model2 = Sequential([
tf.keras.layers.InputLayer(input_shape=(ncols,)),
tf.keras.layers.Dense(units=45, activation="relu"),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.Dense(units=100, activation="relu"),
tf.keras.layers.Dense(units=90, activation="relu"),
tf.keras.layers.Dropout(0.3),
tf.keras.layers.Dense(units=70, activation="selu"),
tf.keras.layers.Dropout(0.5),
tf.keras.layers.Dense(units=50, activation="selu"),
tf.keras.layers.Dense(1)
])model2.compile(loss='mse', optimizer='adam')model2.fit(x=x_train,
y=y_train,
epochs=300,
validation_data=(x_test, y_test), verbose=1,
callbacks=[early_stop]
)