본문 바로가기

IT 와 Social 이야기/Python348

[데이터 사이언스 스쿨] ml5.1 Scikit-Learn의 문서 전처리 기능 ○ BoW(Bag of Words) 인코딩 문서를 숫자 벡터로 변환하는 가장 기본적인 방법으로 전체 문서 {d1,d2,…,dn}를 구성하는 고정된 단어장(vocabulary) {t1,t2,…,tm}를 만들고 di라는 개별 문서에 단어장에 해당하는 단어들이 포함되어 있는지를 표시하는 방법이다. (없으면 0, 있으면 1) ○ Scikit-Learn 문서 전처리 기능 DictVectorizer: 각 단어의 수를 세어놓은 사전에서 BOW 인코딩 벡터를 만든다. CountVectorizer: 문서 집합에서 단어 토큰을 생성하고 각 단어의 수를 세어 BOW 인코딩 벡터를 만든다. TfidfVectorizer: CountVectorizer와 비슷하지만 TF-IDF 방식으로 단어의 가중치를 조정한 BOW 인코딩 벡터를.. 2021. 5. 7.
[데이터 사이언스 스쿨] ml4.1 KoNLPy 한국어 처리 패키지 ○ 한국어 말뭉치 KoNLPy에서는 대한민국 헌법 말뭉치인 kolaw와 국회법안 말뭉치인 kobill을 제공한다. 각 말뭉치가 포함하는 파일의 이름은 fields 메서드로 알 수 있고 open 메서드로 해당 파일의 텍스트를 읽어들인다. ○ 형태소 분석 - Hannanum: 한나눔. KAIST Semantic Web Research Center 개발 - Kkma: 꼬꼬마. 서울대학교 IDS(Intelligent Data Systems) 연구실 개발 - Komoran: 코모란. Shineware에서 개발 - Mecab: 메카브. 일본어용 형태소 분석기를 한국어를 사용할 수 있도록 수정 - Open Korean Text: 오픈 소스 한국어 분석기. 과거 트위터 형태소 분석기 - 출처 : [데이터 사이언스 스쿨.. 2021. 5. 6.
[데이터 사이언스 스쿨] ml3.1 NLTK 자연어 처리 패키지 ○ NLTK(Natural Language Toolkit) 패키지는 교육용으로 개발된 자연어 처리 및 문서 분석용 파이썬 패키지다. ○ 말뭉치(corpus) : 자연어 분석 작업을 위해 만든 샘플 문서 집합을 말한다. - 단순히 소설, 신문 등의 문서를 모아놓은 것도 있지만 품사, 형태소 등의 보조적 의미를 추가하고 쉬운 분석을 위해 구조적인 형태로 정리해 놓은 것을 포함한다. - NLTK의 말뭉치 자료는 설치시에 제공되지 않고 download 명령으로 사용자가 다운로드 받아야 한다. ○ 토큰(token) 생성 자연어 문서를 분석하기 위해서는 우선 긴 문자열을 분석을 위한 작은 단위로 나누어야 한다. 이 문자열 단위를 토큰(token)이라고 하고 이렇게 문자열을 토큰으로 나누는 작업을 토큰 생성(toke.. 2021. 5. 6.
[데이터 사이언스 스쿨] ml2.2 범주형 데이터 처리 ○ 범주형 데이터(category data) : 종류를 표시하는 데이터 ○ 범주형 데이터의 변형 : 대부분의 데이터 분석 모형은 숫자만 입력으로 받을 수 있기 때문에 범주형 데이터는 숫자로 변환해야 한다. 더미변수화 카테고리 임베딩 ○ 더미변수화 : 더미변수(dummy variable)는 0 또는 1만 가지는 값으로 어떤 특징이 존재하는가 존재하지 않는가를 표시한다. 다음과 같은 명칭으로 불린다. 이진지시자(Boolean indicator) 이진변수(binary variable) 지시변수(indicator variable) 설계변수(design variable) 처치(treatment) ○ 카테고리값을 더미변수화하면 복수의 더미변수 벡터로 표시한다. ○ 축소랭크 방식 지금까지 설명한 더미변수 방식을 풀랭.. 2021. 5. 6.