Python 3.x Python中的小数点规范化

Python 3.x Python中的小数点规范化,python-3.x,Python 3.x,我正在尝试对我的数据应用规范化,并且我已经尝试了使用sklearn软件包的常规缩放技术,这些软件包可随时用于此类需求。但是,我希望实现一种称为十进制缩放的方法 我在这篇文章中读到了这一点,它看起来像是一种可以改善神经网络回归结果的技术。据我所知,这是我认为需要做的- 假设属性X的范围为−4856至28。X的最大绝对值为4856 要通过十进制缩放进行规范化,我需要将每个值除以10000(c=4)。在这种情况下,,−4856变成−0.4856,而28变为0.0028 因此,对于所有值:新值=旧值/

我正在尝试对我的数据应用规范化,并且我已经尝试了使用sklearn软件包的常规缩放技术,这些软件包可随时用于此类需求。但是,我希望实现一种称为十进制缩放的方法

我在这篇文章中读到了这一点,它看起来像是一种可以改善神经网络回归结果的技术。据我所知,这是我认为需要做的-

  • 假设属性X的范围为−4856至28。X的最大绝对值为4856
  • 要通过十进制缩放进行规范化,我需要将每个值除以10000(c=4)。在这种情况下,,−4856变成−0.4856,而28变为0.0028
  • 因此,对于所有值:新值=旧值/10^c
如何在Python中将其复制为函数,以便规范化数据集中的所有特性(逐列)

Input:
A      B    C
30    90    75
56   168    140
28    84        70
369  1107   922.5
485  1455   1212.5
4856 14568  12140
40    120   100
56    168   140
45    135   112.5
78    234   195
899  2697   2247.5

Output:
A       B       C
0.003   0.0009  0.0075
0.0056  0.00168 0.014
0.0028  0.00084 0.007
0.0369  0.01107 0.09225
0.0485  0.01455 0.12125
0.4856  0.14568 1.214
0.004   0.0012  0.01
0.0056  0.00168 0.014
0.0045  0.00135 0.01125
0.0078  0.00234 0.0195
0.0899  0.02697 0.22475

谢谢你们提出的问题,这些问题让我能够更清楚地思考我的问题,并将其分解成几个步骤。我已经找到了解决办法。我的解决方案是这样的:

def Dec_scale(df):
    for x in df:
        p = df[x].max()
        q = len(str(abs(p)))
        df[x] = df[x]/10**q 

我希望这个解决方案看起来令人满意

感谢你们提出的问题,这些问题让我能够更清楚地思考我的问题,并将问题分解成几个步骤。我已经找到了解决办法。我的解决方案是这样的:

def Dec_scale(df):
    for x in df:
        p = df[x].max()
        q = len(str(abs(p)))
        df[x] = df[x]/10**q 

我希望这个解决方案看起来令人满意

你在哪一部分需要帮助?这个问题可以分为三个任务:读取数据(从.csv文件?),应用规范化,重写数据。我想对数据或因变量应用规范化。我打算计算在每列中找到的数字的最大长度,并使用该数字(c)将其提高到10的幂,然后用这个10^c缩放列中的所有原始数字,以获得小数点的规范化值。这是在Pandas中吗?我更喜欢python中的这个,不确定Pandas会有什么帮助,但也许,我可能需要将这些数字转换成字符串,以获得如下列中最大绝对值的长度:c=df[x].map(len).max()df[x]=df[x]/10**c您需要帮助了解哪部分?这个问题可以分为三个任务:读取数据(从.csv文件?),应用规范化,重写数据。我想对数据或因变量应用规范化。我打算计算在每列中找到的数字的最大长度,并使用该数字(c)将其提高到10的幂,然后用这个10^c缩放列中的所有原始数字,以获得小数点的规范化值。这是在Pandas中吗?我更喜欢python中的这个,不确定Pandas会有什么帮助,但也许,我可能需要将这些数字转换成字符串,以获得如下列中最大绝对值的长度:c=df[x].map(len).max()df[x]=df[x]/10**c