본문 바로가기

카테고리 없음

[패스트캠퍼스 수강 후기] 데이터분석 인강 100% 환급 챌린지 48회차 미션




14. ch 03. 텍스트 마이닝 - 03. 텍스트 데이터 분석 실습 - 15. ch 04. 감성분류 - 01. 텍스트 마이닝을 활용한 감성 분석



14. ch 03. 텍스트 마이닝 - 03. 텍스트 데이터 분석 실습

4) 텍스트 마이닝


4-1) 단어별 빈도 분석

워드 클라우드 시각화

!pip install pytagcloud pygame simplejson


from collections import Counter

import random
import pytagcloud
import webbrowser

ranked_tags = Counter(word_count_dict).most_common(25)
taglist = pytagcloud.make_tags(sorted(word_count_dict.items(), key=operator.itemgetter(1), reverse=True)[:40], maxsize=60)
pytagcloud.create_tag_image(taglist, 'wordcloud_example.jpg',
rectangular=False)

from IPython.display import Image
Image(filename='wordcloud_example.jpg')



상위 빈도수 단어 출력

Counter(word_count_dict).most_common(25)

더블클릭 또는 Enter 키를 눌러 수정

4-2) 장면별 중요 단어 시각화

TF-IDF 변환

from sklearn.feature_extraction.text import TfidfTransformer

tfidf_vectorizer = TfidfTransformer()
tf_idf_vect = tfidf_vectorizer.fit_transform(bow_vect)


print(tf_idf_vect.shape)
print(tf_idf_vect[0])


print(tf_idf_vect[0].toarray().shape)
print(tf_idf_vect[0].toarray())


벡터 : 단어 맵핑

invert_index_vectorizer = {v: k for k, v in vect.vocabulary_.items()}
print(str(invert_index_vectorizer)[:100]+'..')


중요 단어 추출 - Top 3 TF-IDF


np.argsort(tf_idf_vect[0].toarray())[0][-3:]

np.argsort(tf_idf_vect.toarray())[:, -3:]


top_3_word = np.argsort(tf_idf_vect.toarray())[:, -3:]
df['important_word_indexes'] = pd.Series(top_3_word.tolist())
df.head()


def convert_to_word(x):
word_list = []
for word in x:
word_list.append(invert_index_vectorizer[word])
return word_list


df['important_words'] = df['important_word_indexes'].apply(lambda x: convert_to_word(x))
df.head()








15. ch 04. 감성분류 - 01. 텍스트 마이닝을 활용한 감성 분석

패스트캠퍼스 데이터분석 강의 링크
bit.ly/3imy2uN