Exploration Node
[2-3] 내장함수 dir이 어트리뷰트만을 결과로 반환하고 있습니다.
玄曄
2021. 9. 29. 09:11
노드에 설명에는 변수와 메스드를 반환한다고 했는데 변수만을 나타내고, `keys()` 같은 메소드는 나오지 않아서 질문드립니다!
from sklearn.datasets import load_iris
iris = load_iris()
print(dir(iris))
# 결과 : ['DESCR', 'data', 'feature_names', 'filename', 'frame', 'target', 'target_names']
dir()는 객체가 어떤 변수와 메서드를 가지고 있는지 나열함
[답변]
dir()함수로 출력할 것을 임의로 만들수도 있다.
load_iris()는 번취 객체를 반환한다. 번취는 sklearn의 딕셔너리로 이해하면 된다.
Bunch는 sklearn에서 정의한 클래스인데
__dir__함수로 return self.keys()를 반환하기 때문에 dir()을 통해서 다른 함수는 안나오고 keys()만 나오게 됩니다.
관련 링크
1.
https://github.com/scikit-learn/scikit-learn/blob/844b4be24/sklearn/datasets/_base.py#L608
GitHub - scikit-learn/scikit-learn: scikit-learn: machine learning in Python
scikit-learn: machine learning in Python. Contribute to scikit-learn/scikit-learn development by creating an account on GitHub.
github.com
2.