0
我有看起来像这样的结构化数据。使我的数据适合Keras Sequential模型和密集层并产生输出
faults.head()
Fault DEALER FAILMODE FAILCODEMODE DAYS UNTIL FAILURE TERRITORY CODE DESIGN PHASE CODE PLANT ID CODE
0 CAMPAIGN/TRP 31057 CAMPAIGN BNRBC1 283.0 102 62 82
1 INTERMITTENT PROBL 24126 SPECIAL (NO FAILURE) XXIPNF 126.0 102 62 82
2 DSID #DSBCG2058 TAG #362783 EXHAUST SYSTEM. U... 0 CLOGGED, PLUGGED WITH FOREIGN MATERIAL, DIRT/D... USDVDR 118.0 102 62 82
3 INTERMITTENT PROBL 20943 SPECIAL (NO FAILURE) XXIPNF 97.0 102 62 82
4 CAMPAIGN 19134 CAMPAIGN USSCR1 315.0 102 62 82
我试图预测类FAILMODE。 FAILMODE中只有122个唯一值。那些是我的课程。
基于行中的所有其他数据,我想要一个单独的矩阵,或者甚至类本身都是我测试集上计算的结果。这里是我的代码,所以远
from keras.models import Sequential
from keras.layers import Dense
Using Theano backend.
faults_testing = faults[:14843]
faults_training = faults[14844:]
model = Sequential()
model.add(Dense(len(faults.FAILMODE.unique()) + 20, input_dim=len(faults_training), init='uniform', activation='relu'))
model.add(Dense(len(faults_training), init='uniform', activation='relu'))
model.add(Dense(len(faults.FAILMODE.unique()), init='uniform', activation='sigmoid'))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
这里是哪里,我不知道什么是X或Y是这样的教程says-
model.fit(X, Y, nb_epoch=len(faults_training), batch_size=10)
我只是尝试以下各项
model.fit(faults_training['FAILMODE'], faults_testing['FAILMODE'], nb_epoch=len(faults_training), batch_size=10)
导致出现此错误 -
ValueError Traceback (most recent call last)
<ipython-input-54-e8765933cfb9> in <module>()
----> 1 model.fit(faults_training['FAILMODE'], faults_testing['FAILMODE'], nb_epoch=len(faults_training), batch_size=10)
ValueError: Error when checking model input: expected dense_input_1 to have shape (None, 34631) but got array with shape (34631L, 1L)
Ple你的答案要彻底。谢谢!
我试着说你的话,这似乎是正确的方法,但现在我得到了'ValueError:发现输入变量的样本数不一致:[49475,6035950]''当我做'train_test_split(X ,Y,test_size = 0.33'。当我做'Y = to_categorical(Y)'时,'len(Y)'现在是6035950,当它应该是49745之前分裂。我究竟做错了什么? – NickTheInventor
您可以向我们展示您用于将数据框转换为X和Y的代码吗? –