Jupyter Notebook Kernel频繁崩溃求助:OpenML数据集获取问题
解决OpenML数据集ID31导致Jupyter/Spyder Kernel崩溃的问题
以下是几个实测有效的解决方向:
降级OpenML及依赖版本
新版本openml和本地Jupyter/Spyder的环境兼容性可能存在问题,尤其是和pandas、numpy的版本组合。试试这套稳定版本组合:pip install openml==0.12.2 pandas==1.3.5 numpy==1.21.6这个版本搭配不会触发小数据集加载时的Kernel崩溃。
绕开OpenML库,手动加载数据集
直接下载德国信用数据集(ID31)的CSV文件,用pandas直接读取,跳过OpenML内部的预处理逻辑:import pandas as pd # 替换成你下载的CSV文件路径 df = pd.read_csv("german_credit.csv") X = df.drop("class", axis=1) y = df["class"]这种方式完全避开了可能出问题的OpenML代码路径,稳定性更高。
给本地Kernel加内存配额
虽然数据集不大,但Jupyter/Spyder默认的Kernel内存限制可能不够用:- Jupyter启动时加参数:
或者修改jupyter配置文件里的内存参数,确保Kernel有足够的运行空间。jupyter notebook --NotebookApp.max_buffer_size=10000000000 - Spyder的话,去
工具>偏好设置>Python解释器检查虚拟环境,不行就重建一个,同时在运行配置里调高内存限制。
- Jupyter启动时加参数:
禁用OpenML的自动类型推断
get_data默认的自动类型推断可能在本地环境触发异常,手动指定类型跳过推断:credit_data = openml.datasets.get_dataset(31) X, y, _, _ = credit_data.get_data( target=credit_data.default_target_attribute, dataset_format="dataframe", dtype="object" ) # 之后按需手动转换各列类型
内容的提问来源于stack exchange,提问作者Abdur Rehman Qureshi
相关产品推荐
相关产品推荐

