我的问题是"如何预测JavaScript中数据集的值?"。为了解释我的问题,我将举例说明我想要的结果。
如果你正在使用Mathematica,你可能知道有一个Predict[]
功能。我认为如果我可以在JavaScript中执行类似的功能,它可能会很棒。我知道Mathematica功能正在使用机器学习和其他很酷的技术,我不太了解它们,因此,为了保持简单,我尝试通过我所说的实现这个Predict[]
功能"仿射变换预测"。
如果你从学校开始记得,仿射函数的写法就像f(x)=ax+b
。
我知道从2个值中,您可以轻松了解a
和b
是什么。
这是我目前的代码:
function predict(array1, array2, val) {
var first = array1[0]
var second = array2[0]
var firstVal = array1[1]
var secondVal = array2[1]
var a = (firstVal - secondVal) / (first - second)
var b = secondVal - (second * a)
return val * b;
}
所以,array1
将是" start"价值(我不会用英语知道这个词,但用法语知道"先前的"),以及该功能的形象。
array2
将是相同的,但对于不同的"开始"价值和形象。
val
将是函数预测值的位置。
我们假设我们有f(x)=2x+1
函数,我们知道1->3
和2->5
有效。所以,我们想知道(不知道当然的功能)f(3)
会给我们什么,所以我们写道:
predict([1,3],[2,5],3)
通常,它会返回7.
这个功能的主要问题是它的工作方式。我想简化它。让我解释一下,我的功能看起来像那样:
function predict(object, val) {
...
}
其中object
类似于:{ 1: 3, 2: 5, 4: 9}
。像JSON对象中有两个或更多值的东西,我想更准确,但也有一个单词" dataset"在里面。因为,问题是目前,该功能不能被称为predict
功能,因为它更像affineTransformationFinder
功能。
由于您理解的众多原因,在JavaScript中操作对象比数组更简单。
我试图解释我的观点,我希望你能同意我的观点。如果您有任何疑问,请随时添加评论,我很乐意回答。
答案 0 :(得分:1)
Object.keys()
是你正在寻找的东西 - 当传递一个对象时,它返回一个键的数组,你可以迭代它并传回给对象来检索属性值。