조회수 높은 글
-
Machine Learning
[ML] XGBoost 이해하고 사용하자
순서 개념 기본 구조 파라미터 GridSearchCV 1. 개념 'XGBoost (Extreme Gradient Boosting)' 는 앙상블의 부스팅 기법의 한 종류입니다. 이전 모델의 오류를 순차적으로 보완해나가는 방식으로 모델을 형성하는데, 더 자세히 알아보자면, 이전 모델에서의 실제값과 예측값의 오차(loss)를 훈련데이터 투입하고 gradient를 이용하여 오류를 보완하는 방식을 사용합니다. 수식으로 설명하자면, 1번 모델 : Y = w1 * H(x) + error1 1번 모델 오차(loss)의 보완 : error1 = w2 * G(x) + error2 2번 모델 : Y = w1 * H(x) + w2 * G(x) + error2 2번 모델 오차의 보완 : error2 = w3 * M(x) + e..
-
Data Preprocessing
언더 샘플링(Undersampling)과 오버 샘플링(Oversampling)
* 해당 포스팅은 파이썬 머신러닝 완벽 가이드(권철민, 2019) 교재를 참고하여 공부하며 작성한 글입니다. 순서 언더 샘플링과 오버 샘플링의 개념 SMOTE 개념 SMOTE 코드 1. 언더 샘플링과 오버 샘플링의 개념 데이터가 불균형한 분포를 가지는 경우, 모델의 학습이 제대로 이루어지지 않을 확률이 높습니다. 이 문제를 해결하기 위해 나온 개념이 언더 섬플링(Undersampling)과 오버 샘플링(Oversampling)입니다. 언더 샘플링은 불균형한 데이터 셋에서 높은 비율을 차지하던 클래스의 데이터 수를 줄임으로써 데이터 불균형을 해소하는 아이디어 입니다. 하지만 이 방법은 학습에 사용되는 전체 데이터 수를 급격하게 감소시켜 오히려 성능이 떨어질 수 있습니다. 오버 샘플링은 낮은 비율 클래스의 ..
-
Data Preprocessing
IQR 방식을 이용한 이상치 데이터(Outlier) 제거
* 해당 포스팅은 파이썬 머신러닝 완벽 가이드(권철민, 2019) 교재를 참고하여 공부하며 작성한 글입니다. 이상치 데이터(Outlier)는 모델의 성능을 떨어뜨리는 불필요한 요소이기 때문에 꼭 제거해주어야 합니다. 그렇다면 어떻게 이상치 데이터를 찾을 수 있을까요? 1차적으로 EDA 과정에서 그래프를 통해 발견할 수 있습니다. 하지만 이 방법은 소수의 데이터가 평균으로부터 눈에 띄게 떨어진 경우에만 가능하다는 한계가 있습니다. 따라서 "어디까지가 이상치 데이터다" 라고 판단하는 기준이 필요하게 되는데요, 여러가지 방법들 중 오늘은 IQR(Inter Quantile Range) 방식에 대해서 정리해보겠습니다. IQR 방식은 사분위(Quantile) 개념으로부터 출발합니다. 전체 데이터들을 오름차순으로 정..
-
Machine Learning
[ML] 앙상블(Ensemble)이 뭐야?
머신러닝을 공부하다보면 '앙상블' 이라는 단어가 종종 나옵니다. 처음 앙상블을 접한 곳은 캐글이었는데, 무슨 뜻인지 짐작할 수도 없어서 거부감이 들었습니다. 개념도 복잡하고 어려울 것 같아서 최대한 그 단어를 피해다니다가 '파이썬 라이브러리를 활용한 머신러닝' 도서를 정독하면서 개념을 정리할 수 있었습니다. 그리고 이해한 내용을 이렇게 글로 정리하면서 한번 더 공부하고자 합니다! 그럼 앙상블이 뭔지 한번 볼까요? 순서 앙상블이란? 앙상블의 종류 1. 앙상블이란? 앙상블을 검색해보면 물리학, 통계학, 뮤지컬, 연주 등 다양한 영역의 연관검색을 확인할 수 있습니다. 아하! 앙상블이라는 단어가 코딩의 전문용어가 아니였습니다. '앙상블(Ensemble)'은 프랑스어로써 '전체적인 어울림이나 통일' 이라고 위키백..
-
Machine Learning
[ML] 스태킹(Stacking) 완벽 정리
이 포스팅만 읽으면 스태킹을 쉽게 이해할 수 있도록 정리해봤습니다 :) 천천히 읽어볼까요? 순서 스태킹의 핵심 개념 스태킹의 원리 목표 기본모델 최종모델 코드 1. 스태킹의 핵심 개념 스태킹은 여러 가지 모델들의 예측값을 최종 모델의 학습 데이터로 사용하는 예측하는 방법 입니다. 아직 잘 와닿지가 않나요? 간단한 예시를 아래 그림과 함께 들어보겠습니다. 저는 knn, logistic regression, randomforest, xgboost 모델을 이용해서 4종류의 예측값을 구했습니다. 그리고 이 예측값을 하나의 데이터 프레임으로 만들어 최종모델인 lightgbm의 학습데이터로 사용했습니다. 지금은 기본 모델로부터 예측된 값들이 최종모델의 학습데이터로 사용된다는 것만 이해하면 됩니다. 자세한 내용은 다..
-
Machine Learning
[ML] 결정트리(Decision Tree) 한 번에 정리하기
* 해당 포스팅은 파이썬 머신러닝 완벽 가이드(권철민, 2019) 교재를 참고하여 공부하며 작성한 글입니다. 순서 결정트리 알고리즘의 개념 개념 구조 하이퍼파라미터 튜닝 특성중요도 1. 결정트리 알고리즘의 개념 1-1. 개념 결정트리 알고리즘을 한 마디로 설명하면 스무고개 입니다. 그런데 기가막히게 예리한 질문지들을 척척 만들어내는 녀석입니다. 예를 들어 강아지, 고양이, 새 사진이 각각 100장씩 섞여있는 그룹에서 이 세 가지를 정확하게 분류하려면 어떤 질문들이 필요할까요? 일단 날개가 있는지로 새를 정확하게 분류할 수 있을 것 같습니다. 그리고 날개가 없는 강아지와 고양이는 눈동자의 모양이 날카로운지에 따라 분류할 수 있을 것입니다. 하지만 이 기준으로 강아지와 고양이를 100% 분류할 수 없기 때문..
-
Life
세상에 완전히 똑같은 인생은 없다
‘인생은 선택의 연속이다’ 작게는 오늘 점심으로 무엇을 먹을지, 오늘은 운동을 몇 시에 갈지, 더 나아가서 나는 어떤 공부를 할지, 어떤 취미생활을 가질지, 어떻게 방학을 보낼지, 또 더 나아가면 결혼을 할지, 이직을 할지, 집을 살지 등이 있다. 모든 순간은 본인이 선택하는 것이고, 옳은 선택은 없다. 그저 지금의 선택으로 인해 다음의 선택지가 바뀔 뿐이다. 그리고 시간이 지나면 그게 ‘나’의 인생이 된다. 그래서 세상에 완전히 똑같은 인생은 없다. 내가 하고 싶은 말은 너무 불안해하지 않아도 된다는 거다. 지금 하는 일이 잘 되지 않더라도, 다른 친구들은 벌써 이만큼 했는데 나는 아무것도 하지 않았더라도, 그냥 지금 나에게 놓인 선택지에 최선을 다하면 된다. 주변을 둘러보면 그럴싸하다. 누군가는 재수..
-
Data Preprocessing
범주형 변수 처리 - 인코딩(Encoding)
다음과 같은 데이터 프레임이 있다고 가정해봅시다. 흔히 'subject'와 같은 값의 형태를 가진 변수를 '범주형 변수', 'score'와 같은 값의 형태를 가진 변수를 '수치형 변수'라고 합니다. '범주형 변수'의 경우, 모델링을 하기 전에 컴퓨터가 이해하기 쉬운 숫자의 형태(정수형)로 인코딩해야 하는데, 오늘은 그 방법에 대해서 정리해보겠습니다. 순서 Label encoding One hot encoding get_dummies() factorize() ● Label encoding 문자형을 정수형으로 인코딩하는 과정입니다. 예를 들어 'english', 'korean', 'math'를 0, 1, 2 처럼 변환시키는 것입니다. from sklearn.preprocessing import LabelEn..
-
Kaggle
[Kaggle] 통신사 고객 이탈 예측 - 코드 및 결과 분석
2. 코드 분석 및 결과 분석 2-1. 코드분석 전체 코드는 아래 깃허브를 참고해 주세요. https://github.com/sanghwi-git/predict_churn/blob/master/Final%20handling.ipynb sanghwi-git/predict_churn Contribute to sanghwi-git/predict_churn development by creating an account on GitHub. github.com 과정 데이터 전처리 데이터 로드 결측치 처리 타입 변경하기 이탈 =1/ 이탈하지 않음=0 : 이탈율 확인을 위함 탐색적 자료 분석(EDA) 특성별 빈도수 파악 특성별 이탈율 파악 카테고리형 연속형 상관관계 행렬 EDA 결과 분석 특성 공학(Feature En..
-
Data Visualizing
matplotlib 완벽 정리
데이터 분야 공부를 시작할때 가장 먼저 만나는 세 가지 라이브러리를 꼽자면 numpy, pandas, matplotlib 입니다. 오늘은 그 중 matplotlib 에 대해서 정리해볼텐데요, 개인적으로 처음 이 라이브러리를 접했을때 정말 헷갈렸습니다. 어떤 커널에서는 plt.plot으로 표현하고, 또 다른 커널에서는 ax.plot 혹은 axes[0,0].plot으로 표현되어있기 때문입니다. 그리고 가령 히스토그램을 그린다면 누구는 plt.hist로 구현했는데, 또 다른 누구는 plt.plot(kind='hist)로 구현했기 때문에 일목요연하게 정리되지 않았습니다. 그래서 오늘 포스팅을 기획하게 되었는데요, 해당 포스팅의 목적은 두 가지 입니다. 첫 번째, 왜 이렇게 표현방식이 다양하고, 어떻게 정리할 수..
-
Career
2021년 제일기획 데이터기획직 대학생 인턴 후기
소중했던 6주 간의 제일기획 인턴 생활을 마치고 이제 후기를 써보려고 합니다! 이 글이 먼 훗날 저 스스로에게도, 그리고 취업 준비를 하는 사람들에게도 도움이 되었으면 좋겠네요 :) 글은 인턴 생활 중에 인상 깊었던 에피소드 형식으로 작성해보려 합니다. 그럼 바로 시작해볼게요! - Ep1. 전국에서 한 명 뽑았다. 그게 바로 나? - Ep2. 내 인생 첫 사회생활, 풀정장으로 시선 집중 - Ep3. 유튜브에서 뵙던 분이 눈 앞에! - Ep4. 서프라이즈 생일파티 - Ep5. 면접을 그렇게 잘봤다고 하던데~ - Ep6. 직접 느껴본 제일기획 장점 - Ep7. 과제 준비 과정과 최종 발표, 그리고 느낀 점 Ep1. 전국에서 한 명 뽑았다. 그게 바로 나? 인턴 선발 최종 발표가 나고 며칠 후, 제일기획 인턴..
-
Life
[Italki] 한국어 가르치기 아르바이트와 인터뷰
2020년 코로나로 인해 게스트하우스 아르바이트를 못하게 되고, 6개월의 공백기가 생기게 되어 시작하게 된 아이토키(Italki) : 온라인 언어 학습 플랫폼 내가 원하는 시간에, 원하는 가격으로, 컴퓨터 앞에 앉아서 편하게 돈을 벌 수 있었고, 매번 새로운 전세계 사람들을 만날 수 있었기 때문에 너무너무 재밌었다. 이탈리아 소방관, 미국 마이크로소프트 개발자, 호주 바리스타, 남아프리카공화국 의사, 벨기에 대학생 등 다양한 국적, 직업의 사람들과 대화할 수 있다는 점이 정말 매력적이었고, 한국어를 배우고 싶어하는 사람들이었기 때문에 나에게 매우 호의적이어서 좋았다. 그리고 한 번은 아이토키를 하고 있는데 이런 메세지가 왔다! " 안녕하세요! 상휘 선생님! 저희는 한국어 교육 스타트업인 한그루라고 합니다..
-
BOAZ
[BOAZ] ADV 프로젝트 - 특정 시간대의 주가 변동 패턴을 이용한 실시간 주가 예측 (2)
보통 활동의 최종 발표격인 ADV 프로젝트를 할 때에는 딥러닝을 이용한 프로젝트를 하는게 일반적입니다. 영상처리, 이미지처리, 자연어처리 등 주제부터가 전문적이고, 실제 결과물이 머신러닝에 비해 고급져보이기 때문이죠! 저도 그런 흐름을 타고 ADV 프로젝트로 딥러닝을 해볼까 고민을 했지만, 개인적으로 실생활에서 가지는 궁금증을 프로젝트에 담아보고 싶다는 마음이 더 컸기 때문에 결국 주식 프로젝트를 기획하고 진행했습니다! 대부분의 굵직한 프로젝트들이 그렇듯, 프로젝트 과정에서 기술적인 시행착오들, 방향성에 대한 의문들에 정말 많이 부딪히고 고민했지만, 그런 고민들을 함께할 팀원들이 있어서 끝까지 잘 마무리할 수 있었던 것 같습니다. 이번 프로젝트를 끝으로 보아즈 활동은 공식적으로 마무리했고, 지난 1년간 ..
-
Life
가장 기분 좋았던 칭찬
지난 학기에 학점이 남아서 교양 수업을 많이 들었다. 9학점 전공으로 편하게 학교를 다닐 수도 있었지만, 사실 대학교에서 좀 재미있는 수업도 들어보고 싶었고 그런 로망이 있기도 했다. 그래서 신청했다. '요가 및 필라테스', '작곡 실습', '배드민턴', '초급 일본어' 그 중 작곡 실습과 초급 일본어는 학점이 있었기 때문에(2학점과 3학점), '괜히 들었다가 평균 졸업 학점을 깎아먹으면 어떡하지' 하며 걱정했지만 안하면 나중에 후회할 것 같아서 했다. 교양과목들은 정말 재미있었다. 그래서 매 수업마다 열심히 했고, 학점을 잘 받는게 목표가 아니었기 때문에 더 열심히 했던 것 같다. 그래서 그런지 수업시간이 끝날 즈음에는 교양과목 교수님들에게 칭찬을 자주 들었다. 한 번은 요가 및 필라테스 교수님께서 이..
-
Career
2021년 SK 주식회사 (C&C) Data Analytics/ Engineering 직군 인턴 서류, 필기 합격 후기
채용 프로세스 : 서류 > 필기 (SKCT, 데이터 분석 역량 평가) > 면접 * 면접 구성 및 질의 내용은 대외비이기 때문에 자세하게 말씀드릴 수 없습니다. 따라서 준비 과정과 그 과정에서 느낀 점들을 중심으로 후기를 작성해보겠습니다 :) 1. 서류 자기소개서 작성 요령은 제일기획 인턴 합격 후기 포스팅에 자세히 작성했습니다. 따라서 이번에는 SK C&C 자기소개서에서 특히 신경 쓴 부분만을 말씀드릴게요! C&C 문항을 보시면 다른 회사들과는 다르게 구체적으로 무엇을 쓰라는 가이드라인이 있습니다 (ex. 본인이 설정한 목표/ 목표의 수립 과정/ 처음에 생각했던 목표 달성 가능성 등). 즉 자기소개서를 다 작성했을때, 가이드라인에서 주어진 모든 질문에 대한 답이 자기소개서에 녹아있어야 합니다. (답변 나..