🦁🦁
하이퍼파라미터 튜닝은 원래 가장 마지막 단계에 함
결측치가 많은데 0으로 처리하면 제대로된 분석이 불가능
수치형 변수를 범주형으로 인코딩할 수 있음
label이 없는 데이터들은 사람이 직접 label을 수작업으로 넣기도 함
데이터셋 샘플링
split_count = int(df.shape[0] * 0.8)
train = df[:split_count]
test = df[split_count:]
X_train = train[feature_names]
y_train = train[label_name]
X_test = test[feature_names]
y_test = test[label_name]
트리를 더 선명하게 그리고 싶다면 graphviz
라이브러리 이용
model.score()의 값과 accuracy_score() 값의 결과는 같이 나오는데 y_predict를 따로 만드는 이유
-> 다른데 쓸데가 있어서
이상치 제거
Insulin_nan : raw data에서 0을 nan로 바꾼 컬럼
Insulin_fill : Insulin_nan에서 nan값을 평균으로 채운 값
어디서 이상치를 제거해야 하는가? -> Insulin_fill은 전처리가 한 번 된 값이므로 Insulin_nan에서 하는게 조금 더 정확함
decision tree의 samples, value
decision tree의 단점
단점에도 불구하고 사용하는 이유 : 빠르고 단순해서 데이터 피처의 중요도 파악에 용이하고 직관적임
랜덤 포레스트
배깅(bagging)
장점
RandomForestClassifier()
: 랜덤 포레스트
plot.tree
로 시각화할 수 없음. treeinterpreter
라이브러리 사용해 시각화(집계한 결과의 feature importance를 시각화해줌)🤔sklearn 기본 데이터에서 보스턴 집값 데이터가 제외된 이유?
: "B"라는 피처가 존재.(흑인 수가 얼마나 되는지 나타내는 피처) 윤리적인 이유로 삭제
틀린 값만 찾아보기
test["accuracy"] = y_test == y_predict
test[test["accuracy"] == False]
예측모델 성능 평가
hold-out validation : train dataset에서 validation dataset으로 나눔(전체 dataset에서 train, validation, test로 나눔). 훈련셋을 이용해서 모델을 훈련시키고, 검증셋으로 모델의 최적 파라미터들을 찾아가고, 그 다음에 테스트셋을 이용해서 모델의 성능을 평가함.
k-fold validation : train 데이터셋을 k개의 서브셋으로 분리. 이후에 하나의 서브셋만 테스트에 사용하고 나머지 k-1개의 서브셋은 훈련에 사용. 이를 k번 반복해 측정한 성능지표를 평균냄으로 최종적으로 모델의 성능을 평가함.
cross_val_predict()
: 교차검증을 위한 함수. 교차 검증의 예측 결과를 반환해줌
cross_val_score
함수로 바로 점수를 출력할 수도 있음r2_score()
로 평가할 수 있음seaborn의 regplot, jointplot, residplot으로 예측값과 실제값을 비교해볼 수 있음
JD
99CON : 주니어 개발자의 이력서 쓰기 - 이동욱
https://speakerdeck.com/weirdx/99con-junieo-gaebaljayi-iryeogseo-sseugi-idongug
이력서 예시
https://jojoldu.github.io/
프로젝트는 최신순으로 정렬
파일은 PDF로. 절대 압축 NOPE
보편적인 이력서 양식
본인 프로필
본인 소개(5~7줄로)
기술 스택
오픈소스 / 프로젝트 / 경력(순서는 무관)
교육(학교, 부트캠프), 발표, 집필, 기타등등..(선택사항)