python - 标准差为零的归一化

标签 python numpy statistics data-science

我正在尝试使用以下代码在 python 中对数据集进行居中和规范化

mean = np.mean(train, axis=0)
std = np.std(train, axis=0)
norm_train = (train - mean) / std

问题是我得到了除以零的错误。数据集中的两个值最终的标准差为零。数据集的形状为 (3750, 55)。我的统计技能不是那么强,所以我不确定如何克服这个问题。有什么建议吗?

最佳答案

standard deviation是通过取平均值的平方偏差的总和来计算的,只有当变量的所有值都相同(都等于平均值​​)时,零标准偏差才有可能。在这种情况下,这些变量没有判别力,因此可以将它们从分析中删除。它们无法改进任何分类、聚类或回归任务。许多实现会为您完成或抛出有关矩阵计算的错误。

关于python - 标准差为零的归一化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36486120/

相关文章:

python - 使用单个值重新分配多个列

Python:处理循环中不存在的字典值

python - 创建新的 python 对象似乎是同一个对象

python - 有没有办法加快 numpy.where 的循环?

linux - 如何通过linux命令获取某个接口(interface)的统计信息?

opencv - 将直方图与卡方距离进行比较

python - 如何在python中左移一个位数组

python - python中根据0, 1显示列名

python - 使用 numpy 将图像分成 channel

python - Sklearn线性回归拟合输入顺序?外生变量先行吗?