분류 전체보기(34)
-
DS) Data Manipulation
merge/ concat/ condition/ melt/ pivot_table 데이터를 분석하는데 있어서, 초기 우리가 얻은 데이터가 과연 입맛대로 이쁘게 만들어져 있을까? 대부분의 경우 그럴일은 없다. 데이터 수집/제공 하는 곳에 따라서 다양한 형태로 데이터가 저장되어 있을 것이다. 그렇기에 이런 데이터를 우리가 다루기 좋은 형태로 만들 필요성이 있다. 그에 따라 앞서 datatype을 수정하는 등 전처리/EDA를 진행한다. 이번에는 데이터가 각각 다른 파일에 저장되어 있는 경우 어떻게 다루어야 할 지 알아보자. 기본적인 개념은 집합을 더한다는 느낌으로 이해하면 받아들이기 쉽다. 빨간 부분의 데이터는 missing value로 처리 될 것이다. 두 DataFrame에 대해서 col 혹은 row 에 따라..
2022.07.29 -
DS) Feature Engineering/dtype/replace/apply
Feature Engineering 은 창의성과 도메인지식을 바탕으로 데이터셋에 존재하는 feature을 통해서 새로운 feature을 생성해내는 작업입니다. 예를 들어보자면, 섭씨의 온도를 화씨로 바꾼다던지, 키와 몸무게 등을 통해 비만도라는 새로운 컬럼을 생성하던지 하는 작업들을 의미한다. 기본적으로 data를 불러온 이후, 해당 데이터에 대해서 살펴보아야 한다. df.dtypes df.info() df.isna().sum() 다음과 같은 명령어들을 통해 몇 가지 볼 수 있는데 컬럼별 내부 데이터의 타입이라던지, 결측치(missing value)등이 확인 가능하다. 아래의 코드를 이용해서 새로운 컬럼을 추가 가능하다. 이는 feature engineering의 예시라고 보면 된다. df['j_val'..
2022.07.28 -
DS) EDA/pre-processing
누군가 데이터를 우리에게 주고 이를 통해서 분석을 의뢰했다고 해보자. 우리는 데이터를 손에 들고있다. 가장 먼저 해야 할 일은 무엇일까? 우리가 요리사라고 해보자. 음식물쓰레기를 주고서는 이거로 정말 맛있는 음식을 만들 수 있을까? 일반적으로 불가능하다. 즉 기본재료가 중요하다는 것이다. DS들에게 기본재료는 데이터이다. 이 데이터를 손질하고 이쁘게 다듬어서 사용해야 좋은 결과물을 낼 수 있다는 의미이다. *손질하고 이쁘게 다듬는다는 표현은 당연히 은유적인 표현일 뿐이고 실제로 어떤식으로 처리하는지는 천천히 살펴보자. 이렇게 raw data -> processed data 로 만드는 작업을 pre-processing (전처리)라고 한다. 그렇다면 어디서 EDA는 뭘까? 항상 초기에는 EDA와 전처리를 진..
2022.07.28 -
DL) GAN
GAN이 뭔데? 생성모델 중 하나이며, Generative Adversarial Network를 줄여서 우리는 GAN 이라고 부른다. 사실 이름에서도 어느정도 많은 정보를 유추 할 수 있다. Generative : 생성적인 Adversarial : 적대적으로 기본적으로 무엇인가를 생성하는 모델이며, 적대적이기에 생성하는것에 대응하는 무엇인가가 있나보다 정도로 의미를 파악할 수 있다. 그러면 GAN에 대해서 좀 더 자세하게 알아보자 z : 0과 1로 이루어진 마구 뿌려진 의미가 없는 상태이다. G : 생성자 ( Noise를 통해서 뭔가를 만들어내는 것 ) G(z) : Noise 를 통해 G 가 만들어낸 결과물 x : 실제 있던 작품(데이터) D : 판별자 ( 해당 데이터(작품)가 생성된 것인지 실제인지 판..
2022.07.20 -
DL) CNN
컴퓨터 비전에서 자주 사용되는 합성곱 신경망에 대해서 알아보자 이미지는 공간적인 특성을 가지고 있으므로, 복잡한 이미지에 대해 현재 까지 해준 Flatten으로 퍼준 뒤 연산하는 기술은 공간적 특성을 표현하기 어렵다. 즉 공간적인 특성을 살리려고 등장한 것. CNN(Covolutional Neural Network)의 구조 먼저 Conv Layer 와 Pooling Layer의 역할을 보자. Conv Layer Convolution 합성곱 이러한 Convolution이라는 개념이 CNN에서는 어떻게 적용이 되었을까? 초록표 : 기본 Input 노란표 : 합성곱 필터 노란표가 이동하는 것 : 슬라이딩 분홍표 : 합성곱이 이루어진 Output 단순한 Convolution은 위와 같이 이루어지는 것을 확인했다..
2022.07.15 -
DL) RNN 구조와 Attention
RNN 기반(LSTM, GRU) 번역 모델을 만들었다고 생각해보자. 사실 RNN의 치명적인 단점은 장기 의존성 문제이다. 시퀀스가 길면 길 수록 앞 쪽 부분에 있는 토큰에 대한 정보를 잃어버린다는거다. 위에서 보면 이전 state를 현재 state에 사용하기 위해 전달하고 마지막 context라는 부분에 모든 단어 정보를 압축해서 하나의 벡터로 만듭니다. 이를 context vector라고 부른다. 이제 디코딩을 통해서 해당 vector를 번역된 단어로 한 개 씩 순차적으로 출력하게 되는데 여기서 문제는 context 부분이다. 입력 문장이 길면 고정된 크기의 벡터에 모든 정보를 압축하기 위해 정보 손실이 발생하게 된다. 번역 모델에서 이러한 문제를 어떻게 해결하고자 했을까? 이를 해결하고자 등장한 개념..
2022.07.12