此数据集原本应该在 sklearn 中是自带数据集之一,但在 scikit-learn 1.2 版本由于某些特殊原因被移除,所以无法使用 load_boston() 获取。我们可以使用fetch_openml()方法,从openml.org存储库中读取数据集。
from sklearn.datasets import fetch_openml
data_x, data_y = fetch_openml(name="boston", version=1, as_frame=True, return_X_y=True, parser="pandas")
name:数据集在 openml.org 上的名称
version:版本号,根据 openml.org 上的描述,使用 1 版本是原始数据集,所以我选择 1 版本,具体根据对应数据集的描述选择
as_frame=True 表示返回 pandas 的 DataFrame 格式,这样可以直接使用 pandas 的方法进行数据处理
return_X_y:表示分别返回特征和标签,如果为 False 则返回一个字典【包含特征和标签】,如果你想要的是字典格式,可以设置为 False,而且默认也是 False
parser 表示用于加载 ARFF 文件的解析器,默认的是 liac-arff
● liac-arff:使用 liac-arff 库解析 ARFF 文件,ARFF 是一种用于存储数据集的格式,它支持缺失值和注释,但是速度较慢
● pandas:使用 pandas 库解析 ARFF 文件,ARFF 是一种用于存储数据集的格式,它支持缺失值和注释,但是速度较慢
● auto:自动选择解析器,如果 ARFF 文件的格式不支持 liac-arff,则使用 pandas 解析,否则使用 liac-arff
更复杂的参考官方文档:sklearn.datasets.fetch_openml — scikit-learn 1.3.0 documentation