【发布时间】:2021-08-30 00:29:38
【问题描述】:
我正在尝试为分类模型构建 Keras 模型,但在尝试拟合数据时出现错误。
ValueError: Shapes (None, 99) 和 (None, 2) 不兼容
代码:
import warnings
warnings.filterwarnings(action = 'ignore')
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.metrics import confusion_matrix, classification_report
import keras
from keras.models import Sequential
from keras.layers import Dense
from keras.utils import to_categorical
df = pd.read_csv('train.csv')
del df['ST_CASE']
df
target_column = ['MVISOBSC']
predictors = list(set(list(df.columns))-set(target_column))
df[predictors] = df[predictors]/df[predictors].max()
X = df[predictors].values
y = df[target_column].values
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.30, random_state=42)
print(X_train.shape); print(X_test.shape)
y_train = to_categorical(y_train)
y_test = to_categorical(y_test)
model = Sequential()
model.add(Dense(500, activation='relu', input_dim=6))
model.add(Dense(100, activation='relu'))
model.add(Dense(50, activation='relu'))
model.add(Dense(2, activation='softmax'))
model.compile(optimizer='adam',
loss='categorical_crossentropy',
metrics=['accuracy'])
try:
model.fit(X_train, y_train, epochs = 20)
except Exception as e:
print(e)
形状值:
X_train = (1282, 6)
X_test = (550, 6)
y_train = (1282)
y_test = (550)
我也尝试过重塑 X_train 和 X_test,但对错误没有任何影响。
【问题讨论】:
-
“不编译”在这里没有意义,Keras 模型并没有真正编译。
标签: python pandas tensorflow keras neural-network