TextMining과
NaiveBayes분류 알고리즘
오늘 다루는 내용은...
Spark에서 TextMining 할 때 괜찮은 도구들..
데이터 소개
(상가명 - 업종코드) 450만개 Set
업종코드 : 380여개
꼭지네즉석떡뽂이 - 떡뽁이전문
서현대미용실 - 미용실
바른김밥 김선생 - 라면김밥분식
태광어린이집 - 횟집 (????)
문제점
출처: 박은정(파이썬 한국어 NLP) https://www.slideshare.net/lucypark/py-con-2014-38531830
형태소분석
Spark NKP
(은전한닢 Scala버전 seunjun을 Spark로 개량)
2. NaiveBayes 분류
2. NaiveBayes 분류
P(A|B) = P(B|A) * P(A) / P(B)
2. NaiveBayes 분류
P(A|B) = P(A ∩B) / P(B)
P(B|A) = P(A ∩B) / P(A)
=> P(B|A) * P(A) = P(A ∩B)
P(A|B) = P(B|A) * P(A) / P(B)
2. NaiveBayes 분류
P(Spam|Free) = P(Free|Spam) * P(Spam) / P(Free)
P(Ham|Free) = P(Free|Ham) * P(Ham) / P(Free)
2. NaiveBayes 분류
P(Spam|[Free,Visit,....]) = P([Free,Visit,....]|Spam) * P(Spam)
P(Spam|[Free,Visit,....]) = P(Free|Spam) * P(Visit|Spam) * P(....|Spam) * P(Spam)
3.시연
시연 데이터 소개
(상가명 - 업종코드) 240만개 Set
업종코드 : 720여개
data.go.kr
중소상인공단 업로드한
상가데이터 파일
3.시연 - Text Mining Process
맴맴숫불통닭
[맴,맴,숯불,통닭]
[9900,[(0,2),(1,1),(2,1)]]
형태소분석
TF, TF-IDF,word2vec
후라이드/양념치킨
278
StringIndexer
Feature
Label
Naive Bayes
3.시연 - Text Mining Process
Feature
TF / TF-IDF / Word2Vec
TF : org.apache.spark.ml.feature.CountVectorizer
IDF : org.apache.spark.ml.feature.IDF
Word2Vec : org.apache.spark.ml.feature.Word2Vec
Label
업종코드 String => Double
org.apache.spark.ml.feature.StringIndexer
Algorithm
NaiveBayes / SVM
org.apache.spark.ml.classification.NaiveBayes
SVM은 2.2 버전부터 사용가능
3.시연 - Text Mining 결과
TF-NB
TRAIN : 72.6%
TEST : 70.8%
TF-IDF-NB
TRAIN : 75.7%
TEST : 70.2%
품질개선
업종코드를 다르게 예측하였고, 예측확률이 아주 높은 순 정렬
4.분류평가
정확도
(Accuracy)
민감도
(Sensitivity)
특이도
(Specificity)
FScore
정밀도
(Precision)
재현율
(Recall)
ROC
4.분류평가
정확도
(Accuracy)
민감도
(Sensitivity)
특이도
(Specificity)
FScore
정밀도
(Precision)
재현율
(Recall)
ROC
Precision-
Recall Graph
1.분류
2.검출(검색)
Mean IU
Pixel Accuracy
Mean
Accuracy
Frequency
Weighted IU
3.분할
K-S test
Gini
4.금융
4.분류평가 - 혼돈매트릭스(Confusion Matrix)
4.분류평가
분류-민감도
분류-특이도
검출-정밀도
검출-재현율
4.분류평가
분류-정확도
검출-FScore
2 X 정밀도 X 재현율
정밀도 + 재현율
4.분류평가
출처 : 김태영의 케라스 블로그 https://tykimos.github.io/2017/05/22/Evaluation_Talk/
4.분류평가
분류-ROC curve
(Receiver Operating Characteristic)
검출-Precision-recall curve
AUC (Area Under Curve)
= 커브하단면적
AP(Average Precision)
= MEAN( Precion + Recall)
수고하셨습니다.