【发布时间】:2019-08-21 00:34:01
【问题描述】:
我的输入只是一个包含 45781 行和两列的 csv 文件。我正在尝试在神经网络上训练我的数据,但是当我尝试拟合模型时,它会抛出一个错误。
ValueError: Error when checking input: expected dense_26_input to have shape (45781,) but got array with shape (2,)
我尝试实施此链接给出的解决方案:
但我仍然无法运行代码。这是我的代码:
X = df.iloc[:, 0:2].values
y = df.iloc[:, 2].values
df_sklearn = df.copy()
lb_make = LabelEncoder()
df_sklearn['Type'] = lb_make.fit_transform(df['Type'])
df_sklearn.head() #Results in appending a new column to df
df_onehot = df.copy()
df_onehot = pd.get_dummies(df_onehot, columns=['Type'], prefix = ['Type'])
df_onehot_sklearn = df.copy()
lb = LabelBinarizer()
lb_results = lb.fit_transform(df_onehot_sklearn['Type'])
lb_results_df = pd.DataFrame(lb_results, columns=lb.classes_)
result_df = pd.concat([df_onehot_sklearn, lb_results_df], axis=1)
X_train, X_test, y_train, y_test = train_test_split(X, lb_results_df, test_size = 0.4)
classifier = Sequential()
classifier.add(Dense(output_dim = 6, init = 'uniform', activation = 'relu', input_dim = 45781))
classifier.add(Dense(output_dim = 6, init = 'uniform', activation = 'relu'))
classifier.add(Dense(output_dim = 1, init = 'uniform', activation = 'sigmoid'))
classifier.compile(optimizer = 'adam', loss = 'binary_crossentropy', metrics = ['accuracy'])
classifier.fit(X_train, y_train, batch_size = 10, nb_epoch = 100)
【问题讨论】:
标签: python machine-learning neural-network