본문 바로가기

분류 전체보기

(64)
[데이터 엔지니어링] 1-1 (2) 터미널 / 가상환경 / Git & Github 1. 터미널 터미널은 컴퓨터에 글자 기반 명령을 전달하는 어플리케이션. 이처럼 컴퓨터와 글자 기반으로 명령하는 것을 CLI(Command Line Interface)라고 한다. 그와 반대로 우리가 평소에 컴퓨터를 쓸 때처럼 그래픽 기반으로 명령하는 것은 GUI(Graphical User Interface) 라고 한다. a. 기본 명령어 - pwd : 현재 경로 반환 - ls : 현재 디렉터리 내 파일명들 반환 - mkdir : 디렉터리 생성 - cd : 해당 디렉터리로 이동 * shell과 terminal의 차이 shell은 명령어를 실행시키는 역할을 하고, 터미널은 우리가 명령어를 입력하고 결과를 확인하는 창. - shell : anaconda prompt, git bash - terminal : Wi..
[데이터 엔지니어링] 1-1 (1) 개발 환경 구축 지금부터 구축하는 개발 환경은 현재 내 부트캠프에서 안내한 것들이다. 가장 인기가 많다거나 흔한 것은 아닐 수 있으며 온전히 학습 기록을 남기기 위해 메모한 것이다. 1. 프로그램 git bash - 컴퓨터와 소통하는 '터미널'. git으로 작업을 관리하고 github로 작업물을 보낼 수 있다. 아나콘다에서 생성한 가상환경도 이용할 수 있다. VS Code - 파이참과 같은 .py 파일 편집기 Anaconda - 데이터를 다루는 직무를 위한 기능들을 모아놓은 tool kit. 가상환경을 구축하고 이용할 때 썼다. Docker - 프로젝트 시 구축한 가상환경을 docker file로 만들어 다른 사람이나 다른 기기에 넘겨줄 수 있다. 서비스 배포할 때도 아주 편리하다. DBeaver - 데이터베이스 관리 ..
[코드스테이츠 / 데이터 분석] 다음 분기에 어떤 게임을 기획할까? 1. 개요 기간 : 2023.3.8 ~ 3.13 (총 6일) 과제 : 게임 회사 데이터팀 직원으로서 주어진 데이터로 인사이트를 얻고 의사결정을 진행하여 "다음 분기에 어떤 게임을 설계해야 할까"라는 고민을 해결해주세요 코드 보러가기 GitHub - HeeYoung-code/Codestates-Project Contribute to HeeYoung-code/Codestates-Project development by creating an account on GitHub. github.com 보고서 보러가기 Codestates S1 Project HeeHee Games 2017 New Project Analysis By HeeYoung docs.google.com 1-1. 문제 정의 현 시점은 2016년. ..
[코드스테이츠 / 머신 러닝] 신용카드 고객 연체 예측 모델 구축 (Random Forest, XGBoost) 1. 개요 기간 : 2023.4.7 ~ 4.12 (총 6일) 과제 : 직접 선택한 데이터셋을 사용해 머신러닝 예측 모델 구축, 성능 평가 및 인사이트 공유 코드 보러가기 GitHub - HeeYoung-code/Codestates-Project Contribute to HeeYoung-code/Codestates-Project development by creating an account on GitHub. github.com 보고서 보러가기 section2 project 신용카드 고객 연체 예측 모델 ▲▲은행 데이터팀 박희영 docs.google.com 1-1. 문제 정의 내가 선택한 문제는 다음과 같다. 온라인 전문 ▲▲은행에서는 최근 공격적 마케팅 성공으로 신용카드 고객 다수 확보했다. 하지만 사용..
Section2 Machine Learning을 마치며! 1. What I Learned 이번 달 주제는 머신러닝이었다. 회귀-분류로 문제를 정의하고 그에 맞는 여러가지 모델을 배웠다. 선형 회귀, 로지스틱 회귀, 랜덤 포레스트, XG 부스트 등의 모델과 작동 원리. 그리고 각 문제에 맞는 평가지표와 하이퍼파라미터 튜닝까지. 지금까지 왜 내가 원하는 직무명에 '데이터 사이언티스트' 즉 '과학자'라는 워딩이 들어가는 지 궁금했는데 이제 이해하게 됐다. 자료를 정제하고 모델을 선정하고 결과를 비교하는 과정이 과학자의 실험과 닮았기 때문이다. 저번 달에도 그랬듯 공부량이 많아서 도전적인 하루하루였다. 하지만 공들여 데이터를 정제하는 일도, 단계를 밟으며 모델의 성능을 향상시키고 완성하는 일까지 내게는 더할나위 없이 잘 맞고 재밌었다. 이쪽 세계로 발을 들인 결정에 ..
[머신러닝] 3-4 Class Imbalance 타겟값에서 클래스의 비율이 다를 때 학습에 문제가 생길 수 있다. 예를 들어 0과 1의 비율이 2:8이라면, 모델은 class1은 충분히 학습하지만 class0에 대한 학습은 놓친다. 그래서 precision이나 recall 값이 클래스 별로 차이가 생길 수 있다. 그래서 이 비율을 해결하여 학습하는 것이 중요하다. 해결 방안에는 물리적으로 데이터 수를 맞추는 Resamping과 계산적으로 가중치를 부여하는 Class Weight 조절법이 있다. 1. Resampling ① Down Sampling 다수 class를 줄여 데이터 수를 맞추는 방법. 다수 class에서 랜덤으로 데이터를 뽑아 데이터 수를 줄임. 데이터 손실 위험 ② Over Sampling 소수 class를 늘려 데이터 수를 맞추는 방법...
[머신러닝] 3-3 ML Problem Framing 1. 문제 정의 ML을 통해 해결하고자 하는 비즈니스 문제가 무엇인가? target 설정 target을 설명하는 feature 확보 적절한 데이터 양 확보 2. target 설정 문제 해결을 위해 어떻게 target을 설정할 것인가 (회귀인가 분류인가) 3. Data Leakage 문제 별다른 작업 없이도 100%에 가까운 성능을 얻는 경우 '데이터 누수'를 의심해보아야 한다. 2가지의 경우로 나눌 수 있다. ① 학습 시 사용하면 안되는 feature 포함 ex) 주식의 종가를 예측하는 데이터에 하루치 거래량이 있는 건 말이 안된다. 왜냐하면 내일의 거래량을 모르는 상태에서 내일의 종가를 예측해야하기 때문이다 ② 학습 과정에서 평가 데이터의 정보가 활용된 경우 모델로 하여금 test set을 학습하도록 ..
[머신러닝] 3-2 모델 해석 (분석 단위 기준) 이전 시간에는 특성을 기준으로 모델을 해석했다. 이번에는 한 케이스에 대한 정보만을 포함하는 행(분석단위, 데이터포인트)을 기준으로 본다. 1. Individual Conditional Expectation(ICE) plot 특정 분석단위에서 하나의 특정 특성이 변하면 예측값은 어떻게 달라질까? 그 양상을 확인하는 것이 ICE plot이다. 예를 들어 한 사람의 나이, 학력, 국가, 직업에 대한 특성이 있고 그 사람의 연봉을 기록한 타겟이 있다. 이때 나이가 적어지거나 많아지면 연봉의 예측값이 달라질 것이다. # 확인하고자 하는 분석단위 가져오기 one_datapoint = X_val_encoded.iloc[[3]].copy() # age 변화 범위 정하기 age_test_range = range(X_v..