首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当数据没有大的/inf/NaN值时,sklearn的yeo-johnson抛出"ValueError: Input Input infinity“

当数据没有大的/inf/NaN值时,sklearn的yeo-johnson函数会抛出"ValueError: Input contains infinity"的错误。这是因为yeo-johnson函数在进行数据转换时,要求数据中不包含无穷大(infinity)的值。

yeo-johnson是一种用于数据转换的功函数,用于处理数据的偏态分布。它可以将数据转换为服从正态分布的形式,以便更好地应用于机器学习模型。

在解决"ValueError: Input contains infinity"错误时,可以采取以下几种方法:

  1. 数据预处理:检查数据集中是否存在无穷大的值(inf),并进行相应的处理。可以使用numpy库的isinf函数来判断数据是否为无穷大,然后使用numpy库的replace函数将无穷大值替换为其他合适的值,例如使用数据集的均值或中位数进行替换。
  2. 数据过滤:如果数据集中包含无穷大的值,可以考虑将这些数据过滤掉。可以使用numpy库的isinf函数来判断数据是否为无穷大,并使用布尔索引来过滤掉包含无穷大值的数据。
  3. 数据归一化:在进行数据转换之前,可以先对数据进行归一化处理。可以使用sklearn库的MinMaxScaler或StandardScaler来对数据进行归一化,以确保数据的范围在合适的区间内。
  4. 使用其他数据转换方法:如果yeo-johnson函数无法处理包含无穷大值的数据,可以尝试其他的数据转换方法,例如Box-Cox变换或对数变换等。

需要注意的是,以上方法仅适用于当数据集中存在无穷大值时出现的错误。如果错误仍然存在或者数据集中没有无穷大值,可能需要进一步检查其他可能的原因,并进行相应的处理。

腾讯云相关产品和产品介绍链接地址:

  • 数据预处理:腾讯云智能数据分析平台(https://cloud.tencent.com/product/dla)
  • 数据过滤:腾讯云数据清洗服务(https://cloud.tencent.com/product/dcs)
  • 数据归一化:腾讯云机器学习平台(https://cloud.tencent.com/product/tiia)
  • 其他数据转换方法:腾讯云人工智能开放平台(https://cloud.tencent.com/product/aiopen)
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

ValueError: Input contains NaN, infinity or a value too large for dtype(‘float64’).

笔者在使用LogisticRegression模型进行预测时,报错 Traceback (most recent call last): File “D:/软件(学习)/Python/MachineLearing/taitannike/train.py”, line 55, in predicted_np = clf.predict(test_np) File “D:\Python\Anaconda\lib\site-packages\sklearn\linear_model\base.py”, line 281, in predict scores = self.decision_function(X) File “D:\Python\Anaconda\lib\site-packages\sklearn\linear_model\base.py”, line 257, in decision_function X = check_array(X, accept_sparse=‘csr’) File “D:\Python\Anaconda\lib\site-packages\sklearn\utils\validation.py”, line 573, in check_array allow_nan=force_all_finite == ‘allow-nan’) File “D:\Python\Anaconda\lib\site-packages\sklearn\utils\validation.py”, line 56, in _assert_all_finite raise ValueError(msg_err.format(type_err, X.dtype)) ValueError: Input contains NaN, infinity or a value too large for dtype(‘float64’). Age False

02
  • 网络文件操作(一)、json模块

    JSON(JavaScriptObjectNotation)格式最初是为JavaScript开发的,但随后成了一种常见文件格式,被包括python在内的众多语言采用。模块JSON让你能够将简单的python数据结构转储到文件中,并在程序再次运行时加载该文件中的数据,还可以使用JSON在python程序之间分享数据。更重要的是,JSON数据格式并非python专用的,这让你能够将JSON格式存储的数据与使用其他编程语言的分享。很多程序都要求用户输入某种信息,如让用户存储游戏首选项或提供可视化的数据。不管专注的是什么,程序都把用户提供的信息存储在列表和字典等数据结构中。用户关闭程序时,你几乎总是要保存他们提供的信息。它的典型结构如下:

    02
    领券