전체 글

파이썬 기초를 복습하는 내용입니다. 1. 산술연산자(arithmetic operator) + 사칙연산자 더하기 a + b = 27 (a=18, b=2) - 사칙연산자 빼기 a - b = 9 * 사칙연산자 곱하기 a * b = 162 / 사칙연산자 나누기 a / b = 2 ** 제곱 a ** b = 8 (a=2, b=3) // 왼쪽 항을 오른쪽 항으로 나눈 정수몫 a // b = 7 (a=30, b=4) % 왼쪽 항을 오른쪽 항으로 나눈 나머지 a % b = 2 2. 대입연산자(assignment operators) 연산과 할당을 합쳐놓은 연산자입니다. 변수에 연산한 값을 대입할 때 간결하게 사용이 가능합니다. = 왼쪽 항에 오른쪽 항을 대입한다 += 왼쪽 항에 오른쪽 항의 값을 더하고, 왼쪽 항에 대입한..
· Data/MLDL
MUSTHAVE 12장을 실습한 내용입니다. 4. 성능 개선 4가지 기법을 추가해 성능 개선에 도전해보겠습니다. 에폭 늘리기 스케줄러 추가 TTA(테스트 단계 데이터 증강) 기법 레이블 스무딩 적용 에폭 늘리기와 스케줄러 추가는 '모델 훈련 및 성능 검증' 단계 초반에 수행합니다. TTA와 레이블 스무딩은 무려 '예측' 단계에서 이루어지는 성능 개선 기법입니다. 모델 생성까지는 베이스라인과 똑같이 실행합니다. ① 모델 훈련 및 성능 검증 손실 함수 및 옵티마이저 설정도 베이스라인과 동일합니다. 스케줄러를 추가로 설정한 후 본격적인 모델훈련에 돌입하겠습니다. 스케줄러 설정 스케줄러는 훈련 과정에서 학습률을 조정하는 기능을 제공합니다. 훈련 초반에는 학습률이 큰 게 좋습니다. 빠르게 가중치를 갱신하기 위해서..
· Data/MLDL
MUSTHAVE 12장을 실습한 내용입니다. 1. 경진대회 이해 미국의 사과 과수원들이 병원균과 해충에 피해를 입지 않으려면 질병을 조기에 발견해야 합니다. 시기를 놓치면 피해가 눈덩이처럼 불어나게 됩니다. 그런데 사람이 일일이 확인하려면 시간과 비용이 많이 듭니다. 그래서 주어진 여러 잎사귀 사진을 이용해 건강한 잎사귀와 병든 잎사귀를 구별하는 딥러닝 모델을 구축해보겠습니다. 본 경진대회는 다중분류문제로 타깃값이 4개입니다. 잎사귀가 각 타깃값일 확률을 예측하면 됩니다. (예를 들어 사진을 보고 건강한 잎사귀일 확률 0.6, 여러 질병에 걸린 잎사귀일 확률 0.2, 녹병에 걸린 잎사귀일 확률 0.1, 붉은 곰팡이병에 걸린 잎사귀일 확률 0.1처럼 예측해야합니다. ) healthy: 건강한 잎사귀 mul..
· Data/MLDL
9장의 내용을 실습했습니다. 경진대회 이해하기 본 경진대회의 목표는 과거 판매 데이터를 보고 향후 판매량을 예측하는 것입니다. 타깃값이 판매량이므로 범주형 데이터가 아닙니다. 따라서 본 경진대회는 회귀문제에 속한다는 것을 알 수 있습니다. 훈련 데이터는 2013/01~2015/10 까지의 일별 판매내역이며, 상점, 상품, 상품분류에 관한 추가 데이터도 있습니다. 저희는 이 데이터를 토대로 2015년 11월 각 상점의 상품별 월간 판매량을 예측해야합니다. 지금까지 실습해왔던 경진대회에서는 훈련, 테스트, 샘플 제출 데이터 이렇게 데이터 파일을 3개씩 제공하였습니다. 그러나 이번 경진대회에서는 훈련 데이터와 관련된 추가 데이터들을 포함하여 총 6개를 제공합니다. 각 데이터들의 의미를 알아봅시다. sales_..
· Data/MLDL
8장의 내용을 실습했습니다. 전체 프로세스는 앞절과 동일하게, 모델만 XGBoost로 바꿔 2번째 성능개선 모델을 만들어보도록 하겠습니다. 1. 피처엔지니어링 피처엔지니어링까지의 코드는 앞절과 거의 동일하기 때문에 블로그에서는 내용을 생략하도록 하겠습니다. lightgbm용 gini()함수를 XGBoost용 gini()함수로 바꾸는 것외에는 앞절과 내용이 동일합니다. # 피처엔지니어링까지의 코드는 앞절과 거의 같으나 gini()함수만 다름. # XGBoost용 지니함수 계산함수는 반환값이 2개(평가지표명, 평가점수) # XGBoost용 gini() 함수 def gini(preds, dtrain): labels = dtrain.get_label() return 'gini', eval_gini(labels,..
· Data/MLDL
8장의 내용을 실습했습니다. 이번 모델은 베이스라인 모델과 같은 lightgbm 모델을 그대로 사용하되, 피처엔지니어링과 하이퍼파라미터 최적화를 추가로 적용한 모델입니다. 피처엔지니어링 과정에서 명목형피처 원핫인코딩 & 필요없는 피처제거 사이에 파생 피처를 추가하고, 모델 훈련과정에서 베이지안 최적화를 추가하여 실습해보았습니다. # 데이터 호출 import pandas as pd # 데이터 경로 data_path = '/kaggle/input/porto-seguro-safe-driver-prediction/' train = pd.read_csv(data_path + 'train.csv', index_col='id') test = pd.read_csv(data_path + 'test.csv', index_..
· Data/MLDL
8장의 내용을 실습했습니다. # 훈련/ 테스트/ 제출 데이터 불러오기 import pandas as pd # 데이터 경로 data_path = '/kaggle/input/porto-seguro-safe-driver-prediction/' train = pd.read_csv(data_path + 'train.csv', index_col='id') test = pd.read_csv(data_path + 'test.csv', index_col='id') submission = pd.read_csv(data_path + 'sample_submission.csv', index_col='id') 1. 피처엔지니어링 데이터 합치기 훈련 & 테스트 데이터 합친 뒤 합친 데이터에서 타깃값을 제거한 데이터 프레임 => a..
· Data/MLDL
7장의 내용을 실습했습니다. 베이스라인 모델 구축 데이터를 불러온 후 모든 피처를 원-핫 인코딩하고 -> 평가지표 계산함수 작성의 경우 ROC AUC 사이킷런을 사용해 해당 과정을 넘어간 뒤 -> 모델 훈련 시 로지스틱 회귀모델로 베이스라인 모델을 만들고 -> 성능검증 -> 제출 하도록 하겠습니다. import pandas as pd # 데이터 경로 data_path = '/kaggle/input/cat-in-the-dat/' train = pd.read_csv(data_path + 'train.csv', index_col='id') test = pd.read_csv(data_path + 'test.csv', index_col='id') submission = pd.read_csv(data_path + ..
dunedine
dune's study