본문 바로가기

Experience/- KT AIVLE School42

KT AIVLE School 7주차 정리 - CNN's Layers 정리 강사님께서 연결주의 관점에서 설명해주시면서 함수로 묶어 하나의 레이어 처럼 인식하게 하면서 인간이 이해하기에 직관적인 느낌이 있었습니다. 그런데 이런 레이어들이 꽤 종류가 많아서 한번 정리를 해보고자 했습니다! Convolutional Layer 이미지 구조를 파괴하지 않으면서 데이터의 크기 축소 위치 정보를 보존 Feature Map 생성 Stride 꼭지점 쪽 정보를 반영이 덜되는 문제 발생 Feature Map을 훑는 간격 설정 model.add( Conv2D(filters=32, # feature map 의 수 이후 폭, 혹은 filter의 개수 [(이전 폭 - filtermap 폭) / 스트라이드 크기 + 1] -> 다음 레이어의 깊이 -> 필터의 커널의 개수 kernel_size=(3, 3),.. 2023. 3. 13.
KT AIVLE School 6주차 정리 - FI, PFI, SHAP FI (Feature Importance) 계산되는 방식이 2가지가 존재하기에 중요도 값의 단위를 확인할 필요가 있다. # 반복문을 돌면서 모델에 내장된 feature_importance_ 시각화 # results 는 딕셔너리 형태로 모델을 저장함 for key in results: if key in ['RL', 'KNNR', 'SVR']: continue tmp = pd.DataFrame({'feature_importance': results[key].feature_importances_, 'feature_names': list(x_train)}).sort_values('feature_importance', ascending=False)[:20] plt.figure(figsize=(16, 6)) sns.. 2023. 3. 10.
KT AIVLE School 6주차 정리 - 미니프로젝트 후기 2주 전에 배운 머신러닝을 활용하여 데이터 전처리, 크롤링, 피처엔지니어링, 모델 학습 및 성능 평가, 하이퍼 파라미터 튜닝을 하는 실습을 3일동안 했습니다! 1일차 이 날엔 개별 프로젝트로 미세먼지 데이터 EDA를 진행 후 다음날 미세먼지 정도를 예측하는 모델을 만들고 시각화 및 평가를 했습니다! 저는 이날 아주 수월하게 실습을 하고, 다른 복습도 진행할 수 있었습니다. 2일차 사다리타기로 조장이 되어서 1차 미니프로젝트 경험을 살려서 구글 드라이브로 ppt를 공유하여 각자 실습했던 내용들 중에 특이상항들을 체크 후 역할분담을 시켜서 빠르게 피피티를 만들었습니다. KT에이블스쿨 측에서 피피티 만드는 시간을 일부러 짧게 잡아주었지만 저는 역할분담을 잘 해서 성공적으로 피피티의 퀄리티를 높일 수 있어서 뿌.. 2023. 3. 8.
KT AIVLE School 6주차 정리 - 전처리 고급 누락된 값 분석 import missingno as msno ax = msno.matrix(df) plt.show() # 파일 저장 # from time import time, localtime # today = localtime(time()) # ax.get_figure().savefig(f'images/mlpr_{today.tm_mon}{today.tm_mday}.png') fig, ax = plt.subplots(figsize=(16, 6)) (1 - df.isna().mean()).abs().plot.bar(ax=ax) # 파일 저장 # from time import time, localtime # today = localtime(time()) # fig.savefig(f'images/mlpr_{.. 2023. 3. 7.
KT AIVLE School 4주차 정리 - 회귀, 분류 모델 선택 방법 미니프로젝트를 진행하면서 코드 스니펫은 매우 중요합니다. 다른 사람들은 성능을 평가하고 있을 때, 키보드를 뚝딱이고 있다면 반성하고 미리미리 복습하면서 코드 스니펫을 만듭시다! 실습을 하면서 제공해준 자료는 내가 만든 것이 아니기 때문에 소화가 안된 코드 입니다! 강사님께서 정말 회귀와 분류에 대해서 찰떡처럼 쉽고 이해가 잘 되게 설명을 해주셔서 19년도에 혼자 처음 배웠던 머신러닝을 왜 어려워했나 싶은 마음도 듭니다! 아무튼 아래의 코드는 회귀 문제와 분류 문제를 위한 모델 선택을 할때 반복을 돌려서 어느정도 성능이 나오는지만 체크하는 코드입니다! 정성드려서 코드를 정리한 만큼 가져가신다면.. 댓글로 반응해주시면 큰 힘이됩니다! 회귀 모듈 불러오기 from sklearn.linear_model impo.. 2023. 3. 6.
KT AIVLE School 5주차 정리 - Keras (Functional) 기본 Functional API 방식 keras.backend.clear_session() # 모델 저장된 메모리 초기화 """ Sequential과의 차이점 - 변수에 각 레이어의 결과를 담는다. - 모델 변수를 처음과 끝 레이어 변수를 넣어서 따로 선언한다. - Concatenate 등과 같이 히든레이어의 설정이 가능 """ il = keras.layers.Input(shape=(1,)) hi = keras.layers.Dense(512, activation='swish', name='hidden1')(il) hi = keras.layers.Dense(256, activation='swish', name='hidden2')(hi) hi = keras.layers.Dense(128, activation.. 2023. 3. 3.