목록분류 전체보기 (231)
도찐개찐
KoNLPy NLTK는 영어 정보처리를 위한 패키지 반면, KoNLPy는 한국어 정보처리를 위한 패키지임 서울대학교 산업공학과 개발한 형태소 분석기 이미 개발된 한글 형태소 분석기를 파이썬에서 바로 사용할 수 있도록 도와줌 일종의 래퍼 패키지 현재까지 지원하는 형태소분석기는 모두 5가지 Hannanum, Kkma, Komoran, mecab, Okt konlpy-ko.readthedocs.io / konlpy.org 설치방법 KoNLPy 설치전 필수 패키지가 JPype1 인데 Visual C++ 14 버젼 필요!! (OS가 윈도우인 경우) Many binaries depend on numpy+mkl and the current Microsoft Visual C++ Redistributable for Vi..
텍스트 마이닝 자연어로 구성된 "비정형 데이터"에서 패턴 또는 관계를 추출하여 의미 있는 정보를 찾아내는 기법들을 의미 트위터, 페이스북, 블로그, 웹게시판, 온라인 뉴스등 웹 상에 존재하는 방대한 비정형 데이터를 실시간으로 수집/분석하여 고객의 감성 및 의도등을 알아내는 과정을 의미 자연어 처리(Natural Language Processing)와 텍스트 분석(Text Analytics)등이 핵심 분야 텍스트 마이닝 활용분야 텍스트분류 : 문서가 특정 분류/카테고리에 속하는 것을 예측 감성분석 : 텍스트에 나타나는 감정/판단/믿음/의견등 주관적인 요소를 분석 텍스트요약 : 텍스트 내에서 중요한 주제나 중심사상을 추출 텍스트군집화 : 비슷한 유형의 문서에 대해 군집화를 수행 텍스트 분석 수행 과정 텍스트..
Hierarchical clustering (한글 : 계층적 군집 분석) 은 비슷한 군집끼리 묶어 가면서 최종 적으로는 하나의 케이스가 될때까지 군집을 묶는 클러스터링 알고리즘이다. ex) “진돗개,세퍼드,요크셔테리어,푸들, 물소, 젖소" 를 계층적 군집 분석을 하게 되면 첫번째는 중형견, 소형견, 소와 같은 군집으로 3개의 군집으로 묶일 수 있다. 이를 한번 더 군집화 하게 되면 [진돗개,셰퍼드] 와 [요크셔테리어,푸들] 군집은 하나의 군집(개)로 묶일 수 있다. 마지막으로 한번 더 군집화를 하게 되면 전체가 한군집(동물)으로 묶이게 된다. 이렇게 단계별로 계층을 따라가면서 군집을 하는 것을 계층적 군집 분석이라고 한다. 계층적 군집 분석은 Dendrogram이라는 그래프를 이용하면 손쉽게 시각화 할 ..
덴드로그램 클러스터링의 결과를 시각화하기 위한 대표적인 그래프 중 하나. 계층적 군집분석(hierachical clustering) 방식에 대해 시각화 하는 그래프로 많이 활용 되고 있음. 가까운 두점 혹은 점과 그룹을 묶어 나가면서 그룹을 이루어 나가는 과정을 기각화 한 그래프 Hierarchical clustering (한글 : 계층적 군집 분석) 은 비슷한 군집끼리 묶어 가면서 최종 적으로는 하나의 케이스가 될때까지 군집을 묶는 클러스터링 알고리즘이다. ex) “진돗개,세퍼드,요크셔테리어,푸들, 물소, 젖소" 를 계층적 군집 분석을 하게 되면 첫번째는 중형견, 소형견, 소와 같은 군집으로 3개의 군집으로 묶일 수 있다. 이를 한번 더 군집화 하게 되면 [진돗개,셰퍼드] 와 [요크셔테리어,푸들] 군집..
머신러닝의 종류 지도학습 - 데이터와 정답을 이용해서 패턴/규칙 파악 비지도 학습 - 데이터만을 이용해서 유사도에 따른 패턴/규칙 파악 비지도학습의 대표적인 분석방법 : 군집 k-means 서로 유사성이 높은 것끼리 관측값을 묶어 다수의 그룹으로 만듦 즉, 동일 그룹내 구성원간의 유사성은 높지만 다른 그룹의 구성원과의 유사성은 거의 없도록 하는 것 군집분석 SSW, SSB prototype based 군집 - 여러번 시도후 완성 각 군집이 처음부터 완성(고정)되어 있는 것은 아니고 군집화 시도 횟수에 따라 군집의 유형이 변함 활용분야 소비자유형 파악 - 타겟 마케팅 적용 범죄율이 높은 지역 검출 이미지/얼굴/손글씨 인식 - SVM 유전자 검사/지리정보를 이용해서 지형 탐사 import numpy as n..
■ 데이터를 보다 잘 이해하기 위해 하는 클러스터링(Clustering) 클러스터링은 어떤 데이터가 주어졌을 때 1) 하나의 군집에 있는 각 데이터 포인트가 서로 비슷하고 2) 다른 군집에 있는 데이터와는 다르게 데이터를 분류해주는 작업이다. 이미 주어져 있는 데이터를 가지고 군집을 만들기 때문에 기술(descriptive)적인 분석을 가능하게 해준다. 아래 그림에서 오른쪽은 색깔로 레이블이 표시된 실제 데이터이다. 그렇지만 만약 각 데이터의 정체를 모른다면? 그림의 왼쪽과 같이 가까운 데이터끼리 묶는 작업이 필요하다. 물론 현실에서 데이터가 저렇게 예쁘게 거리를 두고 있기 만무하지만, 하나의 군집 내 데이터끼리의 거리를 최소화(빨간 화살표의 길이)하고, 각 군집끼리의 거리(파란 화살표의 길이) 를 최대..
부스팅boosting 배깅처럼 무작위로 표본을 추출해서 분석하는 것보다 약간의 가능성이 높은 규칙들을 결합시켜 보다 정확한 예측모델을 만들어 내는 것을 의미 즉, 약한 모델 여러개를 결합시켜 강한 모델을 만들어 냄 배깅은 여러 분류기를 병렬적으로 연결해서 각 분류기로 부터 얻어진 결과를 한번에 모두 고려 => 각 분류기가 학습시 상호 영향을 주지 않음 부스팅은 순차적으로 연결해서 전 단계 분류기의 결과가 다음 단계 분류기의 학습과 결과에 영향을 미침 부스팅 기법 종류 AdaBoost : 가중치 기반 부스팅 기법 Gradientboost : 잔여오차 기반 부스팅 기법 XGBoost : GB 개량 부스팅 기법 (추천!) LightGBM : XGB 개량 부스팅 기법 (추천!) import numpy as np..
랜덤포레스트 앙상블 학습 알고리즘 중 대표적인 학습 알고리즘 여러 개의 의사결정나무들을 생성한 다음, 각 개별 트리의 예측값들 중에서 가장 많이 선택된 클래스로 예측하는 알고리즘 물론, 배깅분류기에 의사결정트리를 넣는 대신 결정트리에 최적화되어 있는 포레스트분류기를 사용 import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns from sklearn.model_selection import train_test_split from sklearn.ensemble import VotingClassifier from sklearn.ensemble import RandomForestClassifier fr..