Python R_平方与时代

Python R_平方与时代,python,tensorflow,machine-learning,keras,neural-network,Python,Tensorflow,Machine Learning,Keras,Neural Network,早上好,我是python初学者,我正在尝试构建我的第一个神经网络。有没有办法描绘R2的进化与时代?我用以下方法评估R2:R2_scorey_test_pred,y_test。我以这种方式构建了一个完全连接的神经网络: optimizer = tf.keras.optimizers.Adam(lr=0.001) model = Sequential() # ,kernel_regularizer=l2(c), bias_regularizer=l2(c) model.add(Dense(100,

早上好,我是python初学者,我正在尝试构建我的第一个神经网络。有没有办法描绘R2的进化与时代?我用以下方法评估R2:R2_scorey_test_pred,y_test。我以这种方式构建了一个完全连接的神经网络:

optimizer = tf.keras.optimizers.Adam(lr=0.001)
model = Sequential()

# ,kernel_regularizer=l2(c), bias_regularizer=l2(c)
model.add(Dense(100, input_shape = (X_train.shape[1],), activation = 'relu',kernel_initializer='glorot_uniform'))
model.add(Dropout(0.2))
model.add(Dense(100, activation = 'relu',kernel_initializer='glorot_uniform'))
model.add(Dropout(0.2))
model.add(Dense(100, activation = 'relu',kernel_initializer='glorot_uniform'))

model.add(Dense(1,activation = 'linear',kernel_initializer='glorot_uniform'))

model.compile(loss = 'mse', optimizer = optimizer, metrics = ['mse'])

history = model.fit(X_train, y_train, epochs = 100,
                    validation_split = 0.1, shuffle=False, batch_size=250
                    )

history_dict = history.history
`

数据集由18个特征和1个标签组成,这是一项回归任务。

您只需将其添加到编译行即可

model.compileloss='mse',优化器=优化器,指标=['mse',r2_分数] 如果您想这样做,您需要创建一个keras可以理解的度量

将tf.keras.backend作为K导入 def r2_scorey_true,y_pred: SS_res=K.sumK.squarey_true-y_pred SS_tot=K.sumK.squarey_true-K.meany_true 返回1-SS_res/SS_tot+K.epsilon 代码取自

对不起,我忘了添加张力板部件

如果您想在培训期间看到损失/指标的演变,可以使用Tensorboard,如中所示

logdir=logs/+datetime.now.strftime%Y%m%d-%H%m%S tensorboard_callback=tf.keras.callbacks.TensorBoardlog_dir=logdir 历史=model.fitX\u列车,y\u列车,历代=100, 验证分割=0.1,随机播放=False,批量大小=250,callbacks=[tensorboard\u callback] 然后使用终端中的这条线访问张力板

tensorboard-logdir日志


然后,您可以访问浏览器上的tensorboard,方法是访问localhost:6006

谢谢您的回答,我已经尝试在代码中实现了这一点,但它给出了以下错误:或:类型错误:预期的序列或数组,如,获得。我能做什么?你使用的是keras后端还是你自己的r2_分数?我猜您的r2_分数函数使用numpy数组,对吗?我在代码中替换这一行:model.compileloss='mse',optimizer=optimizer,metrics=['mse',r2_分数]。我加上了张力板的一部分。但错误仍然存在。然后我不明白我应该如何实现这一行tensorboard-logdir logs你得到的错误是因为你的r2_分数使用的是数组而不是张量。你需要使用我发布的r2_keras函数,或者更改你的r2_分数以便它可以使用keras backendtensorboard-logdir日志从终端启动,然后进入浏览器并在url栏中键入localhost:6006,即可访问tensorboard