전체 글
-
5분이면 끝내는 RNN 모델 문제 풀기딥러닝/딥러닝 Baseline 2022. 11. 10. 16:47
input 이 train_x train_y val_x val_y test_x 들어오고 train_x.shape = (x,y,z) train_y.shape = (x, 3) val_x.shape = (x,y,z) val_y.shape = (x, 3) 이렇게 두개의 학습을 위한 데이터 세팅 및 test_x 가 있을때의 RNN 모델로 시계열 데이터 학습 및 결과 내는 법 from tensorflow.keras import Sequential from tensorflow.keras.layers import Dense, GRU #train_x.shape = (x , 20 ,65) 인경우 #train_y.shape = (x , 3) 인경우 model = Sequential() model.add(GRU(32, inpu..
-
TEST IMAGE Sequence 상속 받아서 예측하기 (CNN Baseline 연계)딥러닝/딥러닝 Baseline 2022. 11. 10. 12:38
제목과 같이 테스트 이미지도 단순 for문을 통해서 image -> tensor 변형이 어려울 때 , sequence 를 사용할 수 있다. 이때 train data에서 사용한 sequence 그대로 쓰면 안되고 약간 변형만 해주면 된다. (label 내용들만 빼면 된다.) # TEST 데이터를 불러온다 (당연히 label은 right answer라서 없다) PATH_TEST = 'test data 경로' glob(PATH_TEST + "/*/*") # *를 바꿔가며 이미지 경로 .jpg 단위확장자까지 잘들어가는지 확인 후 test = pd.DataFrame([]) test["image_files"] = glob(PATH_TEST + "/*/*") test_image_path = test["image_fi..
-
CNN 신경망 Baseline딥러닝/딥러닝 Baseline 2022. 11. 10. 10:23
오랜만에 포스팅을 써보려고 한다. 최근 사내 딥러닝 관련 인증 시험도 있고 해서 전체적으로 신경망 구축에 대해 베이스라인을 몇개로 나눠서 진행해보겠다. 먼저 처음으로 로컬 파일의 폴더의 이미지 파일에 대한 라벨링 및 경로를 통해 data frame을 만드는 것부터 해서 최종 예측결과까지 내는것을 할 것이고, 알렉스넷을 활용해서 하고자 한다. CNN 신경망 baseline 순서 요약 1) glob 활용 image path (또는 image file name) array 만들기 2) 각 image path 별로 대응되는 image label 만들기 3) train/validation data set 나누기(train_test_split) 4) Keras sequence 상속받은 클래스 선언하여 , 이미지 사..
-
데이콘 관련 Tip(High scoring)머신러닝/FAQ 2022. 9. 1. 11:48
지극히 주관적인 포스팅입니다. 참조만 해주시면 감사드립니다. 단시간에 높은 점수를 받는 하나의 방법입니다. EDA 관점 (1) 최초 데이터 확인하고 train / test set이 10~100만개(행 기준) , 40개 이상 열 , 5~100MB 급의 데이터 일 경우는 pycaret 비추천(모든 모델을 돌리는 방식이라 느림) Preprocessing 관점 (2) 가벼운 RandomForest 모델 / 결측치 제거 , 라벨링 등의 최소한의 전처리를 통한 예측 값 도출 -> submission & 리더보드 체크 Regression(회귀)문제이면 y 값은 반드시 log1p 처리 후 expm1을 통해 복구 후에 리더보드 제출해야함 1. 데이터 전처리 Select Or Drop 1) subplot을 통해 데이터 분..
-
Feature Importance를 활용한 피쳐 엔지니어링머신러닝/FAQ 2022. 9. 1. 11:26
Feature를 선정하기 위해서는 여러가지 기준이 필요하다. 머신러닝 모델의 하이퍼파라미터를 통해 예측률을 높이는것 보다 적절한 feature engineering을 통해 전처리를 하는것이 훨씬 더 큰 영향을 준다.(일반적으로) 따라서 이번에는 feature importance에 대해 알아보도록 한다. feature importance는 통상 머신러닝 학습 모델에서 제공해주는 parameter로 모델을 선언하고 충분한 학습 후에 확인 가능하며 , 모델에 따라 조금 상이한 점이 있기 때문에 그런 부분을 감안해서 분석 및 활용하는것을 추천한다. Feature Importance 활용 방법 1) 모델 선언 및 학습 2) 모델 내의 feature_importance_ 를 통해 주요한 feature 추출 3) 주..
-
Scaling - MinMaxScaler머신러닝/FAQ 2022. 9. 1. 06:34
이번 포스팅에서는 자주 문의가 들어오는 scaling에 대해 알아보고자 한다. MinMaxScaler는 모든 value를 0~1 (0:min , 1:max)로 변환하여 scaling이 상대적으로 큰 feature에 의해 나머지 feature가 무시되는 bias한 상황을 방지하기 위한 전처리방법 중 하나이다. 일반적으로 데이터의 분포도가 한쪽으로 쏠려있는 경우에도 종종 사용한다. 1개의 feature(columns)에 대해서만 scaling 하는 경우 train["Columns_A"] ### train데이터가 있다고 가정하고 Columns_A 컬럼을 MinMax Scaling 해보자 from sklearn.preprocessing import MinMaxScaler ### 스케일러를 불러온다 scaler ..
-
Ensemble 활용방안 2편(Multiple Classification , Voting Classifier)머신러닝/Ensemble 활용방안 2022. 9. 1. 06:19
이번에는 지난 포스팅에서 다루었던 binary classification & regression 외의 추가적인 ensemble에 대해서 다뤄 보고자 한다. 1) Multiple Classification Target Value가 0,1 이 아니라 여러개일 경우에 앞서 언급한 Ensemble 활용방안 1편의 내용을 그대로 활용하면 안된다. 항상 문제를 정확히 파악 및 이해 후 전략적으로 접근을 하는것이 예측률을 높이는 중요한 방법임을 명심하자 Target이 Multiple classification(타겟값이 여러개)일 경우 예를들어 Target value list = [0,1,2,3,4,5]라고 가정해보자 rf_clf cat_clf xgb_clf lgbm_clf ensemble pred (예측값) 0 1 ..
-
Ensemble 의 기본머신러닝/Ensemble 활용방안 2022. 8. 25. 12:20
이번에는 Ensemble(앙상블)에 대해 정리해보고자 한다. Ensemble은 Assemble의 불어이다. 거두절미하고 본론으로 들어가면 , 2개 이상의 모델의 결과를 조합해서 최적을 만들어내는 방식으로, 회귀/분류 모델마다 약간의 상이한점이 있다. 본 포스팅에서는 sklearn에서 일반적으로 제공하는 VotingClassifier의 활용보단 Customizing한 방법을 설명하고자 한다. 추후 Voting의 'soft voting' , 'hard voting' 등등 다양한 개념들을 포스팅하고자한다. Regression(회귀)문제에서의 Ensemble은 대수적으로 더하고 나누고 비율을 선정하는 경우가 많다. cat_reg = CatBoostRegressor() cat_reg.fit(X_train ,y_t..