Kaggle의 데이터에서 bag of words를 만들어 보았습니다 (1/3)

처음에



이 기사는 Kaggle의 데이터 "Bag of Words Meets Bags of Popcorn"의 데이터로 bag of words를 만들고 Random Forest에서 예측할 때까지를 설명하는 초보자를 위한 기사입니다.
영어 기사에서 좋은 것을 찾았으므로, 영어가 서투른 분에게 일본 번역+초보자용으로 보충한 것이 되고 있습니다.
또한 투고 자체가 처음이므로 조언을 주시면 감사하겠습니다.

Kaggle의 데이터에서 bag of words를 만들어 보았습니다 (2/3)
Kaggle의 데이터에서 bag of words를 만들어 보았습니다 (3/3)

환경


  • Python 3.6.0::Anaconda custom (x86_64)
  • Mac OS X 10.12.5

  • 데이터 로드


    import pandas as pd       
    train = pd.read_csv("labeledTrainData.tsv", header=0, \
                        delimiter="\t", quoting=3)
    

    이제 "labeledTrainData.tsv"가 train으로 로드됩니다.
    미세한 보충
    - header = 0, 첫 번째 열은 각 행의 이름임을 나타냅니다.
    - delimiter="\t", 데이터는 탭에 의해 분리되어 있음을 나타낸다.
    - quoting=3, Python용 오류 방지
    train.shape #学習データのデータ数と次元数の確認
    
    (25000, 3)
    

    이제 이 데이터는 데이터 수 25000, 차원 수 3임을 알 수 있습니다.
    아래와 같이 train과 치는 것만으로도 볼 수 있습니다.
    train
    



    데이터 청소



    우선은 첫 번째 사람의 리뷰를 살펴 보겠습니다.
    print (train["review"][0])
    



    실은 이 데이터는 더러운 상태(취급하기 어렵다)에 있습니다.
    앞으로이 데이터를 깨끗하게 해 나갈 것입니다. 구체적으로는 다음을 합니다.
    - 탭 지우기
    - 문자 이외(?,.,') 처리
    - 대문자, 소문자 처리

    BeautifulSoup을 사용하여 탭 지우기



    제대로 탭이 사라지고 있는 것을 확인할 수 있습니다.

    re를 사용한 문자 이외의 처리
    여기에서는 (?,.,/,#,",')와 같은 문자 이외의 것을 처리해 나갑니다.
    import re
    letters_only = re.sub("[^a-zA-Z]",           #この条件に合致するものを
                          " ",                   #これ(今回は空白)に置換する
                          example1.get_text() )  #対象とするテキストデータ
    print(letters_only) 
    

    조금 보이기 어렵지만, 「.」나 「"」가 사라지고 있는 것을 확인할 수 있습니다.


    대문자, 소문자 처리
    마지막으로 모든 문자를 소문자로 합니다. 이것은 여전히 ​​With와 with가 다른 문자로 처리되기 때문입니다.
    lower_case = letters_only.lower()        #全て小文字に変換する
    print(lower_case)
    



    제대로 소문자가 되어 있네요.
    이번에는 이것으로 끝입니다.
    다음 번부터 본격적으로 bag of words를 만들어 갑니다.

    참고문헌



    Part 1: For Beginners - Bag of Words

    좋은 웹페이지 즐겨찾기