목록코랩 (16)
Note
1. FP - Growth 알고리즘이란? Apriori 알고리즘의 속도 측면 단점을 개선한 알고리즘이다. Apriori 알고리즘과 비슷한 속도를 내지만 FP Tree 구조를 사용해 빠른 속도를 가진다. 단점으로는 동일하게 발생하는 아이템 집합을 찾는 데는 유용하지만 연관성을 찾기는 어렵고 또한, 설계가 어려운 단점이 있다. 2. 원리 1) 모든 거래를 확인하여 , 각 아이템의 지지도를 계산하고 최소 지지도 이상 해당하는 아이템만 선택한다. 2) 전체 거래에서 빈도가 높은 순으로 정렬한다. 3) 부모 노드 중심으로 자식 노드를 추가해가면서 tree를 생성한다. 4) 새로운 아이템이 발생하면 부모 노드부터 시작하고, 그렇지 않으면 기존 노드에서 확장한다. 5) 모든 거래에 대해 반복하고 tree 생성 후에 ..
1. 정규 표현식이란? 특정 규칙이 있는 텍스트 데이터를 좀 더 간편하고 빠르게 전처리 할 수 있는 방식이다. 2. 문법 문자 규칙 의미 \(역슬래쉬) 문자 자체 \d 모든 숫자( = [0-9] ) \D 숫자를 제외한 모든 문자 ( = [^0-9] ) \s 공백을 의미 ( = [\t\n\r\f\v] ) \S 공백을 제외한 문자 ( = [^\t\n\r\f\v] ) \w 문자 또는 숫자 ( = [a-zA-z0-9] ) \W 문자 또는 숫자가 아닌 문자 ( = [^a-zA-z0-9] ) ^문자가 오면 해당하는 것을 제외하고 라는 것을 알 수 있다. 특수 문자 의미 . 한 개의 임의 문자 ( \n은 제외 ) ? 앞에 문자가 있을수도 없을수도 있다.( 0 or 1개 ) * 앞에 문자가 무한개로 있을수도 없을수도 ..
1. 알고리즘의 원리 자주 구매하는 아이템 셋의 하위 아이템 셋 또한 자주 구매될 것이다. 즉, 이를 통해 자주 구매되지 않은 아이템 셋은 하위 아이템셋 또한 자주 구매되지 않는다를 통해 규칙의 수를 줄이는 방법이다. 2. 알고리즘 진행 순서 ( * mlxtend는 !pip install mlxtend를 통해 설치해야 한다. ) 필요한 라이브러리를 임포트하고 데이터 셋을 생성한다. TransactionEncoder()를 통해 spars matrix 형태로 변경해준다. 항목집단에서 최소 지지도 0.5 이상인 값들만 뽑아준다. 추가로 association_rule을 사용해서 특정 성능 이상의 값들만 출력할 수 있다. 아래는 아이템 셋에서 향상도를 바탕으로 최소 값이 1 이상인 상품 셋을 보여준다. ( Oni..
표제어 추출은 기본 사전형 단어라는 의미를 가지고 있다. 한 단어에서 여러 개의 파생 단어가 나왔을 경우 그 뿌리를 찾아가는 과정이라고 할 수 있다. 어간 추출과는 다르게 단어의 형태가 보존되어 출력되는 것이 특징이다. 하지만 표제어 추출도 완벽하지 않은데 그 이유 중 하나로 해당 단어에 대한 품사 정보가 부족하기 때문이다. 이와 같은 현상을 막기 위해 품사 형태를 지정해주는 방법이 있다. Lemmatization 예시 am → be, the going → the going, having → have 예시를 보면 이전 포스팅한 어간 추출과는 다르게 대부분의 형태가 잘 유지된 것을 볼 수 있다.
어간 추출은 말 그대로 어간을 추출하는 작업이다. 정해진 규칙을 보고 단어의 어미를 자르는 작업이라고도 볼 수 있다. 어간 추출 속도는 표제어 추출보다 빠르다. 영어권 언어를 자연어 처리하는 과정에서 어간 추출을 해야 한다면 보통 포터 알고리즘을 많이 사용한다. Stemming 예시 am → am, the going → the go, having → hav 예시처럼 정해진 규칙을 보고 어미를 자르기 때문에 정확도가 높은 작업은 아니며, 사전에 없는 단어일 가능성도 있다.