개발자 끄적끄적
데이터 마이닝 정의 및 목적 본문
<데이터 마이닝>
정의
- 의미 있는 패턴이나 법칙을 찾기 위해 다량의 데이터를 탐구하거나 분석하는 과정
- 대량의 데이터로부터 그 안에 숨어있는(implicit) 새롭고(previously unkown), 가치있고(non-trivial), 의사결정에 유용한(potentially useful)정보를 찾는 작업
목적
- Business
- 소비자를 더 잘 이해함으로써 판매량과 이윤 그리고 회사의 가치와 경쟁력을 높이는 것
- 새로운 서비스 창출
데이터마이닝
- 데이터로부터 비즈니스에 관련 있는 중요한 정보/함의를 유도하는 과정
- 다량의 데이터를 분석하기 위한 일련의 강력한 알고리즘/모델들
배경
- 다량의 데이터를 생성(Internal, Mobile, IoT(Internet of Things 사물인터넷), POS, GPS ...)
- Volume(양), Velocity(속도), Variety(다양성), Veracity()
- 다량의 데이터를 저장
- GFS(Google File System), HDFS(Hadoop distributed file system), 아마존 S3, NoSQL
*HDFS : 하둡 프레임워크를 위해 자바 언어로 작성된 분산 확장 파일 시스템
- 저렴한 연산력
- 강력한 빅데이터 분석 기법 및 시스템 개발
- 빅데이터로부터 가치 창출 핵심 기술
<빅데이터 처리 과정>
1. 데이터 소스
- 내부 데이터
- 외부 데이터
- 미디어
2. 수집
- 수동
- 자동(로그 수집기, 크롤링, 센싱)
3. 저장
- 정형데이터
- 비정형 데이터
- 데이터 등급
- 장치, 분산 저장장치
4. 처리
- 일괄 처리(Gluster, Hadoop)
- 실시간, 배치(NoSQL, 관계형 DB)
- 분산 병렬 처리(Hadoop 등)
5. 분석
- 전처리(숫자가 아니라 '문서'로 되있는 경우 -> 난이도가 올라감)
- 분석, 방법(Machine Learning 기법)
6. 표현
<데이터 마이닝 솔루션>
- DBMS에 포함
- SQL Server, Oracle DataMining, Teradata Warehouse Miner
- 데이터 마이닝 주요 소프트웨어 업체
- SAS Enterprise Miner
- Apache Hbase
- Apache MXNet
- Microsoft ML.Net
- EXEL 연동(큰 데이터는 다루지 못한다)
- XLMiner
- IDA(종합 개발도구 - 파이참, 스파이더, visual studio)
- 기타
- R Data
- Python
- JAVA Data Mining Package(JDMP)
- Google Tensorflow(무료, 어려움)
- PyTorch(Facebook)
- Caffe2(Facebook)
<적용>
- 통신(SKT)
- 고객 성향 변동 관리 : 이탈원인 파악
- 통신사가 제일 많은 데이터를 갖고 있다(단말기에 결제하는 정보가 포함)
- 금융(Charles Swab, Capital One, Bank of America)
- 사기 and 마케팅
- 보험(State Farm)
- 상품판매 및 마케팅, 고객관리, 보험 사기
- 소매(현대, Walmart, Costco)
- 매장 내 상품들과 고객 구매 패턴 분석(상품배치, 기저귀와 맥주)
- 정부(미국 FBI, CIA, 재무부, 돈 세탁)
- 이상 거래 탐지(돈의 흐름이 정상적이지 않을 때), 수입 누락(신고서를 통해 탈세 할 확률을 조사)
- 항공(United Air, 대한항공)
- 수요 예측
- 의료 분야(왓슨(AI의사), 길병원)
- 종양의 악성/양성 판단, Bioinformatics(DNA 분석), Smart healthcare
*생물체로부터 얻어진 대량의 데이터로부터 유용한 지식을 얻어내기 위한
이론 물리/전산/통계/수학적인 도구를 이용하여 생명현상을 연구하는 분야를
생정보학(bioinformatics) 혹은 생명정보학, 생물정보학으로 쓰이고 있으며
전산 생물학(Computational biology)라는 용어 또한 흔히 같은 뜻으로 쓰이고 있다
*Smart healthcare : 램수면 후 알람, 수면의 질 판단
- 제조업
- 불량품 자동검색장치(센서 데이터를 이용한 불량률 감소)
- 검색 엔진
- 텍스트 마이닝을 이용한 문서 검색(문서 분류, 감성 분석)
*문서가 갖고 있는 정보의 가장 작은 단위 : Token(토근)
*ex.어떤 리뷰를 갖고와서 이 내용이 Positive or Nagative인지 훈련 및 판단
- 지능형 (대화)시스템(chatGPT, Generative Pre-trained Transformer)
- LaMDA(Language Model gor Dialogue Application, BERT+GPT)
- Google
- BERT(Bidirectional Encoder Representations from Transformers)
- 언어인식, 대화를 위해 말을 생성(높은 미래 전망)
*인공 신경망(ANN, Artificial Neural Network)
- 시냅스의 결합으로 네트워크를 형성한 인공 뉴런(노드)이 학습을 통해 시냅스의 결합 세기를 변화시켜
문제 해결 능력을 가지는 모델 전반
*순환 신경망(RNN, Recurrent Neural Network)
- 일련의 Serial data를 통해 입력과 출력을
시퀀스 단위로 처리하는 시퀀스(Sequence)모델
*LSTM(Long Short Term Memory)
- 기존의 RNN이 출력과 먼 위치에 있는 정보를 기억할 수 없다는 단점을 보안하여
장/단기 기억을 가능하게 설계한 신경망의 구조이다. 주로 시계열 처리나 자연어 처리에 사용된다
*Attention 매커니즘
- 입력 문장이 긴 상황에서는 번영 품질이 떨어지는 현상이 나타났고, 이런 현상을 보정하기 위해 중요한 단어에 집중하여
Decoder에 바로 전달하는 Attention 기법이 등장
- 기존 방식보다 훨씬 더 많은 데이터를 Decoder에 전달
*Transformer
- 단어를 순차적으로 입력 받아서 이를 계산하기 때문에 병렬처리가 어려운 단점이 있었다. 하지만 이 순차적으로 입력받는 것이,
각 input의 위치 정보를 반영할 수 있게 해주었다. 즉, Transformer는 순차적으로 Data를 넣는 것이 아니라 Sequence를 한 번에 넣음으로써
병렬처리가 가능하면서도 Attention 등의 구조를 통해 어떤 부분이 중요한지를 전달하여 위치정보를 반영할 수 있게 되었다
'데이터 마이닝' 카테고리의 다른 글
분류 정오행렬 (0) | 2023.03.20 |
---|---|
파이썬 기초(if문, elif문, for문, while문, 함수, 모듈(Module), 패키지(Package), 클래스(Class), 생성자) (1) | 2023.03.09 |
파이썬 기초(데이터형, 리스트, 딕셔너리, 슬라이싱) (1) | 2023.03.06 |