Professional Documents
Culture Documents
ANNEX C Codes - Corrected
ANNEX C Codes - Corrected
import numpy as np
import pandas as pd
import tensorflow as tf
import math
data.head()
#X_train,X_val,y_stability_train,y_val=
train_test_split(X_train1,y_stability_train1,test_size=0.20, random_state=42)
print(len(y_stability))
#print(len(y_val))
print(len(y_stability_test))
print(len(y_stability_train))
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
#X_val=scaler.fit_transform(X_val)
X_test = scaler.transform(X_test)
Nol =6
l=115
u=116
m=7
model_stability = Sequential()
early_stopping_epoch=[]
model_stability.add(Dense(units=21, activation='ReLU',
input_dim=X_train.shape[1]))
#model_stability.add(Dense(units=20, activation='ReLU',
input_dim=X_train.shape[1])) #sigmoid, Relu,tanh
#model_stability.add(Dropout(0.5))
j=NoN
for i in range (1,Nol+1):# with NON neurol and NOL number of hidden layer are
formed in model model _stability
model_stability.add(Dense(units=j, activation='ReLU'))
#j = max(int(j * 0.9), 2)
#model_stability.add(Dense(units=NoN, activation='ReLU'))
#model_stability.add(Dropout(0.5))
'''if j == 1:
model_stability.add(Dense(units=j, activation='linear'))
else:
model_stability.add(Dense(units=j, activation='ReLU'))
model_stability.add(Dense(units=1, activation='linear'))
#import tensorflow as tf Sigmoids and tanh functions are sometimes avoided due to
the vanishing gradient problem
#custom_optimizer1 = RectifiedAdam(learning_rate=0.001)
custom_optimizer1 = Adam(learning_rate=0.001)
model_stability.compile(optimizer=custom_optimizer1,
loss='mean_squared_error', metrics=['mae']) #Mean Absolute Error (MAE)
#epochs
a=250
#early_stopping_epoch. append(early_stopping.stopped_epoch)
#train model
#early_stopping_epoch. append(early_stopping.stopped_epoch)
model_stability.summary()
model_filename =
f"{model_directory}model_Airvoids_ReLU_Nol_{Nol}_NoN_{NoN}.h5"
model_stability.save(model_filename)
train_loss_S = history_S.history['loss']
val_loss_S = history_S.history['val_loss']
output_values_loss_stability_train.append(float(f"{loss_s_train:.4f}"))
output_values_mae_stability_train.append(float(f"{mae_s_train:.4f}"))
predictions_stability_train = model_stability.predict(X_train)
# R Sqare Calculation :
output_values_r2_stability_train.append(float(f"{r2_stability_train:.4f}"))
# Correlation calculaiton :
stability_corr_train = np.corrcoef(y_stability_train,
predictions_stability_train.flatten())[0, 1]
stability_rmse_train = math.sqrt(mean_squared_error(y_stability_train,
predictions_stability_train))
output_values_rmse_stability_train.append(float(f"{stability_rmse_train:.4f}"))
stability_rse_train = np.sqrt(np.sum(stability_residuals_train ** 2) /
(len(y_stability_train) - 1))
output_values_rse_stability_train.append(float(f"{stability_rse_train:.4f}"))
output_values_loss_stability.append(float(f"{loss_s:.4f}"))
# Make predictions
#validation works
predictions_stability = model_stability.predict(X_test)
r2_stability = r2_score(y_stability_test, predictions_stability)
#formatted_r2_stability = float(f"{r2_stability:.4f}")
output_values_r2_stability.append(float(f"{r2_stability:.4f}"))
#output_values_r2_stability.append(float(f"{integer_part}.{decimal_part[:4]}"))
# Correlation calculaiton :
output_values_r_stability.append(float(f"{stability_corr:.4f}"))
stability_rmse = math.sqrt(mean_squared_error(y_stability_test,
predictions_stability))
output_values_rmse_stability.append(float(f"{stability_rmse:.4f}"))
output_values_rse_stability.append(float(f"{stability_rse:.4f}"))
filename =
f"{output_directory}output_values_Airvoids_ReLU_train_Nol_{Nol}_NoN_{NoN}.
txt" ## Open the file for writing and save the lists
for values in
zip(output_values_loss_stability_train,output_values_mae_stability_train,output_valu
es_r2_stability_train,output_values_r_stability_train,output_values_rse_stability_trai
n,output_values_rmse_stability_train):
filename =
f"{output_directory}output_values_Airvoids_ReLU_Nol_{Nol}_NoN_{NoN}.txt"
## Open the file for writing and save the lists
file.write("\tLoss\tMAE\tR2\tR\tRSE\tRMSE\tepoch\n")
for values in
zip(output_values_loss_stability,output_values_mae_stability,output_values_r2_stabil
ity,output_values_r_stability,output_values_rse_stability,output_values_rmse_stabilit
y):
#Data Storage
output_values_loss_stability_train1.append(output_values_loss_stability_train)
model_stability.summary()