sklearn自带的iris.csv数据集中有隐藏数据吗?

use*_*857 0 python csv scikit-learn

为菜鸟问题道歉...

我正在使用 sklearn 附带的 iris 数据集。当我输入:

iris.feature_names
Run Code Online (Sandbox Code Playgroud)

它输出:

['sepal length (cm)',
 'sepal width (cm)',
 'petal length (cm)',
 'petal width (cm)']
Run Code Online (Sandbox Code Playgroud)

我不明白的是它从哪里得到这些词。我在 Excel 中打开了 iris CSV,但找不到任何对这些词的引用。

我错过了什么?

这是在 Excel 中的 CSV 中可见的全部内容:

150,4,setosa,versicolor,virginica
5.1,3.5,1.4,0.2,0
4.9,3.0,1.4,0.2,0
4.7,3.2,1.3,0.2,0
4.6,3.1,1.5,0.2,0
5.0,3.6,1.4,0.2,0
5.4,3.9,1.7,0.4,0
4.6,3.4,1.4,0.3,0
5.0,3.4,1.5,0.2,0
4.4,2.9,1.4,0.2,0
4.9,3.1,1.5,0.1,0
5.4,3.7,1.5,0.2,0
4.8,3.4,1.6,0.2,0
4.8,3.0,1.4,0.1,0
4.3,3.0,1.1,0.1,0
5.8,4.0,1.2,0.2,0
5.7,4.4,1.5,0.4,0
Etc...
Run Code Online (Sandbox Code Playgroud)

DSM*_*DSM 5

如果您查看该函数的源代码datasets.load_iris()——datasets.load_iris??如果您使用的是 IPython ,您可以轻松地使用它——您可以看到发生了什么。在函数的最后一部分——在它被读取并处理iris.csviris.rst文件之后——你会看到

return Bunch(data=data, target=target,
             target_names=target_names,
             DESCR=fdescr.read(),
             feature_names=['sepal length (cm)', 'sepal width (cm)',
                            'petal length (cm)', 'petal width (cm)'])
Run Code Online (Sandbox Code Playgroud)

所以这些功能名称在函数中被硬编码,而不是在csv.