gpt4 book ai didi

swift - 如何从 Swift 5 中的 MLModel(机器学习模型)获得预测的置信度

转载 作者:行者123 更新时间:2023-11-30 09:58:50 24 4
gpt4 key购买 nike

尽管我的代码在尝试做的事情上非常简单,但基本上我想让分类器模型返回一个准确度/置信度值,以表明它认为预测的准确程度,在实际的 Xcode 应用程序上(不是 Playground )请

我正在使用一个虚构的狗品种分类器,它是文本分类器作为示例:

代码:

do {

if try DogClassiferModel().prediction(text: "value").confidence >= 90 {

print("We have a high enough accuracy that this is the name of a dog breed")

}

} catch let error {

print(error)
}

我知道在 Xcode 的 Playground 中你可以使用测试数据来做到这一点:

代码:

  let data = try MLDataTable(contentsOf: URL(fileURLWithPath: "Path"))

let (trainingData, testingData) = data.randomSplit(by: 0.8, seed: 5)

let testClassifier = try MLTextClassifier(trainingData: trainingData, textColumn: "text", labelColumn: "recognized")

// Getting the testing evaluation.
let evaluationMetrics = testClassifier.evaluation(on: testingData)
let evaluationAccuracy = (1.0 - evaluationMetrics.classificationError) * 100

// We can print the accuracy with print(evaluationAccuracy).

想法:也许 CoreML 并不像我尝试的那样工作,我不知道?

最佳答案

当你写作时,

try DogClassiferModel().prediction(text: "value")

返回的是一个DogClassiferModelOutput对象。如果您的模型的输出名为 confidence,您可以通过以下方式获取它:

if let output = try DogClassiferModel().prediction(text: "value") {
print(output.confidence)
}

但是,Core ML 中的分类器模型通常以特殊方式处理。他们可以返回得分最高的类别的标签,或包含所有标签的概率的字典。

了解它如何适用于您的模型的最佳方法是查看 Xcode 中的 mlmodel 文件,单击箭头转到自动生成的源代码文件,然后查找“Output”类。这将具有您可以访问的一个或多个属性(如上例所示)。

关于swift - 如何从 Swift 5 中的 MLModel(机器学习模型)获得预测的置信度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59907344/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com