首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >preprocessing.MinMaxScaler和preprocessing.normalize返回Nulls的数据

preprocessing.MinMaxScaler和preprocessing.normalize返回Nulls的数据
EN

Stack Overflow用户
提问于 2015-10-28 14:48:53
回答 1查看 1.8K关注 0票数 1

我有数据浮点数作为数据,我想将数据规范化,所以首先我把它转换成int (否则我有错误ValueError: Input contains NaN, infinity or a value too large for dtype('float64').),我的代码用于规范化:

代码语言:javascript
复制
def normalize_df():
    x = my_df.values.astype(int)
    min_max_scaler = preprocessing.MinMaxScaler()
    x_scaled = min_max_scaler.fit_transform(x)
    df = pd.DataFrame(x_scaled)
    return df

我的输出是

代码语言:javascript
复制
    0   1   2   3   4   5   6   7   8   9   ...     12  13  14  15  16  17  18  19  20  21
0   0   0   0   0   0   0   0   0   0   0   ...     0   0   0   0   0   0   0   0   0   0
1   0   0   0   0   0   0   0   0   0   0   ...     0   0   0   0   0   0   0   0   0   0
2   0   0   0   0   0   0   0   0   0   0   ...     0   0   0   0   0   0   0   0   0   0
3   0   0   0   0   0   0   0   0   0   0   ...     0   0   0   0   0   0   0   0   0   0
4   0   0   0   0   0   0   0   0   0   0   ...     0   0   0   0   0   0   0   0   0   0

发生了什么(假设我的初始数据some在某些行中包含0值,但不到数据的30% )?我如何修复这个错误并避免使用零输出?

编辑的

我的数据看起来像(有更多的列和行):

代码语言:javascript
复制
 36680            0        22498037            2266   
 0             2218        22502676               0   
 26141            0        22505885            4533   
 39009            0        22520711            4600   
 36237            0        22527171            5933   

我试着将值从0.0到1.0

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-30 10:27:29

这不是一个bug,它之所以发生是因为您试图将NaN值转换为整数,看看它是如何工作的(在我的机器上):

代码语言:javascript
复制
In [132]: a
Out[132]: array([ nan,   1.,  nan])

In [133]: a.astype(int)
Out[133]: array([-9223372036854775808,                    1, -9223372036854775808])

因此,与数据集中的另一个整数相比,每个NaN的值都很小,这会导致不正确的缩放。

要解决这个问题,您应该使用浮点数。在缩放之前,你需要去掉一些NaN,或者删除这些不完整的样本。看看sklearn.preprocessing.Imputer

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33394267

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档