小编Mat*_*att的帖子

为什么 np.std(X) 和 X.std() 返回不同的值?

我正在尝试使用均值归一化计算数据集的归一化分数。当我写作时(X - np.mean(X))/np.std(X),它给我的分数与实际的分数不同((X - X.mean())/X.std()

问题似乎来自标准差的计算。X.std()返回一个标准差值并np.std()返回不同的标准化值。为什么会发生这种情况?

statistics numpy standard-deviation pandas

2
推荐指数
1
解决办法
1071
查看次数

类别编码器中的证据权重实际上是如何计算的?

我正在尝试手动计算 WoE,但无法获得与 Category_encoders WOEEncoder 计算的结果相同的结果。这是我想要计算分数的数据框:

df = pd.DataFrame({'cat': ['a', 'b', 'a', 'b', 'a', 'a', 'b', 'c', 'c'], 'target': [1, 0, 0, 1, 0, 0, 1, 1, 0]})
Run Code Online (Sandbox Code Playgroud)

这是我用来计算 WoE 分数的代码

woe = WOEEncoder(cols=['cat'], random_state=42)
X = df['cat']
y = df.target
encoded_df = woe.fit_transform(X, y)
Run Code Online (Sandbox Code Playgroud)

相同的结果是:

0   -0.538997
1   0.559616
2   -0.538997
3   0.559616
4   -0.538997
5   -0.538997
6   0.559616
7   0.154151
8   0.154151
Run Code Online (Sandbox Code Playgroud)

因此,'a' 被编码为 -0.538997 'b' 被编码为 0.559616 'c' 被编码为 0.154151

当我手工计算分数时,它们是不同的,我取

ln(% of non events / % of …
Run Code Online (Sandbox Code Playgroud)

python preprocessor encoder machine-learning data-science

2
推荐指数
1
解决办法
2202
查看次数