gpt4 book ai didi

C# 来自 Ruby Wilson 得分

转载 作者:数据小太阳 更新时间:2023-10-29 07:26:23 28 4
gpt4 key购买 nike

谁能帮我把它转换成 C#。这真的伤害了我的大脑。

http://www.evanmiller.org/how-not-to-sort-by-average-rating.html

Wilsons Score

require 'statistics2'

def ci_lower_bound(pos, n, power)
if n == 0
return 0
end
z = Statistics2.pnormaldist(1-power/2)
phat = 1.0*pos/n
(phat + z*z/(2*n) - z * Math.sqrt((phat*(1-phat)+z*z/(4*n))/n))/(1+z*z/n)
end

这是什么意思?

Statistics2.pnormaldist(1-power/2) 

最佳答案

万一有人感兴趣...

对 pnormaldist 进行更多谷歌搜索使我找到了这个 stackoverflow 文章:Objective-C implementation of the Wilson Score Interval

我手动将此 objective-c 转换为 C#,并且完全未经测试

public class WilsonScore
{
private static double pnormaldist(double qn)
{
double[] b = { 1.570796288, 0.03706987906, -0.8364353589e-3, -0.2250947176e-3,
0.6841218299e-5, 0.5824238515e-5, -0.104527497e-5,
0.8360937017e-7, -0.3231081277e-8, 0.3657763036e-10,
0.6936233982e-12 };

if (qn < 0.0 || 1.0 < qn)
return 0.0;

if (qn == 0.5)
return 0.0;

double w1 = qn;
if (qn > 0.5)
w1 = 1.0 - w1;
double w3 = -Math.Log(4.0 * w1 * (1.0 - w1));
w1 = b[0];
int i = 1;
for (; i < 11; i++)
w1 += b[i] * Math.Pow(w3, i);

if (qn > 0.5)
return Math.Sqrt(w1 * w3);
return -Math.Sqrt(w1 * w3);
}

public static double ci_lower_bound(int pos, int n, double power)
{
if (n == 0)
return 0.0;
double z = pnormaldist(1 - power / 2);
double phat = 1.0 * pos / n;
return (phat + z * z / (2 * n) - z * Math.Sqrt((phat * (1 - phat) + z * z / (4 * n)) / n)) / (1 + z * z / n);
}
}

关于C# 来自 Ruby Wilson 得分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4260836/

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