You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在jupyter中运行sklearn load_iris出现np.int弃用警告如何解决

警告触发原因

这个警告是依赖库版本不兼容导致的,和你自己编写的代码无关:

  1. 你本地安装的NumPy版本≥1.20,该版本正式废弃了np.int这类别名,要求开发者改用原生int,或者np.int32/np.int64这类明确精度的类型,使用废弃别名时就会抛出该弃用警告。
  2. 你调用的scikit-learn版本较旧,旧版本的sklearn内部源码多处使用了已废弃的np.int写法,你调用sklearn的load_iris接口时,触发了sklearn内部代码的警告。
可行解决方法
  • 方案1:升级scikit-learn到适配版本(最推荐)
    升级scikit-learn到0.24.2及以上的稳定版本,新版本已经修复了内部的废弃别名调用,从根源解决问题。对应升级命令:
    pip安装:pip install -U scikit-learn
    conda安装:conda update scikit-learn

  • 方案2:降级NumPy到兼容版本
    如果你需要保留当前的旧版scikit-learn,可以将NumPy降级到1.19.5版本,该版本尚未废弃np.int别名,不会触发警告。降级命令:
    pip install numpy==1.19.5

  • 方案3:临时屏蔽弃用警告
    如果不想改动现有依赖版本,仅希望警告不干扰运行输出,可以在代码开头添加屏蔽规则,仅隐藏警告不修改实际逻辑:

import warnings
warnings.filterwarnings("ignore", message="`np.int` is a deprecated alias")

该方案仅适合临时调试使用,不建议长期使用。

内容的提问来源于stack exchange,提问作者Wreza Shafaghi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 20:36:01