0

我正在做一个使用逻辑回归计算概率的项目。所以,这是我的代码。

我们没有足够的虚假数据来支持分析,因此我们创建了一种欺骗虚假输入的方法。通常我们有 10 个正输入,然后我们欺骗 10 个假输入。之后我们尝试计算这个。如果结果不收敛,我们放弃最后一组错误输入并创建另一组,直到结果收敛。结果收敛后,我们保存我们产生的错误输入。但是,问题在于,如果我们尝试使用保存的错误输入和原始正输入再次计算它,结果不会像第一次那样收敛。据我所知,如果我使用相同的数据集,逻辑回归分析的结果应该是相同的,但对于这个项目来说似乎并非如此。有什么建议吗?

这是我的代码。我正在使用 Accord.Statistics.Analysis:

regression = new LogisticRegressionAnalysis(allInput, allOutput);
                isConverged = regression.Compute(1e-005, 50);
                if (isConverged)
                {
                    //Save the fake data to the db when it converges.
                    UserTimeServices uts = new UserTimeServices();
                    uts.populateTimeProfile(trueFakeInput, true, user.UserGuid);
                    uts.populateTimeProfile(falseFakeInput, false, user.UserGuid);

                    return Math.Round(regression.Regression.Compute(loginTimes.ToArray()), 5);
                }
            }
        }// the part above is in a while loop. 
        var regressionAnalysis = new LogisticRegressionAnalysis(input, output);
        bool converging = regressionAnalysis.Compute(1e-005, 50);// it always doesnt converge even with the same set of data.

提前致谢。

4

0 回答 0