Notes on learning about Keras Regression Models:
# !pip install numpy==2.0.2
# !pip install pandas==2.2.2
# !pip install tensorflow_cpu==2.18.0
import os
os.environ['TF_ENABLE_ONEDNN_OPTS'] = '0'
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
import pandas as pd
import numpy as np
import keras
import warnings
from keras.models import Sequential
from keras.layers import Dense
from keras.layers import Input
warnings.simplefilter('ignore', FutureWarning)
filepath='https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/DL0101EN/labs/data/concrete_data.csv'
concrete_data = pd.read_csv(filepath)
# take a look at the data
concrete_data.head()
concrete_data.shape # (1030, 9)
# take a look at the data
concrete_data.describe()
# check for missing values
concrete_data.isnull().sum()
# all columns except Strength which is what we will predict
concrete_data_columns = concrete_data.columns
predictors = concrete_data[concrete_data_columns[concrete_data_columns != 'Strength']] # all columns except Strength
target = concrete_data['Strength'] # Strength column
# sanity check
predictors.head()
target.head()
# normalize the data
predictors_norm = (predictors - predictors.mean()) / predictors.std()
predictors_norm.head()
n_cols = predictors_norm.shape[1] # number of predictors
# Create our model
def regression_model():
model = Sequential()
model.add(Input(shape=(n_cols,)))
model.add(Dense(50, activation='relu'))
model.add(Dense(50, activation='relu'))
model.add(Dense(1))
model.compile(optimizer='adam', loss='mean_squared_error')
return model
model = regression_model()
model.fit(predictors_norm, target, validation_split=0.3, epochs=100, verbose=2)

