본문 바로가기
python

AttributeError: 'TfidfVectorizer' object has no attribute 'get_feature_names'

by 타닥타닥 토다토닥 부부 2023. 12. 31.
반응형

AttributeError: 'TfidfVectorizer' object has no attribute 'get_feature_names'

get_feature_names()는 sklearn 0.24 버전 이하에서 사용하던 메서드 입니다.
1.0 버전 부터는 get_feature_names_out()로 변경되었습니다. 

get_feature_names() -> get_feature_names_out()

 

아래는 get_feature_names_out 메서드 활용 예시 입니다.

#sklearn for TF-IDF
from sklearn.feature_extraction.text import TfidfVectorizer

data = [
    "Thanks man, I just realized my pycharm uses an older version of sklearn.",
    "Thousands stranded at New Year as Eurostar cancelled"
    ]
    
tfidv = TfidfVectorizer()
tfidf_result = tfidv.fit_transform(data)

# get_feature_names_out 매서드를 통해 토크나이져가 가진 토큰을 인덱스 순으로 볼 수 있습니다.
# get_feature_names() -> get_feature_names_out()
print(tfidv.get_feature_names_out())

# out : ['an' 'as' 'at' 'cancelled' 'eurostar' 'just' 'man' 'my' 'new' 'of'
#        'older' 'pycharm' 'realized' 'sklearn' 'stranded' 'thanks' 'thousands'
#        'uses' 'version' 'year']
반응형

댓글