Sklearn鸢尾花数据集X、y返回值解析:y中0/1/2对应类别确认
关于sklearn鸢尾花数据集y向量的含义解释
你的猜测完全正确,y向量里的整数0、1、2确实分别对应鸢尾花的三个品种:
0→ setosa(山鸢尾)1→ versicolor(变色鸢尾)2→ virginica(维吉尼亚鸢尾)
直观验证方式
如果你想直接确认这个对应关系,可以不使用return_X_y=True参数,加载完整的数据集对象查看target_names属性:
from sklearn import datasets iris_dataset = datasets.load_iris() # 查看类别名称列表 print(iris_dataset.target_names) # 输出:['setosa' 'versicolor' 'virginica'] # 查看整数标签向量(和你拿到的y完全一致) print(iris_dataset.target)
target_names列表的索引位置和y里的整数一一对应:列表第0个元素是'setosa',对应y中的0;第1个元素是'versicolor',对应y中的1;第2个元素是'virginica',对应y中的2。
为什么用整数编码?
机器学习模型对数值型数据的处理效率远高于字符串,用整数代替品种名称作为标签,既能保证模型可以正常识别类别,又能避免字符串解析带来的额外开销,这是sklearn数据集的标准设计方式。
另外从y的结构也能直观看出对应关系:前50个元素全是0,对应数据集中前50条样本都是setosa;中间50个是1,对应versicolor;最后50个是2,对应virginica——鸢尾花数据集每个品种恰好包含50条样本。
内容的提问来源于stack exchange,提问作者polygonlink1
相关产品推荐
相关产品推荐

