我正在使用 ML5 来训练神经网络。我正在加载一个包含泰坦尼克号数据的 CSV 文件。这在我从 ML5 GitHub 下载演示文件时有效。
但是,当我使用不同的 CSV 文件并替换代码中的列名时,它会停止工作。我错过了什么吗?我的 CSV 文件包含数字,而演示文件包含字符串,这是一个问题吗?
let neuralNetwork
function start() {
const nnOptions = {
dataUrl: "data/titanic.csv",
inputs: ["Pclass", "Sex", "Age", "SibSp"], // labels from my CSV file
outputs: ["Survived"],
task: "classification",
debug: true,
};
neuralNetwork = ml5.neuralNetwork(nnOptions, modelReady);
}
function modelReady() {
neuralNetwork.normalizeData();
neuralNetwork.train({ epochs: 50 }, whileTraining, finishedTraining);
}
// this doesn't get called at all
function whileTraining(epoch, logs) {
console.log(`Epoch: ${epoch} - loss: ${logs.loss.toFixed(2)}`);
}
// this gets called immediately
function finishedTraining() {
console.log("done!");
}
start()
控制台立即显示“完成!”,但模型没有经过训练。没有错误信息。奇怪的是,当标签名称不正确时,我确实会收到错误消息。所以标签名称实际上是被识别的。
原始 CSV 文件,工作:
survived,fare_class,sex,age,fare
died,first,male,39,0
died,first,male,29,0
我的 CSV 文件,无法正常工作:
Survived,Pclass,Sex,Age,SibSp,Parch,Fare,Embarked
0,3,1,22.0,1,0,7.25,1
1,1,0,38.0,1,0,71.2833,2