如何列出sklearn.datasets对象的所有属性?

时间:2016-01-30 18:32:35

标签: python r scikit-learn attributes

来自R,在那里我可以用str()检查任何对象的内部结构,我很困惑如何在Python中做同样的事情。标准是使用dir(my_object),但它没有列出所有属性,包括非常重要的属性。例如:

from sklearn import datasets
iris = datasets.load_iris()
dir(iris)

dir(iris)未列出最重要的属性,例如iris.datairis.target等。

我是否应该阅读文档以了解这些属性,或者是否有办法从查看对象内部找到它?

2 个答案:

答案 0 :(得分:6)

数据集被加载到类似dict的对象中,因此您可以找到存储在dict中的数据,而不是包含标准dict方法的命名空间中的所有内容。

In [2]: iris = datasets.load_iris()

In [3]: iris.keys()
Out[3]: ['target_names', 'data', 'target', 'DESCR', 'feature_names']

答案 1 :(得分:1)

以下是一些属性:

In [10]: iris.data
Out[10]: array([[ 5.1,  3.5,  1.4,  0.2],
                [ 4.9,  3. ,  1.4,  0.2],
                [ 4.7,  3.2,  1.3,  0.2],
                ...

In [11]: iris.target
Out[11]: array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
                1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
                1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
                2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
                2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2])

In [13]: iris.target_names
Out[13]: array(['setosa', 'versicolor', 'virginica'], 
         dtype='|S10')

In [14]: iris.feature_names
Out[14]: ['sepal length (cm)',
          'sepal width (cm)',
          'petal length (cm)',
          'petal width (cm)']

最后一个将为您提供具有一些摘要统计数据的数据集的详细说明。

In [15]: iris.DESCR
Out[15]: 'Iris Plants Database\n\nNotes\n-----\nData Set Characteristics:\n    :Number of Instances: 150 (50 in each of three 

我截断了iris.datairis.DESCR的输出。 Here are the dataset docs