所以我想训练一个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会在将来的版本中添加此功能,但现在看来您必须使用功能更强大的工具。