2017-12-27 45 views
0

나는 sklearn 데이터 세트의 일부로서 홍채 데이터 세트에서 찾고 내가 할당 할 때 다음파이썬에서 scikit-learn 라이브러리의 load_iris 유형은 무엇입니까?

> iris = sklearn.datasets.load_iris() 

다음을 작성하는 것은 나에게 제공합니다

> type (iris) 
    <class 'tuple'> 

는 정확하게는 클래스에 의해 무엇을 의미 하는가 튜플 중? 나는 설명서를 읽고 있지만 여전히

> iris.data 

> iris.target 

에 액세스 할 수있는 방법을 나에게 명확하지 않지만 당신도 할 수있는 방법은 다음과 같습니다

> iris.target[[10, 25, 50]] 

수있는 사람하시기 바랍니다 더 자세히 설명해 주시겠습니까? 감사! sklearn 0.19.1 type(iris) 반환에 대한

답변

0

:

In [126]: type(iris) 
Out[126]: sklearn.utils.Bunch 

이의 그것이 후드 의미 하는가 무엇을 보자 : 나는 그것이 포함 무엇을 이해하는 데 도움이되기를 바랍니다

In [127]: sklearn.utils.Bunch?? 
Init signature: sklearn.utils.Bunch(**kwargs) 
Source: 
class Bunch(dict): 
    """Container object for datasets 

    Dictionary-like object that exposes its keys as attributes. 

    >>> b = Bunch(a=1, b=2) 
    >>> b['b'] 
    2 
    >>> b.b 
    2 
    >>> b.a = 3 
    >>> b['a'] 
    3 
    >>> b.c = 6 
    >>> b['c'] 
    6 

    """ 

    def __init__(self, **kwargs): 
     super(Bunch, self).__init__(kwargs) 

    def __setattr__(self, key, value): 
     self[key] = value 

    def __dir__(self): 
     return self.keys() 

    def __getattr__(self, key): 
     try: 
      return self[key] 
     except KeyError: 
      raise AttributeError(key) 

    def __setstate__(self, state): 
     # Bunch pickles generated with scikit-learn 0.16.* have an non 
     # empty __dict__. This causes a surprising behaviour when 
     # loading these pickles scikit-learn 0.17: reading bunch.key 
     # uses __dict__ but assigning to bunch.key use __setattr__ and 
     # only changes bunch['key']. More details can be found at: 
     # https://github.com/scikit-learn/scikit-learn/issues/6196. 
     # Overriding __setstate__ to be a noop has the effect of 
     # ignoring the pickled __dict__ 
     pass 
File:   c:\users\max\anaconda3_5.0\envs\py36\lib\site-packages\sklearn\utils\__init__.py 
Type:   type 

In [128]: sklearn.__version__ 
Out[128]: '0.19.1' 

PS 조금 더 나은

0

유형 (홍채)은 sklearn.utils.Bunch를 반환합니다.

있지만 실제로 키와 딕셔너리는 데이터 feature_names, 타겟으로서, U 코드 조리개에 볼 수있다

from sklearn.datasets import load_iris 
from sklearn.neighbors import KNeighborsClassifier 

iris=load_iris() 

features=iris['data'] #u can use iris.data 
label=iris['target'] #u can use iris.target 

model=KNeighborsClassifier(n_neighbors=1) 
model.fit(features,label) 

result=model.predict([[ 6.7, 2.5, 5.8, 1.8]]) 

를 target_names는 [ '데이터'] 데이터와 기능 NP 어레이를 제공한다.

아이리스 [ 'target']는 속한 범주의 배열을 제공합니다.

그래서 sklearn에서로드 된 홍채 데이터 세트는 기능과 레이블이 포함 된 dict입니다.