我是一名机器学习的初学者,由于我喜欢使用JavaScript,最近我开始使用TensorFlow.js库。我尝试了两种应用,一种是针对合成数据的曲线拟合,这是一个回归问题;另一种是使用卷积层进行的MNIST数字识别,这是一个分类问题。现在我大致了解了数据如何在层之间流动。
但现在我想利用这个库做更多的事情。所以我从开放数据集中下载了wine-quality.csv数据集,该数据集包含了葡萄酒中不同成分的数量,并评估出葡萄酒的某种质量。从.csv文件解析出来的数据大致如下所示。
xs : [[5]]ys : [[0.5,0.004,0.003,0.1,4,0.11]]
现在我想将葡萄酒的成分数量(YS)输入到模型中,并希望模型预测出葡萄酒的质量(XS)。但我不知道如何设计这个模型。请问我该怎么做呢?
回答:
您的输入数组维度为1,大小为6。可以使用随机梯度下降优化器定义以下模型。
const model = tf.sequential();// 首先定义模型model.add(tf.layers.dense({units: 1, inputShape: [6]}));// 使用sgd优化器model.compile({loss: 'meanSquaredError', optimizer: 'sgd'});const x = tf.tensor2d([[0.5,0.004,0.003,0.1,4,0.11]])const y = tf.tensor2d([[5]])// 训练数据model.fit(x, y)// 测试数据model.predict(tf.tensor2d([0.5,0.004,0.003,0.1,4,0.11], [1, 6])).print()
<html> <head> <!-- 加载TensorFlow.js --> <script src="https://cdn.jsdelivr.net/npm/@tensorflow/[email protected]"> </script> </head> <body> </body></html>