빅데이터 분석기사 실기 Tip
화면설정
오른쪽 상단의 톱니바퀴 모양의 버튼을 누르면 화면 확대/축소, 줄간격, 다크모드등 화면설정을 할 수 있다.
컬럼 또는 행이 다 나오지 않을때
행 모두 보기:
pd.set_option('display.max_rows', None)
열(컬럼) 모두 보기:
pd.set_option('display.max_columns', None)
None에는 자기가 보고 싶은 행이나 컬럼수를 입력하면 됨.
아래처럼 모든 컬럼이 다나오는 것을 볼 수 있다.
.__all__ / dir / help
sklearn의 하위 모듈 찾을때
2차 하위 모듈을 찾을때
모듈이나 함수에 대한 설명을 보고 싶을때
작업형 제 2유형
순서: 결측치 - 이상치- 라벨링 - 데이터분할 - 모델링, 하이파라미터 튜 - 예상 - 결과확인
결측
결측치가 너무 많으면 그냥 제거나 0으로 하고,
데이터의 10% 정도면 수치형은 중앙값, 범주형은 최빈값으로 대체
or 결측치가 적으면 제거, 많으면 평균채우기
하이퍼파라미터 튜닝
# 디폴트값
. n_estimators 100
. min_sample_leaf 1 작으면 과적합 위험
. min_sample_split 2 작으면 과적합 위험
# max_depth 너무 크면 과적합 위험)
=> train / validation set을 나눈 후
n_estimators와 max_depth만 조정해 가면서(나머지는 그냥 디폴트로 사용) 과적합 피라기
하이퍼 파라미터 튜닝 시 이런식으로 조절
n_estimators=100
max_depth=3,5,7,9,10...
min_samples_leaf=1,2,3,4,5
rf_hp = {
'max_depth' : [6, 8, 12],
'min_samples_leaf' : [6, 8, 12],
'min_samples_split' : [6, 8, 10]
}
정확도 확인
# 모델 학습
model = RandomForestClassifier(n_estimators=10, random_state=0,
max_features=4, oob_score=True)
model.fit(X_train, y_train)
# 평가
print("훈련 세트 정확도: {:.3f}".format(model.score(X_train, y_train)) )
print("테스트 세트 정확도: {:.3f}".format(model.score(X_test, y_test)) )
print("OOB 샘플의 정확도: {:.3f}".format(model.oob_score_) )
==결과==
훈련 세트 정확도: 0.992
테스트 세트 정확도: 0.933
OOB 샘플의 정확도: 0.958
예측
특정 클래스로 분류될 "확률" 예측할 때 사용
a클래스(첫번째)로 분류될 확률을 구하라 하면
y = model.predict_proba(x_test)
print(y[:, 0]) -> 첫번째 클래스로 분류될 확률
predict() 메소드는 범주를 예측하여 반환하고,
predict_praba() 메소드는 확률(probability)을 반환합니다.
'개발 공부 > 빅데이터분석기사' 카테고리의 다른 글
[빅데이터 분석 기사] tip, 제 1유형, 제 2유형, 제 3유형 통합 요약 (0) | 2024.06.22 |
---|---|
빅데이터분석기사 실기 시험환경 체험하기-작업형 3유형 (0) | 2023.12.01 |
빅데이터분석기사 실기 시험환경 체험하기-작업형 2유형 (0) | 2023.12.01 |
빅데이터분석기사 실기 시험환경 체험하기 - 작업형 1유형 (0) | 2023.11.30 |