2020년 05월 27일 화요일

 

14:00~ 16:45

 

딥러닝 관련 세미나. +a 

 

 

 

 

 

데이터 자체의 문제

 

 - 결측치

 - Outlier

 - Untitled

 

 

 

 

 

결측치

 

결측치 -> Null 값과 같이 등 수집이 되지 않은 경우.

Nan (Not a number) 

 

결측치를 전체적으로 확인할 때 T/F값을 1/0으로 처리하기 때문에 합계를 구하면, 결측 된 값 T의 개수를 파악할 수 있다.

 

Data Frame ->

 

Heat Map 

 

 

 

Dandrogram

 

 

결측치의 처리방법

 

- 수치 데이터는 중간값, 평균값, 초기값(ex : 0)으로 설정을 해 줄 수 있다.

- 없앤다 ( when : 데이터 량이 충분할 때 )

 

데이터를 처리하는 부분에서 시간이 많이 걸림 (결측치를 채우는 방법이 쉽지 않음)

 

일부 문제사항으로 결측치가 아닌 조회/가공된 데이터가 빈 문자열 ""인 경우, 또는 0, 1등의 기본적인 값들로 들어가는 경우의 

 

Outlier

 

제한에서 벗어난 값 

 

이 값은 평균에 영향을 과하게 끼친다. 

(ex 국회의원 평균 재산에서 정몽준 의원의 재산을 넣고 빼고에 따라서 평균값이 2배 이상 차이가 나는 경우)

 

활용하는 경우 -> 편파적인 통계를 막기 위해서 피겨스케이팅의 채점 방식이 최고점, 최저점을 빼는 방식.

카드 사용에서의 부정사용을 체크 -> 보통 이런 경우는 anomaly detection이라고 부르는 경우가 더 많습니다.

 

 

 

 

Z Score

 

표준 정규분포(평균이 0이고 표준편차가 1인 정규분포)로 바꾸었을 때의 0으로부터의 거리

 

 

정규 분포를 따르지 않는 데이터를 보고 정규 분포를 따를 것이라고 추측(예측)하여 예외를 만나는 경우도 있다. 분명 낮은 확률이라 예상을 했지만, 실제로는 해당 상황이 정규분포를 따르지 않는 경우에 해당하는 것이다.

 

Black Swan, 직역하면 검은 백조라는 이다. ... 18세기까지 서구인들은 '모든 백조는 희다'라고 믿었다. 그런데 오스트레일리아에서 흑색 고니가 발견되면서 그동안의 상식이 완전히 무너져버렸다. 이와 같이 흑조의 출현은 매우 충격적이고 몹시 드문 현상을 은유적으로 표현한 말이다.

 

 

있는지 없는지도 몰랐는데 최근, 코로나로 (우한....) 아직도 어려운 시국에 중국에서는 이 블랙스완을 잡아서 먹었다는 거짓말쟁이들이 있었습니다. 으.... China!

 

 

사분위수로 데이터를 식별

 

 

 

사분위수의 정의

사분위수는 데이터 표본을 4개의 동일한 부분으로 나눈 값입니다. 

사분위수를 사용하여 데이터 집합의 범위와 중심 위치를 신속하게 평가할 수 있습니다. 

이는 데이터를 이해하는 데 중요한 첫 번째 단계입니다.


사분위수

제1 사분위수(Q1) 데이터의 25%가 이 값보다 작거나 같음.
제2 사분위수(Q2) 중위수 데이터의 50%가 이 값보다 작거나 같음.
제3 사분위수(Q3) 데이터의 75%가 이 값보다 작거나 같음.
사분위 간 범위 제1 사분위수와 제3 사분위수 간의 거리(Q3-Q1)이므로, 데이터의 중간 50%에 대한 범위입니다.

 

 

Box Plot

 

박스 플롯(box plot) 또는 박스 앤 위스커 플롯(상자 수염 플롯; box-and-whisker plot)은 데이터의 대략적인 분포와 개별적인 이상치들을 동시에 보여줄 수 있으며 서로 다른 데이터 뭉치를 쉽게 비교할 수 있도록 도와주는 시각화 기법으로 가장 널리 쓰이는 시각화 형태 중 하나이다.

 

 

같은 의미의 값

 

ex) (주)셀트리온 헬스케어

      주식회사 셀트리온 헬스케어

      (주)셀트리온 헬스케어    (주)가 특수문자인 경우

 

실제로 위의 3가지가 의미하는 것은 하나지만 데이터는 3개로 찾아지는 경우

 

 

 

데이터 형식의 문제

 

Text Normalization

 

Token

 

띄어쓰기 

 

 

영어와 한국어의 자연어 처리에서는 서로 다른 점이 많은데, 특히 한국어의 경우는 조사가 앞 단어에 붙기 때문에 어려운 점이 있음. 대신 영어의 경우는 띄어쓰기가 되어있지 않은 경우는 보다 더 의미 파악이 어려울 수 있음.

 

 

시간 표기법

 

시간 타입을 받기 전에 맞추어야 함. 여러 형식으로 표기된 문자열을 실제 Datetime형식으로 바꾸는 경우에 어려움이 있음. 하지만 아래의 것을 사용하면 보다 쉽게 바꿀 수 있습니다.

 

Dateutil!!??

 

 

 

 

 

 

Untitled

 

 

 

 

 

 

 

정규표현식 -> 

정규 표현식(正規表現式, 영어: regular expression, 간단히 regexp [1] 또는 regex, rational expression)[2][3] 또는 정규식(正規式)은 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어이다. 정규 표현식은 많은 텍스트 편집기와 프로그래밍 언어에서 문자열의 검색과 치환을 위해 지원하고 있으며, 특히 펄과 Tcl은 언어 자체에 강력한 정규 표현식을 구현하고 있다.

컴퓨터 과학의 정규 언어로부터 유래하였으나 구현체에 따라서 정규 언어보다 더 넓은 언어를 표현할 수 있는 경우도 있으며, 심지어 정규 표현식 자체의 문법도 여러 가지 존재하고 있다. 현재 많은 프로그래밍 언어, 텍스트 처리 프로그램, 고급 텍스트 편집기 등이 정규 표현식 기능을 제공한다. 일부는 펄, 자바스크립트, 루비, Tcl처럼 문법에 내장되어 있는 반면 닷넷 언어, 자바, 파이썬, POSIX C, C++ (C++11 이후)에서는 표준 라이브러리

출처 : 위키피디아.     

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


처음배우는 데이터과학

 

9장, 10장

 

 

 

일반적인 원칙

 

1. 상대방의 눈높이를 맞춰라

2. 왜 이 문제가 중요한지 설명하라 => 왜? 무슨 일을 하던 왜! 하는지 목적이 중요함!! 진짜 공감 백배

3. 구체적으로 보여줘라

4. 백문이 불여일견

5. 수학이 전부가 아니다. => 직관적으로 하는 이해도 중요함

6. 그림은 예쁘게 그려라 => 깔끔하게, 가시적으로 그릴 것

 

슬라이드 작성 원칙

 

3/4은 그림 내용설명 문장은 1~2개

'대반정원'디자인 P151~152 ???????????????????

 (대조,반복,정??으악 놓침...ㅋㅋㅋㅋ)

 

 

 

 

10장. 비지도 학습

 

지도학습(Supervised) -> 정답까지 같이 가르쳐줌

 

비지도학습(Unsupervised) -> 정답을 알려주지 않음.

 

- 군집

- 차원축소

 

 

 

강화학습

 

강화 학습(Reinforcement learning)은 기계 학습의 한 영역이다. 행동심리학에서 영감을 받았으며, 어떤 환경 안에서 정의된 에이전트가 현재의 상태를 인식하여, 선택 가능한 행동들 중 보상을 최대화하는 행동 혹은 행동 순서를 선택하는 방법이다. 이러한 문제는 매우 포괄적이기 때문에 게임 이론, 제어이론, 운용 과학, 정보 이론, 시뮬레이션 기반 최적화, 다중 에이전트 시스템, 떼 지능, 통계학, 유전 알고리즘 등의 분야에서도 연구된다. 운용 과학과 제어 이론에서 강화 학습이 연구되는 분야는 "근사 동적 계획법"이라고 불린다. 또한 최적화 제어 이론에서도 유사한 문제를 연구하지만, 대부분의 연구가 최적해의 존재와 특성에 초점을 맞춘다는 점에서 학습과 근사의 측면에서 접근하는 강화 학습과는 다르다. 경제학과 게임 이론 분야에서 강화 학습은 어떻게 제한된 합리성 하에서 평형이 일어날 수 있는지를 설명하는 데에 사용되기도 한다.
강화 학습에서 다루는 '환경'은 주로 마르코프 결정 과정으로 주어진다.[1] 마르코프 결정 과정 문제를 해결하는 기존의 방식과 강화 학습이 다른 지점은, 강화 학습은 마르코프 결정 과정에 대한 지식을 요구하지 않는다는 점과, 강화 학습은 크기가 매우 커서 결정론적 방법을 적용할 수 없는 규모의 마르코프 결정 과정 문제를 다룬다는 점이다.
강화 학습은 또한 입출력 쌍으로 이루어진 훈련 집합이 제시되지 않으며, 잘못된 행동에 대해서도 명시적으로 정정이 일어나지 않는다는 점에서 일반적인 지도 학습과 다르다. 대신, 강화학습의 초점은 학습 과정에서의(on-line) 성능이며, 이는 탐색(exploration)과 이용(exploitation)의 균형을 맞춤으로써 제고된다.[2] 탐색과 이용의 균형 문제 강화 학습에서 가장 많이 연구된 문제로, 다중 슬롯 머신 문제(multi-armed bandit problem)와 유한한 마르코프 결정 과정 등에서 연구되었다.

 출처 : 위키피디아.

 

 

 

고차원의 저주 (The Curse of Dimensionality)

 

 

고차원인 것은 차원을 줄여서 작업을 하는것이 유리할 수 있지만 사용하지 않을 차원을 정확하게 선별하는 것이 중요하다.

 

 

아이겐페이스와 PCA 차원축소 예제

 

 

분산이 가장 잘 된 축을 찾는다?

아이겐벡터(고유백터)

 

PCA라는 함수를 호출하기만 하면 된다...!!????

 

 

군집화

 

K-means 군집화

(K개의 그룹으로 나눈 것) -> Center가 변하지 않을 때 까지 작업

 

K개를 어떻게 정할 것인지에 대한 이슈가 있음.

 

 

계층적 군집화

 

 

 

 

 

 

데이터 시각화의 원칙

 

시각화를 하는 이유 -> 의미를 보다 직관적, 효과적으로 전달하기 위해서 => 전달하여 설득하는 것

 - 새로운 정보를 빠르게 파악

 - 빠르고 정확한 정보의 전달

 

기본 원리

 

- 길이, 위치 > 영역, 각도 > 밝기, 색조

- 수치만 강조하고자 한다면 단순한 텍스트만 사용!!

- 라인그레프는 추세를 인식한다.

- 점(Point)는 위치를 인식한다.

- 크기를 왜곡하지 않기   -> 펙터를 반지름으로 하여 원형으로 데이터를 표현하는 꼼수!!!!

- 비교는 길이가 편하다

- 의미있는 순서로 정렬 (가나다순 정렬과 수치로 정렬하는 것 중 어느것이 의미가 있는가?)

- 정렬을 하면 페턴을 확인하기 쉽다.

- Bar : 숫자 하나를 보여준다

- Point : 분포를 보여준다

- Jitter : 밀도를 보여준다.

- 무엇을 보여 줄 것인가? (평균? 분포? 차이?)

- 축의 위치가 다르면 비교가 어렵다.

- 수평비교는 수직배열, 수직비교는 수평배열

- 색과 위치를 적절히 고려하여 비교를 쉽게하자

- 3차원은 사용하지 않기 (2차원이 인식하기 편하다)

- 인식하기 편한 정도의 숫자표현 (너무 많은 유효숫자는 피한다)

- 데이터를 분류한다 (분류는 데이터를 더 의미있게 한다)

- 불필요한 색상과 경계선을 제거

- 변화로 주목하는 부분 강조 (여러 장을 넘겨가며 강조할 부분에 색을 표시하여 표현)

- 파이차트는 가능한 피한다.

 

 

+ Recent posts