Loading...
2023. 2. 17. 11:05

[Dacon] 풍력 발전량 예측 AI 경진대회 - AutoML(mljar-supervised)

Dacon 풍력 발전량 예측 대회를 진행하였다. 지금껏 사용해 온 모델을 학습시킨 후 예측값을 추출한 후 제출하였는데 점수가 좋게 나오진 않았다. 성능 향상 방법을 구글링을 통해 찾아서 전처리를 여러 가지 방법으로 처리하여 진행을 해도 뛰어난 성능 향상을 느끼진 못했다. 그러다 예전에 Pycaret을 사용한 경험이 생각이 나서 AutoML에 대해 찾아보았다. mljar-supervised라는 AutoML을 찾아 이 데이터에 적용해 보았다. 라이브러리 설치부터 제출까지 해보는 시간을 가져보자. AutoML(mljar-supervised) 설치 https://supervised.mljar.com/ pip install mljar-supervised 위 명령어를 통해 AutoML 라이브러리를 설치할 수 있다...

2023. 1. 5. 22:25

[Dacon] 해외 부동산 월세 예측 AI 경진대회 - 앙상블

https://dacon.io/competitions/official/236044/overview/description 데이콘 Basic 해외 부동산 월세 예측 AI 경진대회 - DACON 분석시각화 대회 코드 공유 게시물은 내용 확인 후 좋아요(투표) 가능합니다. dacon.io 2022년 12월 12일부터 2022년 12월 26일까지 데이콘 Basic 해외 부동산 월세 예측 AI 경진대회가 진행되었다. 비록 참가 기간에 참여하진 못했지만, 연습을 통해 진행할 수 있었다. 성적에는 반영되지 않지만, 내가 짠 모델의 성능을 평가할 수 있다. 간단하게 해외 부동산의 여러 가지 정보를 통해 월세 예측 모델을 만들어 보았다. 해외 부동산 월세 예측 - 앙상블 모델 데이터 불러오기 먼저 데이터를 다운받아 불러와..

2022. 4. 8. 22:00

로지스틱 회귀(Logistic Regression)

로지스틱 회귀(Logistic Regression) - 독립 변수의 선형 결합을 이용하여 사건의 발생 가능성을 예측하는 데 사용되는 통계 기법 로지스틱 회귀 목적 - 일반적인 회귀 분석의 목표와 동일하게 종속 변수와 독립 변수간의 관계를 구체적인 함수로 나타내어 향후 예측 모델에 사용하는 것. - 이는 독립 변수의 선형 결합으로 종속 변수를 설명한다는 관점에서는 선형 회귀 분석과 유사 - 하지만 로지스틱 회귀는 선형 회귀 분석과는 다르게 종속 변수가 범주형 데이터를 대상으로 하며 입력 데이터가 주어졌을 때 해당 데이터의 결과가 특정 분류가 나뉘기 때문에 일종의 분류(Classification) 기법으로 볼 수 있음 로지스틱 회귀는 종속 변수가 이항형 문제(유효한 범주의 개수가 두 개인 경우)를 지칭할 때..

2022. 4. 7. 21:48

SVM(서포트 벡터 머신) 알고리즘

서포트 벡터 머신(SVM, Support Vector Machine) SVM이란 두 개의 그룹(데이터)을 분리하는 방법으로 데이터들과 거리가 가장 먼 초평면(Hyperplane)을 선택하여 분리하는 방법 - 데이터를 분리하기 위해 직선이 필요 - 직선이 한쪽 데이터로 치우쳐져 있으면 데이터에 변동이나 노이즈가 있을 때 제대로 구분하지 못할 수 있음 - 이러한 문제점을 해결하기 위해 margin(마진)을 이용 Optimal Hyperplane(초평면) Support Vector은 데이터를 의미 margin은 초평면과 가장 가까이 있는 데이터와의 거리를 의미 마진을 최대로 만드는 직선을 계산하여 데이터를 분류하는 방법이 서포트 벡터 머신(SVM) - C값은 사용자가 설정하는 파라미터 - C값을 크게 설정하면..

2022. 4. 6. 20:29

Tree-based Model(트리 기반 모델)

1. 트리 기반 모델 트리 기반 의사 결정 모델은 Feature space를 여러 개의 영역으로 나누는 것을 목표로 동작하는 알고리즘. Feature space를 평균(회귀) 또는 모드(분류)를 기반으로 주어진 관찰에 대한 예측 수행 2. 트리 기반 모델의 평가 척도 트리 기반 의사 결정 모델은 Impurity(불순도)로 측정되며 설정된 불순도 기준에 따라 변수가 Stopping Criteria(중지 기준)에 도달할 때까지 반복적으로 분할 1) 불순도 측정 척도 [1] Entropy 엔트로피 - 샘플이 완전 균질하면 엔트로피는 0, 샘플이 마구 섞여 있으면 엔트로피가 1이 됨. 엔트로피는 중간에서 최댓값을 가지며 그 값은 1이고 극값은 0으로 최솟값을 가진다. 즉, 데이터가 서로 다른 종류끼리 섞여있으면..

2021. 11. 12. 16:54

밑바닥부터 시작하는 딥러닝 - 어텐션(3)

어텐션을 갖춘 seq2seq 구현 Attention 계층의 구현을 끝낸 뒤 어텐션을 갖춘 seq2seq를 구현할 것이다. Encoder 구현 AttentionEncoder 클래스를 구현할 것이다. 앞에서 구현한 Encoder 클래스와 거의 같다. Encoder 클래스의 forward() 메서드는 LSTM 계층의 마지막 은닉 상태 벡터만을 반환했다. 그에 반해, 이번에는 모든 은닉 상태를 반환할 것이다. 코드로 살펴보자. class AttentionEncoder(Encoder): def forward(self, xs): xs = self.embed.forward(xs) hs = self.lstm.forward(xs) return hs def backward(self, dhs): dout = self.lst..

2021. 11. 11. 22:26

밑바닥부터 시작하는 딥러닝 - 어텐션(2)

Decoder 개선② 각 단어의 중요도를 나타내는 가중치 a가 있다면, 가중합을 이용해 "맥락 벡터"를 얻을 수 있다. 그렇다면 각 단어의 가중치 a를 구하는 방법이 뭐가 있을까? 이 방법을 설명하려면 우선 Decoder의 첫 번째 LSTM 계층이 은닉 상태 벡터를 출력할 때까지의 처리를 알아야 한다. 위의 그림에서 Decoder의 LSTM 계층의 은닉 상태 벡터를 h라 정했다. 목표는 h가 hs의 각 단어 벡터와 얼마나 "비슷한가"를 수치로 나타내는 것이다. 가장 단순한 방법은 벡터의 "내적"을 이용하는 것이다. 내적 계산은 다음과 같다. 직관적인 의미는 "두 벡터가 얼마나 같은 방향을 향하고 있는가"이다. 따라서 두 벡터의 "유사도"를 표현하는 척도로 내적을 이용하는 것은 자연스러운 선택이라고 할 수..

2021. 11. 10. 20:37

밑바닥부터 시작하는 딥러닝 - 어텐션(1)

앞에서 RNN을 사용해 문장을 생성해봤다. 그리고 2개의 RNN을 연결하여 하나의 시계열 데이터를 다른 시계열 데이터로 변환도 했었다. 이를 seq2seq라고 하며, 덧셈 같은 간단한 문제를 푸는 데 성공했다. 마지막으로, seq2seq에 몇 가지 개선을 적용한 결과, 간단한 덧셈이라면 거의 완벽하게 풀 수 있었다. 이번 글부터 seq2seq의 새로운 기법인 어텐션이라는 것에 대해 알아볼 것이다. 어텐션의 구조 지금까지 배운 seq2seq를 한층 더 강력하게 하는 어텐션 메커니즘이라는 기법에 대해 살펴보자. 어텐션이라는 메커니즘 덕분에 seq2seq는 필요한 정보에만 "주목"할 수 있게 된다. seq2seq의 문제점 seq2seq에서는 Encoder가 시계열 데이터를 인코딩한다. 그리고 인코딩된 정보를 ..