ML5 神经网络的基础训练不起作用

Basic training of ML5 neural network not working

我正在使用 ML5 训练神经网络。 我正在加载一个包含泰坦尼克号数据的 CSV 文件。 This works when I download the demo file from the 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

以防万一有人遇到这个问题:分类时,标签必须始终是字符串....

工作 CSV 文件:

Survived,Pclass,Sex,Age,SibSp,Parch,Fare,Embarked
yes,3,1,22.0,1,0,7.25,1
no,1,0,38.0,1,0,71.2833,2