【scikit-learn 1.2版本后】sklearn.datasets中load_boston报错 使用 fetch_openml 函数来加载波士顿房价

ImportError:
load_boston has been removed from scikit-learn since version 1.2.

由于 load_boston 已经在 scikit-learn 1.2 版本中被移除,需要使用 fetch_openml 函数来加载波士顿房价数据集。

python 复制代码
# 导入sklearn数据集模块
from sklearn import datasets
# 导入波士顿房价数据集
data_x, data_y = datasets.fetch_openml(name="boston", version=1, as_frame=True, return_X_y=True, parser="pandas")

这段代码的功能是从 OpenML 数据集库中获取名为"boston"的数据集,并将其加载为 Pandas DataFrame 格式。具体步骤如下:

  1. 调用 datasets.fetch_openml 函数。
  2. 指定数据集名称为 "boston",版本为 1。
  3. 设置 as_frame=True,使数据以 Pandas DataFrame 格式返回。
  4. 设置 return_X_y=True,返回特征数据和目标数据。
  5. 设置 parser="pandas",使用 Pandas 解析器。

以下是完整的报错信息,包含了修改的建议:

ImportError:
load_boston has been removed from scikit-learn since version 1.2.

The Boston housing prices dataset has an ethical problem: as investigated in [1], the authors of this dataset engineered a non-invertible variable "B" assuming that racial self-segregation had a positive impact on house prices [2]. Furthermore the goal of the research that led to the creation of this dataset was to study the impact of air quality but it did not give adequate demonstration of the

validity of this assumption.

The scikit-learn maintainers therefore strongly discourage the use of this dataset unless the purpose of the code is to study and educate about ethical issues in data science and machine learning.

In this special case, you can fetch the dataset from the original

source::

复制代码
import pandas as pd
import numpy as np

data_url = "http://lib.stat.cmu.edu/datasets/boston"
raw_df = pd.read_csv(data_url, sep="\s+", skiprows=22, header=None)
data = np.hstack([raw_df.values[::2, :], raw_df.values[1::2, :2]])
target = raw_df.values[1::2, 2]

Alternative datasets include the California housing dataset and the Ames housing dataset. You can load the datasets as follows::

复制代码
from sklearn.datasets import fetch_california_housing
housing = fetch_california_housing()

for the California housing dataset and::

复制代码
from sklearn.datasets import fetch_openml
housing = fetch_openml(name="house_prices", as_frame=True)

for the Ames housing dataset.

1\] M Carlisle. "Racist data destruction?" \[2\] Harrison Jr, David, and Daniel L. Rubinfeld. "Hedonic housing prices and the demand for clean air." Journal of environmental economics and management 5.1 (1978): 81-102.

相关推荐
naruto_lnq21 小时前
编写一个Python脚本自动下载壁纸
jvm·数据库·python
仟濹21 小时前
【Java加强】1 异常 | 打卡day1
java·开发语言·python
有Li21 小时前
肌肉骨骼感知(MUSA)深度学习用于解剖引导的头颈部CT可变形图像配准/文献速递-基于人工智能的医学影像技术
人工智能·深度学习·机器学习·文献·医学生
Dingdangcat8621 小时前
基于RetinaNet的建筑表面缺陷检测与识别系统研究_2
python
袖清暮雨21 小时前
Python爬虫(Scrapy框架)
开发语言·爬虫·python·scrapy
modelmd21 小时前
【递归算法】汉诺塔
python·算法
2501_9416527721 小时前
基于YOLO12-A2C2f-FRFN的电缆连接器类型识别与定位
python
喵手21 小时前
Python爬虫实战:采集双色球(SSQ)历史开奖数据(期号、红球、蓝球、开奖日期)等信息,并进行结构化CSV存储(Requests + Pandas)!
爬虫·python·爬虫实战·零基础python爬虫教学·双色球历史开奖数据·期号红球篮球开奖日期等·结构化csv存储
氵文大师21 小时前
PyTorch 性能分析实战:像手术刀一样精准控制 Nsys Timeline(附自定义颜色教程)
人工智能·pytorch·python
梦幻精灵_cq1 天前
正文标题党——正文标题也需要精致
python