简单DNN模型的拟合不规则性

时间:2019-06-18 15:15:14

标签: python-3.x neural-network deep-learning keras-layer

我正在尝试为简单的二进制分类训练模型。 1:导入CSV文件 2:StandardScaler的所有功能 3:使用sklearn分割数据

然后将其插入简单的keras顺序函数中。但是当我拟合模型(verbose = 1)时,我看到每个时代都没有进展: [==============] 0s 10us / step-损耗:nan-acc:0.0000e + 00

但是;当我将output_dim更改为128到64时,它可以很好地训练模型,并且效果很好 然后,如果我再次训练同一模型,则再次给我acc:0.0000e + 00,除非更改输出暗淡,否则不会训练我的模型。它让我感到困惑!我以为可能是spyder的版本引起了此问题,但是当我在jupyter上执行相同的操作时,它也会执行相同的操作。 任何人都知道会发生什么事吗?

谢谢

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv('audit_risk.csv')
x=df.iloc[:,0:26].values
y=df.iloc[:,-1].values

from sklearn.preprocessing import StandardScaler  
scaler = StandardScaler()  
scaler.fit(x)
x= scaler.transform(x) 
from sklearn.model_selection import train_test_split  
X_train, X_test, y_train, y_test = train_test_split(x, y, test_size = 0.20) 

from keras import models
from keras import layers
from keras.models import Sequential
from keras.layers import Dense

classifier = Sequential()
classifier.add(Dense(output_dim = 128, activation = 'relu', input_dim = 26))
classifier.add(Dense(output_dim = 64, activation = 'relu'))
classifier.add(Dense(output_dim = 1, activation = 'sigmoid'))
classifier.compile(optimizer = 'adam', loss = 'binary_crossentropy', metrics = ['accuracy'])
classifier.fit(X_train,y_train, batch_size = 128, epochs = 100, verbose=1)

result = classifier.evaluate(X_train,y_train)

0 个答案:

没有答案