incastle의 콩나물

[Data Mining] Introduction to Data Mining -2- (Data란?) 본문

19-1 대학 수업/데이터마이닝

[Data Mining] Introduction to Data Mining -2- (Data란?)

incastle 2019. 5. 1. 17:21

데이터 마이닝 진창호 교수님 (19-1)

 

학습 목표

- Data type, Qualityrk Data 분석 시에 야기할 수 있는 문제의 예시와 해결 방안

- Attribute가 가질 수 있는 value의 종류를 나열하고 예시

- Data attribute에 value를 할당하는 measuerment scale의 기능을 설명, value별로 예시

- attribute value 4가지 속성 구분, 각 속성에 따란 measuerment scale 결정

- Discrete attribute와 continuous attribute를 구분, 예시

- Asymmetric(비대칭적) attribute의 예시

- 동일한 attribute에도 상황에 따라 asymmetric attribute에 1과 0을 할당이 달라질 수 있음을 이해하고 그 이유를 설명한다. 

(관심 사건이 1이라고 가정, 그런데 0이 엄청 많다면?)

- Structured data의 특징인 dimensionality, Sparsity, Resolution(해상도 : 측정이 얼마나 세밀하게 이루어졌냐, 고해상도 vs 저해상도)을 설명하고 주어진 data set으로 예시

 

- Data set의 type인 Record-data(Transaction data, Data Matrix, Document data, etc), Graph-Based Data, Ordered Data(Sequential data, Sequence data, Time-series data, Spatial data)를 구분할 수 있고, 예시를 들 수 있다. 

- Data Quality 개선 절차 2가지를 설명할 수 있다. data set이 주어졌을 때 그 절차를 수행

- Data Quality problem의 2가지 종류(measurement error, data collection problems)를 구분할 수 있고 해결방안을 제시할 수 있다. 

- Measurement error metrics인 Precision과 Accuracy를 구분할 수 있고, Precision/Accuracy가 고저인 data예시를 들 수 있다. 

 

- Outlier와 Noise를 구분할 수 있고 예시를 들 수 있다. Data mining에서 갖는 의미를 설명할 수 있다. 

- Missing value를 발생 기회를 파악해서 미연에 방지할 수 있고, 발생된 Missing value의 처리 방안을 적절히 선택하여 수행할 수 있다. 

- Data Proprocessing의 기법들을 나열할 수 있으며, 주어진 data set에서 각 기법을 적용할 수 있다. (Aggregation, Sampling, Dimensionality Reduction, Feature subset selection, Feature creation, Discretization and binarization, Attribute Transformation)

- Attribute type(Nominal attribute, ordinal attribute), Attribute value 수(binary attribute)에 따라 Similarity and Dissimilarity Measure를 바르게 선택하여 data record의 유사성과 상이성을 평가할 수 있다. 

 

와 생각보다 외워야 할 거 많다... 수업 시간에 이해돼서 끄덕이면서 넘어갔는데~ 일단 정리하고 시작해보자!

 

Data와 관련된 issues

- 데이터의 type이 분석의 방법을 결정한다.

- Data quality가 결과물을 좌우한다. 이 quality와 관련된 여러 issue들이 있다. 

- ex) measurement scale, data collection, sample representativeness (뒤에서 더 자세히 다룬다.)

- 따라서 데이터 마이닝에 more suitable 하도록 Preprocessing 해줘야 한다. 

 

Attribute values

- 같은 attribute라도 measurement scale이 다르면 다른 attribute가 된다. (height를 feet로 측정? meter로 측정?)

- 즉 한 종류의 attr에 한 종류의 value만 있는 건 아니다. 

- 다른 attribute라도 value type은 integer로 같을 수 있다. 

 

Measurement scale

- attribute에 적절한 attribute value를 맵핑해야 한다. 이는 measurement scale로 결정된다. 

- numerical or symbolic value의 attribute와 관련된 rule이다. 

- Physical value (현실 세계) ===mapping(measurement scale)=====> numerical or symbolic value

- measurement scale은 분석 목적에 적절한 것으로 선택한다.(

- ex) 고도 데이터를 그대로 meter단위로 사용할 것인가? 관심 있는 지역을 0으로 두고 차이를 적는 게 더 이해가 되지 않을 것인가?

 

Properties of Attribute Values

- attribute의 type에 따라서 몇 가지 속성들을 갖는다.

1) Distinctness : 대부분의 attribute가 갖고 있는 기본 옵션 같은 존재. 구분되어 지는 것 => Nominal attribute (disctinctness, (남자, 여자) )

2) Order : 위계가 있음. 크다, 작다 => Ordinal attribute (disctinctness & Order, (상, 중, 하) )

3) Addition : 값 자체가 계속 더해지면 어떤 의미가 존재한다. => Interval attribute (dictinctness & Order & Addition, 섭씨 온도는 절대 온도로부터 파생된 변수이기 때문에 곱하기 나누기 연산이 불가능하다.)

4) Multiplication : 곱하기, 나누기 연산이 가능하다. => Ratio attribute (위에 4가지, 길이, 몸무게)

Type 세부 type 참고 사항
Categorical Nominal

순서가 없으니까 median과 같은 연산 x. mode는 가능

Ordinal median 가능, rank 가능(평균은 x)
Numerical Interval 평균 이런 것도 rksmd
Ratio harmonic mean도 가능

* numerical은 discrete attribute와 continuous attribute로 나뉘기도 한다. 값과 값 사이가 discrete는 유한하고, continuous는 무한하다. 

 

Asymmetric Attribute

- 특히 binary(0과 1로 이루어진) attribute에서 하나의 값만 많은 것(따라서 비대칭 변수)을 칭한다. 

- 만약 1이 우리에게 중요한 변수(관심있는 것)이라면,  (1,1,0,0,0,0,0,0,0) 이런 식으로 데이터가 분포하는 것은 접근

- 가령 총 맞는 것을 1이라 한다 vs 총 안 맞는 걸 1이라 한다. 

- 전자는 1이 매우 희박, 후자는 1이 매우 많다.

- 이런 문제는 유사도를 검사할 때 문제가 되는 경우 => jaccard distance를 사용해서 해결 가능하다. 

 

Important Characteristics of Structured Data

- Dimensionality : 차원의 저주를 해결해야 한다. => Dimensionality reduction 방법들이 있음

- Sparsity(희귀하다) : asymmetric attribute 같은 것들. 

- Resolution(해상도)

>> 세밀하게 현상을 표현할 것은 세밀하게, 저밀도는 저밀도는(굳이 불필요한 자원 낭비 ㄴㄴ)

>> 어떤 해상도를 사용하느냐에 따라 data의 속성이 달라진다. 

>> ex. 1년치 아이스크림 판매량 => 한 시간 => 너무 고해상도 => 노이즈 발생

                                                => 하루 => 저해상도 => 적절!

>> 어떤 해상도를 사용하느냐에 따라 pattern이 not be visible 할 수 있고, noise에 robust 할 수도 있음

* Sparsity의 예시? (dimensionality를 빼고 논할 수 있나?)

 

Types of data sets

- Record data : data matrix, document data, transaction data (우리가 알고 있는 기본적인 table 형태)

1)  Transaction data

>> 고객 id와 구매 item으로 이루어진 테이블(가장 기본적)

>> discrete일수도 있고 continuous일수도 있다.

>> 구매한 아이템의 숫자 => discrete

>> 구매한 아이템의 가격 => continuous

2) Data Matrix

>> 기존에 우리가 알고 있는 그 형태 (m x n의 matrix)

3) Document data

>> 한 문서에 특정 단어가 몇 회 나왔는지 counting

 

- Graph-Based Data : data with relationship among objects ( node와 graph로 이루어진 것), data object들 간에 relationship을 포착하기 위해 사용. 각 노드가 data object 그 자체를 나타낸다.

>> HTML 문서간에 연결성,  화학 구조 data

 

- Ordered Data : Spatial Data(공간 데이터), Temporal Data, Sequential Data(시계열)

1) Sequence data

>> data set 자체가 순서가 있음 (word, letter, genetic information)

>> 공간적인 위치의 개념이 아닌 위치상 선후 체계에 중점 한다. (no time stamps)

2) Time Series Data

>> sequencial data의 speical type(매일 매일의 주식 가격)

>> Repetitive measurement on the same attribute(같은 attr에서 측정이 반복된다)

>> (안 중요해 보이지만) Temporal Autocorrelation : 과거의 자신과 현재의 자신이 상관이 있다. 이런 느낌

3) Spatial Data

>> 공간적 특징을 갖고 있는 data (weather data)

>> 2차원/3차원에 점들이 마구마구 찍힌다!

>> (안 중요해 보이지만) Spatial autocorrelation도 있다~

 

* non-record data를 어떻게 record data로 만들까?

- data objects에서 feature를 추출한다. 

- Ex) 화학 구조 데이터 => transaction data로 만든다.(특정 원소가 있냐 없냐)

 

 

 

 

Comments