如何将自定义CSV数据集加载到Bunch数据对象中?
将自定义CSV文件加载到Scikit-learn的Bunch对象中
Scikit-learn的Bunch是一个类字典的容器,你可以手动把CSV数据的核心部分(特征矩阵、目标向量、特征名、目标名等)封装进去,具体步骤如下:
1. 准备依赖并加载CSV数据
用pandas加载本地CSV文件(处理表头和文本型数据更便捷,也可使用numpy.loadtxt):
import pandas as pd from sklearn.utils import Bunch
# 替换为你的CSV文件路径 df = pd.read_csv("your_dataset.csv")
2. 拆分数据与元信息
根据CSV结构拆分特征、目标变量,提取对应的元信息:
# 假设CSV最后一列是目标变量,其余列为特征 data = df.iloc[:, :-1].values # 特征矩阵 target = df.iloc[:, -1].values # 目标向量 feature_names = df.columns[:-1].tolist() # 特征名称列表 target_names = pd.unique(target).tolist() # 唯一目标类别名称
3. 构造Bunch对象
将上述数据和元信息传入Bunch,还可自定义数据集描述:
custom_dataset = Bunch( data=data, target=target, feature_names=feature_names, target_names=target_names, DESCR="本地CSV加载的自定义数据集" # 可根据需求修改描述文本 )
验证使用
现在你可以像使用load_iris()返回的Bunch对象一样操作它:
# 打印特征名称 print(custom_dataset.feature_names) # 查看前5条特征数据 print(custom_dataset.data[:5])
内容的提问来源于stack exchange,提问作者nicomp
相关产品推荐
相关产品推荐

