gpt4 book ai didi

c# - Accord.NET 中的回归分析

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

目前我正在学校做我的项目,我有一个有点特别的任务。我的工作是从 facebook 的某个页面上抓取数据,将其放入学习模型中,其中应该有 1 个输入作为 List,输出为 Int32。

首先简单介绍一下我已经设计的算法:

  1. 抓取数据
  2. 阻止它
  3. 删除了大写字母、标点符号、表情符号和空格
  4. 合并同根词
  5. 计算单词的出现次数并为每个单词分配计数值
  6. 执行 tf-idf 计算以提取每个帖子中每个单词的权重现在,我有一个 Dictionary<String,List<double[],int>> , 代表

postId:[wordWeights],amountOfLikes作为

23425234_35242352:[0.027,0.031,0.009,0.01233],89

我必须用不同的帖子和他们的喜好来训练我的模型。为此,我们选择在 C# 上使用 Accord.NET 库,并且到目前为止分析了它们的简单线性回归类。

首先,我看到我可以使用 OrdinaryLeastSqure 并为它提供可能的输入和输出作为

double[] input = {0.123,0.23,0.09}
double[] output = {98,0,0}
OrdinaryLeastSquares ols = new OrdinaryLeastSquares();
regression = ols.Learn(inputs, output);

如您所见,数组中的输入数量应与输出数量相匹配,因此,我用零来满足它。结果,我得到了明显的错误输出。我无法想出将数据提供给 Linear Regression Class 的正确方法.我知道用零填充数组的方法是错误的,但这是迄今为止我想出的唯一解决方案。如果有人告诉我在这种情况下应该如何使用回归并帮助选择合适的算法,我将不胜感激。干杯!

最佳答案

在 Accord.NET 中浏览了不同的回归算法后,我想到了 FanChenLinSupportVectorRegression , 这是 Accord.NET Machine Learning 的一部分图书馆。我相信范晨林是这个算法的主要贡献者之一,因为它是以他的名字命名的。

算法使用支持向量回归 (SVM) 的概念。

FanChenLinSupportVectorRegression<TKernel> , 其中Kernel获取或设置用于创建内核支持向量机的内核函数。如果设置了此属性,则 UseKernelEstimation 将设置为 false。

回归函数将第一个输入作为一个数组,由 double 组(在我们的例子中是某个帖子中的单词权重)和第二个 double 组组成,它由喜欢的数量组成。

重要:权重子数组必须对应于第二个输入中的点赞数量,使得 first sub-arraylikes 中的 [0] 索引下有类似的金额数组,second sub-arraylikes 中的 [1] 索引下应该有类似的数量数组等

示例:

//Suppose those are posts with tf-idf weights
double[][] inputs =
{
new[] { 3.0, 1.0 },
new[] { 7.0, 1.0 },
new[] { 3.0, 1.0 },
new[] { 3.0, 2.0 },
new[] { 6.0, 1.0 },
};
//amount of likes each corresponding post scored
double[] outputs = {2.0, 3.0, 4.0, 11.0, 6.0};
//Using FanChenLinSupportVectorRegression<Kernel>
var model = new FanChenLinSupportVectorRegression<Gaussian>();
//Train model and feed it with tf-idf of each post and corresponding like amount
var svm = model.Learn(inputs, outputs);
//Run a sample tf-idf input to get a prediction
double result = svm.Score(new double[] { 2.0,6.0});

我用相同值的交换输入测试了这个模型,结果非常好而且准确。模型也适用于大输入,但需要更多培训。希望这对以后的任何人都有帮助。

关于c# - Accord.NET 中的回归分析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49788291/

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