파이썬(52)
-
Day 33 ~ 36 - 미니 프로젝트 > 항공사 만족도 예측 머신러닝
4일 간 그동안 배운 머신러닝 및 딥러닝 기법을 실제로 사용해보는 팀 미니 프로젝트를 진행했다. 사용한 데이터셋은 Kaggle의 Airline Customer Satisfaction 데이터셋이다. Link: https://www.kaggle.com/datasets/teejmahal20/airline-passenger-satisfaction Airline Passenger Satisfaction What factors lead to customer satisfaction for an Airline? www.kaggle.com 해당 데이터셋은 이미 훈련셋과 시험셋이 나뉘어 있고, 훈련셋 10만여개, 시험셋 약 26000여개의 데이터가 포함되어 있다. 전처리가 거의 되어 있는 데이터셋이었기 때문에 Null값을..
2022.11.29 -
Day 32 - 딥러닝 > LSTM
이번 글에서는 딥러닝 알고리즘 중 LSTM에 대해 정리할 것이다. LSTM은 주로 자연어를 다룰 때 사용한다. 문장을 만들기 위해서는 다음에 올 단어 뿐 아니라 그 뒤에 올 단어를 예측해야 하는데, 이를 위해서는 모델을 반복 호출하여 여러 차례 단어를 출력해야 하고 이를 수행하는 모델이 LSTM이다. LSTM은 게이트를 이용해 이전 은닉 상태를 현재의 입력에 반영하는 알고리즘으로, RNN의 단점을 극복하기 위해 장기 기억을 위한 셀 상태를 추가하여 각각의 게이트(망각 게이트, 입력 게이트, 출력 게이트)를 통해 이전 시점의 은닉 상태를 현 시점에 반영한다. 망각 게이트: 셀 상태에 저장된 과거의 정보를 사용할 것인지 여부를 결정한다. 입력 게이트: 셀 상태에 현재 정보를 덮어쓸 것인지 결정한다. 출력 게..
2022.11.23 -
Day 31 - 딥러닝 > U-Net & RNN
이번 글에서는 딥러닝 알고리즘 중 U-Net과 RNN에 대해 다룰 것이다. 딥러닝의 이미지 처리 방식은 분류 외에도 다양한 방법들이 있다. 대표적으로 이미지가 어디에 있는지 예측하는 객체 탐지, 이미지의 모든 픽셀을 분류하는 세그멘테이션, 이미지의 노이즈를 거르는 디노이징 등이 있다. U-Net은 이 중 세그멘테이션과 디노이징을 정보를 압축하는 인코더와 복구하는 디코더 구조를 통해 수행하는 딥러닝 모델이다. U-Net은 인코더의 출력을 디코더의 입력으로 사용하여 정보를 복원할 때 추출한 특징을 참고한다. U-Net의 인코더는 입력받은 이미지를 합성곱을 통해 추출하는데, 해당 과정에서 이미지의 크기가 작아지고 정보가 압축된다. 이후 업샘플링을 활용한 디코딩 과정을 통해 최종적으로 입력과 같은 크기의 이미지..
2022.11.22 -
Day 29/30 - 딥러닝 > CNN
이번 글에서는 딥러닝 알고리즘 중 CNN에 대해 다룰 것이다. CNN은 합성곱을 사용하는 신경망으로, 이미지 처리를 위해 여러개의 필터를 사용한다. 필터는 커널의 집합으로, 커널은 특정 부분을 제거, 혹은 추출하는데 쓰이는 가중치 행렬이다. CNN에서의 합성곱 연산은 원본 이미지의 왼쪽 위에서 오른쪽으로 한 칸씩 합성곱 커널을 옮겨가면서 이루어진다. 이 때 합성곱 커널은 이미지에서 특징 추출을 위한 가중치를 지니고 있으며, 오른쪽 끝까지 도달하면 세로로 한 칸을 내린다. 이렇게 곱한 숫자들을 다 더해서 값을 출력하게 된다. 출력한 값을 특징 맵이라고 하는데, 특징 맵은 결국 합성곱의 결과로부터 나타나는 이미지라고 할 수 있다. 이 합성곱 연산에서, 사용자의 정의에 따라 커널의 이동거리가 정해진다. 이 이..
2022.11.21 -
Day 28 - 딥러닝
이번 글에서는 딥러닝에 대해 정리할 것이다. 딥러닝은 머신러닝 알고리즘 중 하나로, 인공신경망에서 진화한 형태이다. 주로 이미지, 자연어, 비디오 분석에 많이 활용되고 대표적인 프레임워크로는 텐서플로우(TensorFlow), 케라스(Keras), 파이토치(PyTorch) 등이 있다. 딥러닝도 머신러닝의 일종이기 때문에 프로세스 역시 머신러닝과 비슷하다. 딥러닝 프로세스 문제 정의 ➡ 데이터 수집 ➡ 데이터 전처리 ➡ 딥러닝 모델 설계 ➡ 모델 학습 ➡ 성능 평가 딥러닝에 대해 이해하기 위해서는 인공신경망에 대한 이해가 필요하다. 인공신경망이란, 사람의 신경망을 본떠 만든 알고리즘으로 퍼셉트론을 사용하여 만든다. 여기서 퍼셉트론은 인간의 뇌세포를 수학적으로 표현한 알고리즘으로 인공 뉴런이라고도 한다. 이 ..
2022.11.17 -
Day 27 - 머신러닝 9 > K 평균 군집화 (K-Means Clustering)
이번 글에서는 K평균 군집화에 대해 다룰 것이다. K평균 군집화는 그 동안 다뤘던 다른 알고리즘과 달리 비지도학습 알고리즘으로, 목표변수가 없는 상태에서 데이터를 비슷한 유형으로 묶는다. K가 붙은 것으로 알 수 있듯, 거리기반 알고리즘이다. K평균 군집화는 종속변수가 없는 데이터셋에서 데이터의 특성을 알아보기에 좋으며 구현이 간단하고 클러스터링 결과를 쉽게 해석할 수 있다. 다만 최적의 K값을 직접 찾아내야 하고, 스케일링이 필요하다는 단점이 있다. LightGBM 실습에서 활용한 카드 거래 데이터를 약간 손보아 K평균 군집화 실습에 사용했다.
2022.11.16