我目前正在將一些 python 代碼遷移到 Scala。我正在使用微風(fēng)庫作為 numpy 的替代品。一切看起來都很好,但我在標(biāo)準(zhǔn)偏差實(shí)現(xiàn)的輸出中遇到了不同的行為:Python:series = np.array([1,4,5])np.mean(series) // 3.3333333333333335np.std(series) // 1.699673171197595斯卡拉:val vector = breeze.linalg.Vector[Double](Array(1.0, 4.0, 5.0))val mean = breeze.stats.mean(vector) // 3.3333333333333335val std = breeze.stats.stddev(vector) // 2.081665999466133但我正在尋找一種方法來輕而易舉地獲得它。有任何想法嗎?
2 回答

回首憶惘然
TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超11個(gè)贊
這與自由度的數(shù)量有關(guān)。確實(shí),
>>> np.std(series, ddof=1)
2.081665999466133
這是樣本標(biāo)準(zhǔn)。隨著微風(fēng),你可以做的事情來獲得人口標(biāo)準(zhǔn)是
var n = 3
val std = breeze.stats.stddev(vector)*Math.pow((n-1)/n, .5)
# 1.6996731711975948

交互式愛情
TA貢獻(xiàn)1712條經(jīng)驗(yàn) 獲得超3個(gè)贊
如果 keepAlive 的解決方案不起作用,您應(yīng)該將“n”更改為 Double
var n : Double = 3
val std = breeze.stats.stddev(vector)*Math.pow((n-1)/n, .5)
# 1.6996731711975948
添加回答
舉報(bào)
0/150
提交
取消