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)
환경
데이터 로드
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
Reference
이 문제에 관하여(Kaggle의 데이터에서 bag of words를 만들어 보았습니다 (1/3)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/nana1212/items/7421bb0f4414fdee5e8c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import pandas as pd
train = pd.read_csv("labeledTrainData.tsv", header=0, \
delimiter="\t", quoting=3)
train.shape #学習データのデータ数と次元数の確認
(25000, 3)
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
Reference
이 문제에 관하여(Kaggle의 데이터에서 bag of words를 만들어 보았습니다 (1/3)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/nana1212/items/7421bb0f4414fdee5e8c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Kaggle의 데이터에서 bag of words를 만들어 보았습니다 (1/3)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/nana1212/items/7421bb0f4414fdee5e8c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)