ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 텍스트 구조적 군집분석
    Python 2020. 3. 2. 15:07

    # 패키지 로딩하기
    import pandas as pd
    import numpy as np
    import matplotlib.pyplot as plt
    import scipy.cluster.hierarchy as shc
    from konlpy.tag import Hannanum
    from sklearn.feature_extraction.text import CountVectorizer
    from sklearn.cluster import AgglomerativeClustering

     

    # 한나눔 형태소 분석기 클래스 만들기
    hannanum = Hannanum()

     

    # 데이터 읽어오기
    news = pd.read_csv("d:/deeplearning/textmining/군집분석데이터.csv", engine = "python")

     

    # 명사 추출하기와 빈도 구하기
    news_docs = []
    for i in news["기사내용"]:
         news_docs.append(hannanum.nouns(i))

     

    for i in range(len(news_docs)):
         news_docs[i] = " ".join(news_docs[i])

     

    news_vec = CountVectorizer()
    news_x = news_vec.fit_transform(news_docs)

     

    # 데이터 프레임 만들기
    news_df = pd.DataFrame(news_x.toarray(), columns = news_vec.get_feature_names())
    news_df.index = news["검색어"]

     

    # 구조적 군집분석
    news_cluster = AgglomerativeClustering(n_clusters = 3, linkage = "ward")
    news_cluster.fit_predict(news_df)

     

    # 덴드로그램 작성하기
    plt.figure(figsize = (10, 7))
    plt.title("Customer Dendrograms")
    dend = shc.dendrogram(shc.linkage(news_df, method = "ward"))
    plt.show()

     

    [출처] 잡아라! 텍스트마이닝 with 파이썬, 서대호 지음, BJ, p90~91

    'Python' 카테고리의 다른 글

    사전 기반의 감성분석(Sentiment Analysis)  (0) 2020.03.03
    LDA(Latent Dirichlet Allocation)  (0) 2020.03.02
    텍스트 군집분석  (0) 2020.03.02
    word cloud  (0) 2020.03.02
    KoNLPy 패키지에서 제공하는 형태소 분석기  (0) 2020.02.27
Designed by Tistory.