Bonjour à tous!
J’ai des difficultés après entrainement d’un model CNN 1D sans encombre.
je suis dans l’impossibilité de générer une table de confusion.
en preprocessing j’ai utilisé un smote.X_train y_train
deviennent X_sm
et y_sm
puis
scaler = StandardScaler()
X_sm =scaler.fit_transform(X_sm)
X_test = scaler.transform(X_test)
puis one hot encoder pour la target:
y_sm = to_categorical(y_sm)
y_test = to_categorical(y_test)
ensuite un reshape pour obtenir des inputs adaptés
X_train_cnn = np.reshape(X_sm, (X_sm.shape[0], X_sm.shape[1], 1))
X_test_cnn = np.reshape(X_test, (X_test.shape[0], X_test.shape[1], 1))
et après entrainement
pred_class = model.predict(X_test).argmax(axis = 1)
fonctionne
mais je doit faire un flatten sur y_test car les dimensions ne correspondent pas
pred_class = model.predict(X_test).argmax(axis = 1)
confusion_matrix(y_test.flatten(), pred_class)
InvalidArgumentError: Graph execution error:
transpose expects a vector of size 3. But input(1) is a vector of size 4
[[{{node sequential/conv1d/Conv1D-0-TransposeNHWCToNCHW-LayoutOptimizer}}]] [Op:__inference_predict_function_442783]