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

无法加载《Hands-On Machine Learning》中的Housing数据集求助

解决Housing数据集FileNotFoundError问题

以下是针对你遇到的FileNotFoundError问题的排查和解决步骤:

  • 检查当前工作目录
    先在代码开头添加打印当前工作目录的代码,确认数据集目录的实际创建位置:

    print("当前工作目录:", os.getcwd())
    

    如果发现datasets/housing没有创建在预期路径,直接改用绝对路径定义HOUSING_PATH,示例:

    # 替换为你希望存放数据集的绝对路径
    HOUSING_PATH = os.path.join('/home/your_name/data', 'datasets', 'housing')
    
  • 确保目录与文件操作可追踪
    修改fetch_housing_data函数,添加执行日志,定位具体失败环节:

    def fetch_housing_data(housing_url=HOUSING_URL, housing_path=HOUSING_PATH):
        try:
            # 递归创建目录,避免多级目录不存在的问题
            os.makedirs(housing_path, exist_ok=True)
            print(f"目录状态: {housing_path} 已就绪")
            
            tgz_path = os.path.join(housing_path, 'housing.tgz')
            urllib.request.urlretrieve(housing_url, tgz_path)
            print(f"数据集压缩包已下载至: {tgz_path}")
            
            with tarfile.open(tgz_path) as housing_tgz:
                housing_tgz.extractall(path=housing_path)
            print("压缩包已成功解压")
        except Exception as e:
            print(f"执行出错: {str(e)}")
    

    运行后根据日志判断是目录创建失败、下载失败还是解压失败。

  • 手动验证文件状态
    执行完fetch_housing_data后,前往HOUSING_PATH指定的路径:

    • 确认是否存在housing.tgz文件
    • 确认解压后是否生成了housing.csv文件
      如果压缩包存在但解压无结果,删除损坏的housing.tgz后重新运行代码。
  • 简化路径快速测试
    先用极简绝对路径验证代码逻辑,比如将数据集放在下载目录:

    HOUSING_PATH = os.path.join(os.path.expanduser("~"), "Downloads", "housing_test")
    

    排除相对路径带来的干扰,确认代码本身的正确性。

内容的提问来源于stack exchange,提问作者A.K Krishnamurthy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 07:50:27