gpt4 book ai didi

swift - CoreML:为什么预测是一个数组?

转载 作者:行者123 更新时间:2023-11-30 10:51:40 27 4
gpt4 key购买 nike

考虑一个 csv 文件,如下所示:

number,weigth,length,depth,diameter
1,100,202,314,455
2,1040,2062,3314,4585
3,1200,2502,3134,4557
4,1500,2052,3143,4655
...

和这样的代码

let csvFile = Bundle.main.url(forResource: "myData", withExtension: "csv")!
let dataTable = try! MLDataTable(contentsOf: csvFile)

//打印(数据表)

let regressorColumns = ["weigth", "length", "depth", "diameter"]
let regressorTable = dataTable[regressorColumns]

let (regressorEvaluationTable, regressorTrainingTable) = regressorTable.randomSplit(by: 0.20, seed: 5)

let regressor = try! MLLinearRegressor(trainingData: regressorTrainingTable,
targetColumn: "weigth")

let prediction = try! regressor.predictions(from: dataTable)
print (prediction)

prediction 是一个 float 数组,其元素数量与 csv 文件本身的元素数量相同。

四个问题:

  1. 为什么是数组?
  2. 为什么会 float ?
  3. 为什么数组的元素数量与输入 csv 相同?
  4. 这个数组到底代表什么?

最佳答案

您发布的代码的作用是在一些输入数据(regressorTrainingTable)上训练机器学习模型(特别是线性回归模型),目标是能够预测一些权重值(基于长度、深度和直径(“独立”或“特征”值)的“相关”或“目标”值)。那么这个模型实际上是用来计算 dataTable 中存储的每一行数据(长度、深度和直径)的权重值。

因此,预测是根据存储在dataTable中的每行的长度、深度和直径值来预测权重值的集合。希望这能回答问题 1、3 和 4。

至于第二个问题,它只与构建模型的线性回归方法如何在幕后工作有关。构建(训练)模型时,它将所有输入(相关和独立)值视为连续数值(即 float ),即使它们在数据文件中表示为整数。

关于swift - CoreML:为什么预测是一个数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54402347/

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