전체 글 79

[딥러닝] 신경망 모델 훈련

✅ 정리 - 드롭아웃: 은닉층에 있는 뉴런의 출력을 랜덤하게 꺼서 과대적합 막는기법 - 콜백: 케라스 모델을 훈련하는 도중에 어떤 작업을 수행할 수 있도록 도와주는 도구 - 조기종료(early stopping): 검증 점수가 더 이상 감소하지 않고 상승하여 과대적합이 일어남녀 훈련을 계속 진행하지 않고 멈추는 기법 머신러닝 알고리즘들은 좋은 성능을 내기 위해 매개변수를 조정하고 훈련하는 과정 반복 -> 모델의 구조가 어느 정도 고정 딥러닝에서는 모델의 구조를 직접 만드는 느낌이 강함(층을 추가하고 층에 있는 뉴런의 개수와 활성화 함수를 결정하는 과정) 케라스의 fit()메서드는 History 클래스 객체를 반환 -> History 객체에는 훈련과정에서 계산한 지표, 즉 손실과 정확도 값이 저장되어 있음 ..

카테고리 없음 2023.04.14

[딥러닝] 심층 신경망

✅ 정리 - 심층 신경망: 2개 이상의 층을 포함한 신경망 - 렐루 함수: 이미지 분류 모델의 은닉층에 많이 사용하는 활성화 함수 - 옵티마이저: 신경망의 가중치와 절편을 학습하기 위한 알고리즘 또는 방법(SGD, 네스테로프 모멘텀, RMSprop, Adam … ) - add(): 케라스 모델에 층을 추가하는 메서드 - summary(): 케라스 모델의 정보를 출력하는 메서드 - SGD: 기본경사 하강법 옵티마이저 클래스 (learning_rate 기본값은 0.01, momentum 매개변수에 0이상 값을 지정하면 모멘텀 최적화 수행, nesterov 매개변수를 True로 설정하면 네스테로프 모멘텀 최적화 수행) - Adagrad: 옵티마이저 클래스 (learning_rate 기본값은 0.001, ini..

STUDY/ML 2023.04.12

[Python] 코딩도장

1 - 2 1차원의 점들이 주어졌을 때, 그 중 가장 거리가 짧은 것의 쌍을 출력하는 함수를 작성하시오. (단 점들의 배열은 모두 정렬되어있다고 가정한다.) 예를들어 S={1, 3, 4, 8, 13, 17, 20} 이 주어졌다면, 결과값은 (3, 4)가 될 것이다. 문제 링크: https://codingdojang.com/scode/408 SS = [3, 4, 8, 13, 17, 20] 여도 (3, 4) 둘 사이 거리는 1 이니까 ! [답] s = [3, 4, 8, 13, 17, 20] m = float('inf') index = 0 for i in range(len(s) - 1): #1 if (m > s[i+1] - s[i]) : # 우리가 쓴 가장 큰 수보다 작으면 인덱스를 기억 #2 index = ..

AI SCHOOL/Python 2023.03.31

[ML] RandomizedSearchCV

RandomizedSearchCV # 파라미터 지정 param_distributions = { # 100~300 사이의 랜덤한 정수값을 3개 array형태로 반환 'n_estimators' : np.random.randint(100, 300, 10), # 0.05 ~ 0.3 사이의 실수값 10개 uniform한 값(균일 분포) 반환 'learning_rate' : np.random.uniform(low=0.05, high=0.3, size=10)} reg1 = RandomizedSearchCV(model_gbr, parameters, n_iter=10, cv=5, n_jobs=-1, verbose=2, scoring='neg_root_mean_squared_error') n_iter : CV 가 검증을 ..

AI SCHOOL 2023.03.23

[ML] GridSearch / GradientBoostingRegressor

label smoothing - 모델이 과적합되는 것을 방지하고 일반화 능력을 향상시키는 데 도움 - 학습 속도를 늦추는 단점 train['count_log1p'] = np.log1p(train['count']) # 되돌릴 때 train['count_expm1'] = np.exp(train['count_log1p']) - 1 train[['count', 'count_log1p', 'count_expm1']].hist(bins = 50, figsize = (12, 4)) GradientBoostingRegressor - 앙상블 학습 방법 중 하나 - 초기 예측값을 생성한 후, 이를 통해 잔여 오차를 계산하여 이를 예측 모델에 추가로 학습시키는 방법을 사용 - 마치 오답노트를 공부하는 것과 비슷 from s..

AI SCHOOL 2023.03.19

[ML] ExtraTreesRegressor / 회귀 모델 평가 지표(MAE, MSE, RMSE, r2_Score)

Ordinal Encoding train['YME'] = train['YM'].astype('category').cat.codes ExtraTreesRegressor from sklearn.ensemble import ExtraTreesRegressor model = ExtraTreesRegressor(random_state=42) 평가 # R-squared(결정계수) from sklearn.metrics import r2_score r2_score(y_train, y_valid_predict) # MAE(Mean Absolute Error) # 틀린 값에 대한 절대값만 보고자 한다면 from sklearn.metrics import mean_absolute_error mean_absolute_error..

AI SCHOOL 2023.03.18

[ML] One hot Encoding / ExtraTreesClassifier / cross validation

- nunique 값이 2개인 칼럼은 binary encoding - 그 외의 문자형 칼럼은 one hot encoding binary encoding # nuni가 2인(변수가 두 개인) 피쳐 이름만 bicols라는 변수에 할당 nuni = df.drop(columns=label_name).nunique() bicols = nuni[nuni == 2].index # one hot encoding 하면 column이 더 생기니까 과적합 위험있음 # 그래서 boolean 으로 가능한건 한 column에서 해결 df["gender_bi"] = df["gender"] == "Male" for yes_col in ['Partner', 'Dependents', 'PhoneService', 'PaperlessBil..

AI SCHOOL 2023.03.18