[英]Basic training of ML5 neural network not working
我正在使用 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()
控制台立即顯示“完成”。 但是 model 沒有經過訓練。 沒有錯誤信息,奇怪的是,當 label 名稱不正確時。 然后我確實得到了一個錯誤。 所以 label 名稱實際上是被識別的。
原始 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
以防萬一有人遇到這個問題:當你分類時,label 總是必須是一個字符串......
工作 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
我不確定這是否會有所幫助,但據我所知,所有輸入都應該是數字。 但是如果演示有效,那么代碼應該可以工作。 當涉及到 ML5 時,您必須注意 CSV 文件。 確保您嘗試預測的 output 是一個字符串。 如果您使用只有數字的 csv 並試圖將數字預測為 output 那么您應該將任務更改為:分類到回歸。 如果您願意,也可以嘗試此代碼:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.