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

news/2024/11/6 3:18:15 标签: 机器学习, sklearn, python

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?” https://medium.com/@docintangible/racist-data-destruction-113e3eff54a8

[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.
https://www.researchgate.net/publication/4974606_Hedonic_housing_prices_and_the_demand_for_clean_air


http://www.niftyadmin.cn/n/5740103.html

相关文章

Scala的属性访问权限(一)默认访问权限

//eg:银行账户存钱取钱 // 账户类: // -balance() 余额 // -deposit() 存钱 // -withdraw() 取钱 // -transfer(to:账户,amount:Dobule)转账 package Test1104 //银行账户class BankAccount(private var balance:Int){def showMoney():Unit {println(s"…

针对初学者的PyTorch项目推荐

文章目录 1. MNIST手写数字识别2. CIFAR-10图像分类3. 图像风格迁移4. 文本生成(使用RNN)5. 简单的问答系统6. 简单的生成对抗网络(GAN)7. 简单的推荐系统 对于初学者来说,选择一些简单且具有教育意义的项目来实践PyTo…

吴恩达深度学习笔记(11)13.

人脸检校:输入某人的照片以及姓名或ID,判断是不是他所说的那个人 人脸识别: 单样本学习: 大多数人脸识别的问题需要在样本中只有一张照片的情况下认出一个人。 相似性函数:利用神经网络训练一个函数,可…

T507 buildroot linux4.9之RLT8152B usb 100M以太网开发调试

文章目录 前言一、硬件确认1.1、RLT8152B硬件 二、驱动配置2.1、驱动位置2.2、使用config宏配置驱动2.3、RTL8152 驱动调试中遇到的问题2.3.1、问题描述2.3.2、分析问题2.3.3、处理问题 三、RTL8152网络测试3.1、ifconfig配置ip3.2、ping测试3.3、iperf测试 前言 由于T507这款…

1105--面试代码题

请编写一个Java类(Singleton),实现单例模式,获取实例的方法为getInstance() public class Singleton {// 使用 volatile 关键字确保在多线程环境下的可见性private static volatile Singleton instance;// 私有构造函数&#xff…

Hive中自定义函数的使用

用java代码编写,继承UDF类即可 然后打包,导入hive中,再创建个函数名就能使用 hive: add jar /路径/xxx.jar; hive: create function 函数名 as 主类名; 以下用计算地球间两点的距离的为例 import org.apache.hadoop.hive.ql.exec.UDF;pub…

Go:struct结构体和继承

文章目录 结构体概念结构体定义结构体生成递归结构体结构体转换 使用工厂方法创建结构体实例如何强制使用工厂方法 带标签的结构体匿名字段内嵌结构体命名冲突方法定义函数和方法的区别指针或值作为接受者方法和未导出字段多重继承总结 格式化描述符垃圾回收和 SetFinalizer 结…

推荐一款高级的安装程序打包工具:Advanced Installer Architect

AdvanCEd Installer Architect是一款高级的安装程序打包工具,我们有时候可能用nsis用的多,Advanced Installer Architect也是一款打包工具,有兴趣的朋友也可以试试。有了Advanced Installer Architect你就可以创建MSI打包。 主要功能 *先进的…