我想使用多层Keras来对人的身高进行分类,如果身高超过170应该返回1,而低于170则返回0
data_input = [[0,165], [0,166], [0,167], [0,172], [0,173]]data_output = [0,0,0,1,1]model = keras.Sequential([ keras.layers.Flatten(input_shape=(1,)), keras.layers.Dense(2, activation=tf.nn.relu), keras.layers.Dense(2, activation=tf.nn.softmax)])model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])model.fit(data_input, data_output, epochs=5)predictions = model.predict([0,184])print(predictions)
但它给了我一个错误“ValueError: Input arrays should have the same number of samples as target arrays. Found 2 input samples and 5 target samples.”
回答:
你应该使用Numpy来包装你的输入
data_input = np.array(data_input).reshape(5 ,2)data_output = np.array(data_output).reshape(5)
顺便问一下,为什么你要用机器学习来处理这样一个简单的条件分类问题?