我正在使用 Playground 使用 CreateML 创建文本分类器模型并不断收到错误消息:
Playground execution terminated: An error was thrown and was not caught:
▿ The validation data provided must contain class.
▿ type : 1 element
- reason : "The validation data provided must contain class."
我的代码相对简单,使用数据表中的两列。textColumn 标记为“text”,labelColumn 标记为“class”:
import Cocoa
import CreateML
let data = try MLDataTable(contentsOf: URL(fileURLWithPath: "/Users/ ... .csv"))
let(trainingData, testingData) = data.randomSplit(by: 0.8, seed: 5)
let sentimentClassifier = try MLTextClassifier(trainingData: trainingData, textColumn: "text", labelColumn: "class")
let evaluationMetrics = sentimentClassifier.evaluation(on: testingData, textColumn: "text", labelColumn: "class")
let evaluationAccuracy = (1.0 - evaluationMetrics.classificationError) * 100
我可以发现这与 Apple Developer Documentation 中提供的代码之间的唯一区别是,而不是
let evaluationMetrics = sentimentClassifier.evaluation(on: testingData, textColumn: "text", labelColumn: "class")
他们的文件是:
let evaluationMetrics = sentimentClassifier.evaluation(on: testingData)
如果我尝试使用 Apple Developer Documentation 中的行,Xcode 的 11.2.1 版会失败。
提前感谢您提供的任何帮助。