나는 오늘 무엇을 했는가?
1. 멋쟁이사자처럼 AI스쿨 7기 (박조은 강사님, 파이썬) 수업 듣기
머신러닝-결정트리(분류/수치형), 머신러닝-랜덤포레스트(분류/수치형), 머신러닝 - 회귀(범주형), 교차검증
* 머신러닝 - feature engineering
- 수치형 변수를 범주형으로 만들기(왜? 머신러닝 알고리즘에 힌트를 줄 수 있고 오버피팅을 방지할 수 있다.)
- 결측치 다루기
- 이상치 다루기
* 머신러닝 기본 과정
- 학습, 예측 데이터 셋 나누기
- 학습, 예측 데이터 셋 만들기
- 학습 - 예측 - 평가
※ 하기 코드는 멋쟁이사자처럼 AI 스쿨 7기 박조은 강사님의 수업 내용 및 자료를 바탕으로 작성하였습니다.
* 결정트리
# 알고리즘 가져오기
from sklearn.tree import DecisionTreeClassifier
model = DecisionTreeClassifier(random_state = 42, max_depth = 6, min_samples_leaf = 6)
model
# 학습(훈련)
model.fit(X_train, y_train)
# 예측
y_predict = model.predict(X_test)
# 평가
from sklearn.metrics import accuracy_score
accuracy_score(y_test, y_predict)
# 결정트리 그리기
from sklearn.tree import plot_tree
plt.figure(figsize = (20,10))
ptree = plot_tree(model, max_depth= 5,
# 보기어려워서 옵션 지정
# max_depth: 트리의 깊이를 제한
# feature_names 를 지정하지 않으면 X[1], X[2] 처럼 피처이름을 확인하기 어렵다.
# 즉 feature_names는 그래프 분류에 사용된 특성 이름을 표시
# filled는 그래프의 색상을 채워준다.
# 분류를 위한 주요 지표, 극단값, 순도 등을 이용해 칠하는데 색이 정해지는 기준은 모르겠네요
feature_names= feature_names, filled = True, fontsize = 12)
plt.show()
* 랜덤포레스트
# 알고리즘 가져오기
from sklearn.ensemble import RandomForestClassifier
model = RandomForestClassifier(n_estimators = 1500, max_depth = 5
, min_samples_leaf = 6, n_jobs = 1, random_state = 42)
# 훈련
model.fit(X_train, y_train)
# 예측
y_predict = model.predict(X_test)
# 평가
from sklearn.metrics import accuracy_score
accuracy_score(y_test, y_predict)
* 회귀
# 알고리즘 가져오기
from sklearn.ensemble import RandomForestRegressor
model = RandomForestRegressor(n_estimators = 100, random_state = 42, n_jobs = -1)
# 훈련
model.fit(X_train, y_train)
# 교차검증
from sklearn.model_selection import cross_val_predict
y_predict = cross_val_predict(model, X_train, y_train, cv = 5, n_jobs = -1, verbose = 2)
y_predict[:5]
# 회귀계수 구하기
from sklearn.metrics import r2_score
r2_score(y_train, y_predict)
* 분류는 정확도를 회귀는 오차를 확인
* 어떤 회귀모델이든 공통적으로 MAE, MSE, RMSE 등으로 측정한다.
- 이력서 작성하는 방법
* 아래 박스의 내용은 이동욱 님의 자료를 바탕으로 박조은 강사님이 수업하신 내용을 정리한 내용입니다.
99CON : 주니어 개발자의 이력서 쓰기 - 이동욱 - Speaker Deck
1️⃣ 이력서의 모든 항목은 역순 정렬이 기본이다.
2️⃣ 한글파일, 워드 보다는 pdf로 제출 (바로 열어볼 수 있도록)
3️⃣ 압축파일은 NO (보안 이슈 등으로 잘 열어보지 않는다.
단, 회사에서 zip으로 내라고 했으면 상관X
4️⃣ 보편적인 이력서 양식
(필수) 아래 순서는 지키는 것이 좋다.
- 본인 프로필
이름, 이메일, 깃허브(필수) / 블로그(준필수) / 사이드 프로젝트 (있으면 가산점)
- 본인 소개(5-7줄로 어떤 개발자인지, 어떠 어떠한 나의 특성으로 회사에 어떤 기여를 할 수 있는지)
※ 어떤 경험을 했고 어떤 생각을 가지고 평소에 어떤 노력을 하고 있는지 등등
- 기술 스택(파이썬, 판다스, seaborn 등으로 뭘 해봤고 어느 정도로 구현할 수 있는지/어떤 기여를 할 수 있는지)
JD의 기술스택과 비교하며 써볼 것
- 오픈소스/프로젝트/경력(순서는 무관)
경력: 직군과 무관해도 작성하는 것을 권장, 어떤 회사 어떤 직급으로 어떤 일을 했는지
(선택) 교육/발표/집필, 기타 등등
교육: 학력, 교육사항 등 기재
집필: 블로그를 꾸준히 써왔다~
5️⃣ 다른 사람들의 잘 쓴 이력서를 많이 봐보자.
6️⃣ 최대한 수치를 위주로 작성하자.
7️⃣ 피해야 할 단어: 열정, 노력, 도전정신
8️⃣ 기술스택 작성 시 1~2번 써본 기술은 언급하지 않는다. 주력 기술들만 언급하고 경렬에 비해 너무 많은 기술스택을 외려 좋지 않다.
9️⃣ 러닝커브, 내가 얼마나 빠르게/바르게 학습할 수 있는지
🔟 프로젝트 작성 시엔 질문하면 답변할 수 있는 프로젝트만 맡은 개발 파트요약
프로젝트는 깃헙에 코드로 올릴 것을 추천하고 문제해결 사례를 함께 생각해볼 것
2. ADsP 공부
- 2과목 이론 학습 및 문제풀이
3. 천리길도 한걸음부터 스터디
- pandas 타이타닉 문제풀이, 원핫인코딩
나는 오늘 무엇을 느꼈는가?
1. 깃헙 잔디심기 시작하자! (꾸준함이 생명)
2. 분류와 회귀.. 슬슬 비슷하지만 다른 개념을 배워가는 것 같다. 복습을 잘 해보자. 파이팅
3. 주말에 심평원에서 배포한 AI 관련 책자를 공부해보는 것도 좋을 것 같다.+
회귀분석 63~, 결정트리와 앙상블 86~100
총 공부시간
11시간 54분 44초
- 멋쟁이사자처럼: 8시간(09~18)
- 천리길 스터디: 약 1시간
- 그 외 공부: 2시간 54분 44초
'복습 및 회고 > TIL' 카테고리의 다른 글
[TIL] 20221029(토) (0) | 2022.10.29 |
---|---|
[TIL] 20221028(금) (0) | 2022.10.28 |
[TIL] 20221027(목) (0) | 2022.10.27 |
[TIL] 20221025(화) (0) | 2022.10.25 |
[TIL] 시작 (0) | 2022.10.25 |
댓글