Dataframe 标准化是如何完成的?

问题描述 投票:0回答:1

我试图理解数据帧值的标准化。这是著名灾难(即泰坦尼克号)的场景,这是查询的代码和结果:

dftitanic.groupby('Fsize')['Survived'].value_counts(normalize=False).reset_index(name='perc')

结果:

    Fsize  Survived  perc
0       1         0   374
1       1         1   163
2       2         1    89
3       2         0    72
4       3         1    59
5       3         0    43
6       4         1    21
7       4         0     8
8       5         0    12
9       5         1     3
10      6         0    19
11      6         1     3
12      7         0     8
13      7         1     4
14      8         0     6
15     11         0     7


如果我使用

.value_counts(normalize=True)
,结果将是:

dftitanic.groupby('Fsize')['Survived'].value_counts(normalize=True).reset_index(name='perc')
    Fsize  Survived      perc
0       1         0  0.696462
1       1         1  0.303538
2       2         1  0.552795
3       2         0  0.447205
4       3         1  0.578431
5       3         0  0.421569
6       4         1  0.724138
7       4         0  0.275862
8       5         0  0.800000
9       5         1  0.200000
10      6         0  0.863636
11      6         1  0.136364
12      7         0  0.666667
13      7         1  0.333333
14      8         0  1.000000
15     11         0  1.000000

数据来自

describe()

        Fsize   Survived    Perc
count   16.0000 16.000000   16.000000
mean    4.6875  0.437500    55.687500
std     2.7500  0.512348    95.378347
min     1.0000  0.000000    3.000000
25%     2.7500  0.000000    6.750000
50%     4.5000  0.000000    15.500000
75%     6.2500  1.000000    62.250000
max     11.0000 1.000000    374.000000

我的努力:

https://stackoverflow.com/a/41532180,我得到了以下方法:

  1. 归一化_df=(df-df.mean())/df.std()

  2. 归一化_df=(df-df.min())/(df.max()-df.min()

但是,从

describe()
的结果来看,上述两种方法与
.values_counts(normalize=True)
的结果并不相符。

这里有类似的公式和描述:但没有得到可理解的结果。

问题:

如何进行标准化?即

.value_counts(normalize=True)


    

python dataframe normalization
1个回答
0
投票
在 Pandas GroupBy 操作的上下文中,“标准化”参数设置为“True”时,会将值标准化以显示百分比而不是计数。这意味着输出将显示数据的百分比分布而不是原始计数。

关于机器学习中规范化的文章,区分 Pandas 中的“规范化”参数和机器学习中的规范化技术至关重要。在 Pandas 中,“归一化”专门用于计算组内的百分比,而机器学习中的归一化是指将特征缩放到一定范围(通常在 0 到 1 之间),以确保均匀性并防止某些特征因其规模而主导模型。另一方面,标准化涉及将数据转换为均值 0 和标准差 1,有助于比较和解释不同的特征。

总之,您提供的文章展示了机器学习中使用的 Standardization() 和 Normalization() 的数学直觉,这与您使用“标准化”的概念不同。这是 pandas 库中使用的参数,另一方面,本文显示了在将数据执行到算法(即数据预处理)之前使用的两种转换类型的数学公式,以便机器轻松解释附近以获得准确的结果。这两种技术都属于 scikit-learn (sklearn) 库。从 sklearn.preprocessing 导入 StandardScaler、MinMaxScaler。

如果您仍有疑问,请随时联系。

© www.soinside.com 2019 - 2024. All rights reserved.