无法使用整数数组解决Tensorflow中的多类多标签问题

2024-05-29 10:35:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包含6列的2000行数据集。我生成了一个数据集,其中对每一组4个点计算声学1和声学2。下表所示:

^{tb1}$

Screenshot of dataset

声学1和声学2是浮点数,位置是0到9之间的整数。我试图训练模型,以了解从1到4的哪个阵列或“集合”或点对应于哪个声学1和2值。最终目标是能够保存模型并预测点1至4,以实现所需的声学1和声学2值

我遇到的问题是,我无法完全弄清楚如何设置和塑造模型。这就是我目前正在尝试的:

xp = data[['Point1','Point2','Point3','Point4']].to_numpy()
X = data.iloc[:,0:2]
y = xp
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state = 21)
model = tf.keras.models.Sequential()
model.add(tf.keras.layers.Dense(128, input_shape=(2,), activation='relu')) #I think my input shape may be incorrect and I am not able to figure this out completely
model.add(tf.keras.layers.Dense(64, activation='relu'))
model.add(tf.keras.layers.Dense(32, activation='relu'))
model.add(tf.keras.layers.Dense(4, activation="softmax"))
model.compile(loss="categorical_crossentropy", optimizer='adam', metrics=['accuracy']) 

我的损失超出了统计范围,而且准确率极低。有没有人能找出问题所在?如蒙指教,不胜感激。如果一个colab文件将有助于看到让我知道,我可以提供一个链接。谢谢


Tags: 数据模型testadddatamodellayerstf
1条回答
网友
1楼 · 发布于 2024-05-29 10:35:59

在进行train_test_split之前,您应该缩放数据See how Data Scaling Improve Deep Learning。当你的输入很大时,神经网络就不能很好地工作。声学1绝对应该重新缩放

<>如果你期望你的模型是高度非线性的,你应该考虑在第一个隐藏层中使用乙状结肠激活(即,128个单位的一个)。relu主要是线性的

祝你好运

相关问题 更多 >

    热门问题