Fascination
article thumbnail

Ch2. Business Problems and Data Science Solution

- 숙명여자대학교 소프트웨어학부 데이터사이언스개론 - 박동철 교수님


# Data Science Process

- data science 원리

> data mining은 상당히 이해되는 단계임 → fairly well-understood = systematic

- Data science 과정

> data scientist들은 현실세계의 문제를 substask로 나눔

> subtask들에 대한 해결은 전반적인 문제를 해결하기 위해 구성됨

- 문제의 밑바탕이 되는 공통된 data mining task가 있음

> ex) classification, regression, clustering, association, rule discovery, ...

- 좋은 data scientist가 되기 위해서는

> 이러한 공통된 data mining task로 해결하는 것에 대해 많이 알아야 함

> 문제를 이런 공통된 task끼리 분해하는 능력을 가져야 함

* pipeline: 병렬처리 (독립적으로 작동 가능)

 


# Common Data Mining Tasks

- 많은 수의 특정 data mining 알고리즘에도 불구하고 근본적으로 다른 data mining은 극히 일부에 불과함

① Classification - 분류

② Regression (a.k.a. value estimation) - 회귀분석 (값 예측)

③ Similarity matching - 유사도 매칭

④ Clustering - 군집화: 유사 데이터끼리 묶는 것

⑤ Co-occurrence grouping (a.k.a. association rule discovery) - 동시 발생/ 연관성 규칙 발견

⑥ Profiling (a.k.a. behavior description) - 행동 묘사

⑦ Link prediction - 연관성 예측

⑧ Data reduction - 불필요한 데이터 제거 or 데이터 형태를 바꿈

⑨ Casual modeling - 인과 관계 모델링

 

 

# 1. Classification

- 각각의 데이터가 어느 class 집단에 속하는지 예측하는 것

 which of a set of classes this individual belongs to

> 일반적으로 class들은 상호 배타적이다 ex) Yes이면서 No인 것은 없음

* classification target: 분류하고자 하는 target

* Buy widget → Yes or No로만 분류되고 있음

* New instance의 ??? 를 예측하는 것 → classification

- 일반적인 과정

> training dataset이 주어지면, data의 classes를 묘사하는 모델을 구축

> 새로운 individual이 주어지면, 그것의 class를 추정하는 과정에 모델을 적용

- A similar task: 점수 또는 클래스 확률 추정 → scoring or class probability estimation

> 새로운 individual이 각 클래스에 속할 확률을 만듬

ex) (Lee, 42000, male, 44) → (Yes: 80%, No: 20%)

 

 

# 2. Regression

- 각 individual에 대해, 그 individual이 속하는 어떤 변수의 숫자 값을 추정 또는 예측하는 것 → numerical value

> 값 추정이라고도 함

ex) 무게가 주어질 때, 그 사람은 키가 몇일까? → x값이 주어질 때 y값을 예측하는 것

- 일반적인 과정

> training dataset이 주어지면, 각 individual의 특정 변수의 값을 보여주는 모델을 구축

 the value of the particular variable specific to each individual

- Regression vs. classification

> classification: instance의 class를 예측 ex) Yes/No

> regression: instance와 연관이 있는 값을 예측

 

 

# 3. Similarity Matching

- 유사한 개인에 대해 알려진 데이터를 기반으로 비슷한 개인을 식별함

 identify similar individual based on data known about them

ex )어떤 user가 user 1과 비슷한가? / 어떤 item이 item 3와 비슷한가?

- 일반적인 과정

> 두 individual 사이의 거리에 대한 척도를 정의함 → Define a distance measure

* 유사하다는 기준을 정하는데 거리를 사용하며 거리가 가까울수록 유사도가 높은 것임

> individual이 주어지면 거리를 최소화하는 individual들을 찾음  individuals that minimize the distance

 

 

# 4. Clustering

- 군집화: 답을 모르는 상태에서 거리가 가까운 individual들 끼리 묶는 것 → 거리가 가깝다 : similar하다

> 거리 측정은 두 individual 사이의 유사성을 결정하는데 사용됨

 distance measure: determine the similarity

- data 안에 존재하는 자연스러운 그룹을 보는 것에 매우 유용하다 → natural: 답을 모르지만 자연스럽게 분류

> ex) 어떤 종류의 고객이 있는가?

 

 

# 5. Co-occurrence grouping

- 두 entites 사이의 관련성이나 동시 발생을 찾는 것  Find associations or co-occurrence

> ex) 어떤 item들이 같이 공통적으로 구매되는가?

An axxociation rule: {Diapers} → {Beer}

" 귀저기를 사는 고객은 맥주를 사는 경향이 있음"

- marketing에 매우 유용

> 특별 프로모션, 상품 진열, 상품끼리의 조합을 제공하는데 있어서 유용

> 추천 → X물건을 사는 사람이 Y물건을 사는 경향이 있음

 

 

# 6. Profiling

- 개인이나 집단의 전형적인 행동을 특징지음 → characterize the typical behavior

> 행동 묘사라고도 부름

- 일반적이지 않은 일을 감지하는데에 있어 매우 유용  anomaly detection

> profile은 일반적인 행동을 묘사함

> 최근 행동이 profile과 매우 다르다면, 경보를 울림

> ex1) 미국에서만 사용하던 카드를 한국에서 사용했을 때 사용자에게 카드회사로부터 연락이 옴

> ex2) 사기 탐지: 일반적으로 하는 신용 카드로 구매하는 것의 종류에 대해 profile을 가지고 있다면,

평소 사지 않던 물건을 해당 신용카드로 사게 되면 알람이 울림

 

 

# 7. Link Prediction

- data item들 사이의 관계를 예측  predict connections between data items

> 일반적으로 link가 존재하는 것을 제안하고 그 강도를 추정함으로써 관계를 예측함

- 추천에 있어 매우 유용함

> SNS의 친구 추천 시스템

> 고객에게 영화를 추천할 때

 

 

# 8. Data Reduction

- dataset을 더 큰 dataset의 중요한 정보를 많이 포함하는 작은 dataset으로 줄임

영화의 시청 여부를 선택할 때 장르가 중요한 정보라면 해당 영화가 속하는 장르로 분류할 수 있음

- advantage

> 작은 dataset이 다루거나 처리하기 더 쉬움

> 정보나 insight를 드러는데 더 나음

> 정보를 일부 손실할 수 있음

 

 

# 9. Causal Modeling

- 인과 모델링

- 사건이나 행동이 다른 이들에게 영향을 미치는 것을 이해하는 것 → influence others

흡현이 폐암을 유발하는가 아니면 그 반대인가?

- 예시

> target이 되는 소비자가 더 높은 비율로 구매한다고 가정

> 이건 targeting을 잘해서 인가 그사람들이 좋은 고객이어서 인가?

 


# Supervised VS. Unsupervised

- 정답을 알고 학습하는가의 차이

- Supervised data mining ex) 지도 학습

> 특정 대상을 구제화

> ex) target: buy widget

> target을 예측하는 것이 목적임

> training dataset이 있어야 함 → target value = label

> classification, regression, casual modeling,

(similarity matching, link prediction, data reduction←likely)

* likely: 상황에 따라 supervised or unsupervised 둘 중 하나

- Unsupervised data mining ex) 비지도 학습

> 특정 대상을 구체화하지 않음

> ex) clustering: We have no specifiec target to define

> 어느 특정한 target 없이 어떤 패턴을 찾는 것이 목표

> training dataset이 필요하지 않음

> clustering, co-occurrence grouping, profiling

 

 

 

 

# Classification VS. Regression

- 둘 다 supervised data mining task임 → target의 유형에 따라 구분됨

- classification

> target: category가 있는 값 (주로 값이 두개 중 하나인 경우) ex) YES/NO, High/Mid/Low

- regression

> target: 숫자 값

 


# Data Mining and Its Results

- data mining의 두 가지 단계

* target = class

> mining phase: 이미 존재하는 data로부터 패턴을 찾거나 모델을 구축

 

 

 

* ?: 값이 정해지지 않은 상태

> use phase: 패턴과 모델을 새로운 데이터에 적용

 

 

 

 

 

 

 

# Data Mining Process

- CRISP - DM: 산업을 통틀어 표준회된 Data mining 과정

> 문제에 구조를 배치하는 잘 이해된 프로세스

 Business Understanding

> 해결해야 하는 문제를 이해하는 것

> 해결해야 하는 문제를 하나 이상의 data science 문제로 간주함

> 각 data science 문제에 대한 해결책을 만듬

> 문제를 재현하고 해결책을 설계하는 것은 반복적 발견 과정임 → iterative process

② Data Understanding

> Data: 해결책을 만들 때 사용 가능한 재료

> 각 데이터의 강점과 한계점을 이해해야 함 → 왜냐하면 거의 그 문제와 정확히 일치하는 것이 없기 때문

strength/limitation

> 필요한 데이터에 더 투자 할지 말지를 결정

→ 무료인 데이터도 있지만 얻기 위해 구매해야하는 데이터도 있기 때문

③ Data Preparation

> 데이터를 더 사용하기 좋은 형태로 삭제하고 변형

→ 데이터 분석 tool이 특정한 형태의 데이터를 요구하기 때문

> data mining 결과의 품질은 이 단계에 따라 크게 달라짐

④ Modeling

> data mining 기술이 데이터에 적용되는 데 있어 주요 단계

> output: 데이터의 규칙성을 포착하는 일종의 모델 또는 패턴

> 근본적인 data mining의 idea들을 이해하는 것이 매우 중요함

 data mining 기술 그리고 존재하는 알고리즘

⑤ Evaluation

> data mining의 결과를 엄격하게 평가

> 예시

1. 모델의 예측 정확도를 측정

2. training data외의 model의 일반성을 확인

3. 거짓 경보 발생률을 추정

> 결과를 즉시 배포하는 대신, 통제된 실험실에서 먼저 모델을 테스트하는 것이 좋음

→ 이것이 배포하는 것보다 쉽고, 싸고, 빠르고 안전함

> data scientist는 이해관계자에게 쉽게 그 모델과 그것의 평가 결과를 설명할 수 있어야 함

* stakeholders(이해관계자): managers, executives, programmers, ...

⑥ Deployment

> data mining(혹은 system)의 결과를 실제 사용에 적용하는 것  real use

> 일반적인 시나리오: 새로운 모델이 시행되면 그 모델은 존재하는 정보 시스템과 통합됨 → implimented

> In many cases

- Data Science teams: 작동하는 prototype을 만들고 그것을 평가함

- Data engineering teams: 모델을 생산 시스템으로 시행함

> 시행한 이후, 그 과정은 첫 번째 단계로 돌아감

→ 이전 순환에서 얻은 이해와 경험을 사용함으로써 다음 순환은 향상된 해결책을 만들 수 있음

 

 

# Other Analytics Techniques & Technologies

- data mining 외에, 데이터의 분석을 위한 기술이 다양함

- 이런 기술을 숙지하는 것이 중요함

> 그것의 목표는 무엇인지?

> 그것들의 역할은 무엇인지?

> 그것들의 차이는 무엇인지?

- data scientist 에게 중요한 기술은 어떤 종류의 분석 기술

특정 문제를 해결하는 데 적합한지 인식할 수 있는 것

① Statistics

> 분석의 근간을 이루는 많은 지식을 제공

> 예시

- 데이터 요약 → Data summary

- 다른 데이터 분포에 대한 이해 → understanding differnet data distributions

- 검정 가설 → testing hypotheses

- 정량화 불확실성 → quantifying uncertainty

- 상호관계 측정 → measuring correlation

- 모델이나 패턴을 추출하기 위한 많은 과정의 근본은 통계이다

 root in Statistics

② Database Querying

- Database system: 데이터를 삽입, 질의, 업데이트 및 관리할 수 있는 소프트웨어 응용 프로그램

- Database query

> 데이터 또는 데이터에 대한 통계에 대한 특정 요청

> 기술적인 언어로 형식화되어있고 database system에서 사용됨 ex) SQL

SELECT name, address FROM customers WHERE age>25 AND gender = 'Female' AND domicile = 'CA'

 

- Data science vs. databases technologies

> Data science는 data base system에 저장된 관심있는 데이터를 조사하거나 찾을 때

database technology를 사용할 수 있음

③ Machine Learning

- 컴퓨터 시스템에게 명시적 프로그래밍 없이 data를 통해 학습할 능력을 주는 것

> AI의 하위 분야임

- data를 사용하여 모델을 발전시키고 향샹시킴 → 목적

- data mining과 machine learning은 밀접하게 연결되어 있음

→ data mining 분야가 machine learning의 가지(offshoot)로 여겨짐

> KDD (Knowledge Discovery and Data mining)

> 둘 사이에 기술과 알고리즘이 공유됨

> 유용하고 유익한 패턴을 데이터로부터 찾음

- machine learning은 많은 수행 향상의 유형 그리고 권한과 인지의 문제와 더 관련있음

- data mining은 data로부터 패턴과 규칙성를 찾는 것 그리고 상업적인 적용과 사업적인 이슈에 더 관련있음

 

 

# Example of Applying These Techniques

- "수익이 가장 좋은 고객은 누구인가?" → Database systems

- " 정말 수익성이 높은 고객과 일반 고객의 차이가 있는가?" → Statistics (hypothesis testing)

- " 하지만 이 고객들은 정말 누구이고 특징을 알 수 있는가? → data mining (profiling)

- " 일부 신규 고객은 수익성이 있는가? 얼마나 되는가? → data mining (classification, regression)

 


# Summary

- There is a well-defined data mining process (CRISP-DM)

> Business understanding → data understanding → data preparation

→ modeling → evaluation → deployment

- A data scientist typically decomposes a problem into one or more common data mining tasks

> classification, regression, similarity matching, clustering, association rule discovery, profiling,

link prediction, data reduction, causal modeling

> understand the fundamentals of these tasks

- Other related data analytics technologies

> statistics, database querying, machine learning

> Though their boundaries are not always sharp, it is important to know

about other techniques' capabilities to know when they should be used

 

profile

Fascination

@euna-319

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!