所以我想训练一个MLClassifier来识别特定的设备动作。
因此,我要做的是记录运动数据和相应记录的非常记录的数据。当这并没有达到我希望的那样时,我开始意识到我必须记录“运动”本身,而不仅仅是暂时地。

因此,我连续打包了5个数据集(字典),这是我的新训练功能。所以我想,但是尝试训练我的新数据时,我看到了尝试创建我的分类器时遇到的错误:


  列“ s”中遇到的值不能为“ dictionary”类型
  映射到分类值。分类值必须是整数,
  字符串,或无。


现在,我正在慢慢放弃...你们中有没有人提出建议或知道为什么我不能使用序列(数组)作为特征?

...

顺便说一句,这是我的JSON的一些示例数据:

[{"s":[{"rZ":-1.0,"p":0.2,"aY":-0.0,"rX":1.5,"y":0.1,"r":-1.3,"aZ":0.2,"rY":-2.8,"aX":0.6},{"rZ":-1.9,"p":0.2,"aY":0.0,"rX":2.0,"y":0.2,"r":-1.4,"aZ":0.0,"rY":-3.2,"aX":0.5},{"rZ":-1.8,"p":0.3,"aY":0.0,"rX":2.4,"y":0.2,"r":-1.5,"aZ":0.9,"rY":-4.8,"aX":0.5},{"rZ":-1.6,"p":0.3,"aY":0.0,"rX":2.5,"y":0.3,"r":-1.6,"aZ":0.9,"rY":-3.8,"aX":0.6},{"rZ":-1.8,"p":0.3,"aY":0.1,"rX":2.2,"y":0.3,"r":-1.7,"aZ":0.1,"rY":-3.0,"aX":0.6}],"v":0}]

以及用于创建模型的代码:

do{
    let a = try MLDataTable(contentsOf: dummyJSONurl)
    let recognizer = try MLClassifier(trainingData: a, targetColumn: "v")
}catch let er{
    er
}

最佳答案

您不能使用序列,因为MLClassifier不能用于序列。也许Apple会在将来的版本中添加此功能,但现在看来您必须使用功能更强大的工具。

09-15 20:13