我是神经网络的新手(只是免责声明)。
我有一个基于 8 个特征预测混凝土强度的回归问题。我首先做的是使用最小-最大标准化重新调整数据:
# Normalize data between 0 and 1
from sklearn.preprocessing import MinMaxScaler
min_max = MinMaxScaler()
dataframe2 = pd.DataFrame(min_max.fit_transform(dataframe), columns = dataframe.columns)
Run Code Online (Sandbox Code Playgroud)
然后将数据帧转换为numpy数组并将其拆分为X_train,y_train,X_test,y_test。现在这是网络本身的 Keras 代码:
from keras.models import Sequential
from keras.layers import Dense, Activation
#Set the params of the Neural Network
batch_size = 64
num_of_epochs = 40
hidden_layer_size = 256
model = Sequential()
model.add(Dense(hidden_layer_size, input_shape=(8, )))
model.add(Activation('relu'))
model.add(Dense(hidden_layer_size))
model.add(Activation('relu'))
model.add(Dense(hidden_layer_size))
model.add(Activation('relu'))
model.add(Dense(1))
model.add(Activation('linear'))
model.compile(loss='mean_squared_error', # using the mean squared error function
optimizer='adam', # using the Adam optimiser
metrics=['mae', …Run Code Online (Sandbox Code Playgroud)