用于未来预测的.NET神经网络或AI

时间:2010-05-04 05:56:26

标签: c# neural-network predict

我正在寻找某种智能(我在想AI或神经网络)库,我可以提供历史数据列表,这将预测下一个输出序列。

作为一个例子,我想向图书馆提供以下图1,2,3,4,5

并基于此,它应该预测下一个序列是6,7,8,9,10等。

输入将更加复杂并包含更多信息。

这将在C#应用程序中使用。

如果您有任何建议或警告会很棒。

由于

修改

我正在尝试使用历史销售数据,预测特定客户最有可能在下一期间花费的金额。

我确实知道有很多外部因素可以影响客户购买,但现在我只需要根据销售历史记录,然后绘制一张显示过去销售额和预测销售额的图表。

3 个答案:

答案 0 :(得分:3)

如果您正在寻找.NET API,那么我建议您尝试AForge.NET http://code.google.com/p/aforge/

如果您只是想在您拥有的数据集上尝试各种机器学习算法,那么我建议您使用Weka;它(相对)易于使用,并且它实现了许多ML / AI算法。为每种算法运行具有不同设置的多次运行,并尝试尽可能多的算法。他们中的大多数都会有一些预测能力,如果你把它们结合起来,那么你可能会得到一些有用的东西。

答案 1 :(得分:1)

如果我正确理解您的问题,您需要近似并推断未知函数。在您的示例中,您知道函数值

f(0) = 1
f(1) = 2
f(2) = 3
f(3) = 4
f(4) = 5

这些点的良好近似值为f(x) = x+1,这将产生f(5) = 6 ......如预期的那样。问题是,如果不了解您想要推断的函数,就无法解决这个问题:它是线性的吗?它是多项式吗?它顺利吗? (近似或完全)是循环的吗?功能的范围和范围是什么?您对要推断的函数了解得越多,预测就越好。

答案 2 :(得分:1)

我只是发出警告,抱歉。 =)

从数学上讲,上面的序列没有理由跟随“6”。我可以轻松地为您提供一个简单的函数,其下一个值是您喜欢的任何值。它只是人类喜欢简单的规则,因此倾向于看到这些序列中的连接,实际上并不存在。因此,如果您不想向计算机提供其他信息,则这对于计算机来说是不可能完成的任务。

修改 如果您怀疑您的数据具有已知的功能依赖性,并且存在无法控制的外部因素,那么regression analysis可能会有良好的结果。要轻松起见,请先查看linear regression

如果你不能假设线性依赖,那么有一个很好的应用程序可以找到适合你历史数据的函数......我会在记得的时候用它的名字更新这篇文章。 =)