python - 多变量/特征 Tensorflow
问题描述
我想使用多层 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:输入数组应该具有与目标数组相同数量的样本。找到 2 个输入样本和 5 个目标样本。”
解决方案
你应该使用 Numpy 来包装你的输入
data_input = np.array(data_input).reshape(5 ,2)
data_output = np.array(data_output).reshape(5)
顺便说一下,为什么你使用 ML 来计算一个简单的条件分类问题
推荐阅读
- azure-devops - 如何通过 ReST API 使用 Azure Devops 部署池
- c++ - 是否有可能有一个关联有序容器,它可以按对象的成员而不是对象本身进行排序?
- scala - Pyspark 到 Spark-scala 的转换
- excel - 使用选项保护 Office 脚本中的工作表
- python - ROS - 使用自定义 ROS 消息编写包文件时出现序列化错误
- c++ - CUDA如何从屏幕获取像素?
- android - 如何在flutter中使用table_calendar获取一个月内的所有事件?
- excel - Excel 导出经典 Ap 前导零
- java - 使用参数化参数调用方法
- netsuite - 如何使用 suitescript 2.0 在 Netsuite 中设置时间?