-
[혼공머신] 머신러닝 딥러닝의 핵심 패키지와 함수라이브러리 문서 2022. 4. 25. 18:29
1. numpy
(1) seed()
- 넘파이에서 난수를 생성하기 위한 정수 초기값 지정
- 초기값이 같으면 동일한 난수를 뽑을 수 있음
- 랜덤 함수의 결과를 동일하게 재현하고 싶을 때 사용
(2) arange()
- 일정한 간격의 정수 또는 실수 배열을 만듬.
- 기본 간격은 1
- 매개변수가 하나이면 종료 숫자를 의미함. 0에서 종료 숫자까지 배열을 만듬. 종료숫자는 배열에 포함되지 않음
print(np.arange(3)) # [0, 1, 2]
- 매개변수가 2개이면 시작 숫자, 종료 숫자를 으미함.
print(arange(1,3)) # [1, 2]
- 매개변수가 3개이면 마지막 매개변수는 간격을 나타냄
print(arange(1,3,0.2)) # [1, 1.2, 1.4, 1.6, 1.8, 2., 2.2, 2.4, 2.6, 2.8]
(3) shuffle()
- 주어진 배열을 앤덤하게 섞는다.
- 다차원 배열일 경우 첫 번째 축(행)에 대해서만 섞는다.
arr = np.array([[1,2], [3, 4], [5, 6]]) np.random.shuffle(arr) print(arr) # [[3 4] [5 6] [1 2]]
(4) reshape()
- 배열의 크기를 바꾸는 메서드
- 바꾸조자 하는 배열의 크기를 매개변수로 전달
- 바꾸기 전후의 배열 원소 개수는 동일해야 함.
(5) round()
- 자리수 지정
- decimals 매개변수 : 소수점이하 자리수 지정.
(6) argmax()
- 배열에서 축을 따라 최대값의 인덱스를 반환. <cf> 파이썬의 max() 최대값 반환
- axis 매개변수 : 어떤 축을 따라 최대값을 찾을지 지정. 기본값 None(전체 배열). 0(행 방향), 1(열 방향)
(5) argsort()
- 정렬 순서대로 인덱스를 반환. <cf>파이썬의 sort() 정렬 순서대로 값 반환
-
(6) unique()
- 주어진 배열의 모든 고유값을 검색하고 이러한 고유값을 정렬함.
- arr 매개변수 : 배열로 변환 할 수 있는 배열 또는 객체
- return_index 매개변수 : True인 경우 각 고유한 값이 처음 나타나는 인덱스 배열을 반환
- return_inverse 매개변수 : True이면 입력 배열을 재구성하는 데 사용할 수 있는 고유 배열의 인덱스를 반환
- return_counts 매개변수 : True이면 각 고유값의 개수 배열을 반환
- axis 매개변수 : 고유한 행(axis=0) 또는 열(axis=1)을 찾음. 기본적으로 고유한 요소는 평면화된 배열에서 검색됨.
2. pandas
(1) read_csv()
- csv파일을 로컬 컴퓨터나 인터넷에서 읽어 판다스 데이터프레임으로 변환하는 함수
- sep 매개변수 : csv파일의 구분자 지정. 기본값은 '콤마(,)'
- header 매개변수 :
- skiprows : 파일에서 읽기 전에 건너뛸 행의 개수 지정
- nrows : 파일에서 읽을 행의 개수 지정
(2) info()
- 데이터프레임의 요약된 정보를 출력. 인덱스와 컬럼 타입을 출력하고 null이 아닌 값의 개수, 메모리 사용량을 제공
- verbose 매개변수 : 기본값 True, False(각 열에 대한 정보를 출력하지 않음)
(3) describe()
- 데이터프레임 열의 통계값 제공.
- 수치형일 경우 최소/최대/평균/표준편차와 사분위값 등이 출력
- 문자열 같은 객체 타입의 열은 가장 자주 등장하는 값과 횟수 등이 출력
- percentiles 매개변수 : qorqnsdnltnfmf wlwjd. rlqhsrkqtdms [0.25, 0.5, 0.75]
3. matplotlib
(1) scatter()
- 산점도를 그리는 맷플롯립 함수
- 처음 2개의 매개변수로 x축값과 y축값을 전달. 이때 값은 파이썬 리스트 또는 넘파이배열
- c 매개변수로 색깔 지정.
RGB 16진수 지정 또는 b(파랑)/g(초록)/r(빨강)/c(시안)/m(마젠타)/y(노랑)/k(검정)/w(흰색)지정
- marker 매개변수 : 마커 스타일 지정
(2) bar()
- 막대그래프를 출력함.
- 첫 번째 매개변수에 x축의 값을 리스트나 넘파이 배열로 전달
- 두 번째 매개변수에 막대의 y축 값을 리스트나 넘파이 배열로 전달
- width 매개변수 : 막대의 두께를 지정. 기본값 0.8
(3) imshow() 메서드
- 이미지를 표시함.
- 첫 번째 매개변수에 이미지 또는 PIL 이미지의 배열형 구조 전달
- 두 번째 매개변수에 막대의 y축 값을 리스트나 넘파이 배열로 전달
- cmap 매개변수 : 색지도
- alpha 매개변수 : 투명도
- vmin 매개변수 : 색지도 표현 범위의 최저
- vmax 매개변수 : 색지도 표현 범위의 최고
(4) subplots() 메서드
- 반환 값은 fig(이미지 영역)와 Axes(축) 혹은 Axes 객체의 배열
- 첫 번째/두 번째 매개변수 : 행과 열 지정(이미지 배열)
- figsize 매개변수 : (width, height)의 튜플 전달. 단위(인치)4. scikit-learn
(1) KNeighborsClassifier
- k-최근접 이웃 분류 모델을 만드는 사이킷런 클래스
- n_neighbors 매개변수 : 이웃의 개수 지정. 기본값은 5
- p 매개변수 : 거리 재는 방법 지정. 1(맨해튼 거리)/2(유클리디안 거리). 기본값 2
- n_jobs 매개변수 : 사용할 CPU 코어 지정. -1(모든 CPU). 기본값 1
(2) fit() 메서드
- 사이킷런 모델 훈련할 때 사용하는 메서드
- 처음 두 매개변수로 훈련에 사용할 특성과 정답 데이터를 전달
(3) predict() 메서드
- 훈련된 모델로 예측할 때 사용하는 메서드.
- 특성 데이터 하나만 매개변수로 받음.
(4) score() 메서드
- 훈련된 모델의 성능 측정.
- 처음 두 매개변수로 특성과 정답 데이터를 전달
- 먼저 predict()메서드로 예측을 수행한 다음 분류모델일 경우 정답과 비교하여 올바르게 예측한 개수의 비율을 반환.
(5) model_selection.train_test_split()
- 훈련 데이터를 훈련 세트와 테스트 세트로 나누는 함수
- 여러 개의 배열을 전달할 수 있음
- test_size 매개변수 : 테스트 세트로 나눌 비율 지정. 기본값은 0.25
- shuffle 매개변수 : 훈련 세트와 테스트 세트로 나누기 전에 무작위로 섞을지 여부 결정. 기본값 True
- stratify 매개변수 : 클래스 레이블이 담긴 배열을 전달하면 클래스 비율에 맞게 훈련 세트와 테스트 세트를 나눔.
(6) neighbors.kneighbors()
- k-최근접 이웃 객체의 메서드
- 입력한 데이터에 가장 가까운 이웃을 찾아 거리와 이웃 샘플의 인덱스를 반환
- 기본적으로 이웃의 갯수는 KNeighborsClassifier클래스의 객체를 생성할 때 지정한 개수를 사용. 다르게 지정 가능
- return_distance 매개변수 : False 지정하면 이웃 샘플의 인덱스만 반환하고 거리는 반환하지 않음.
(7) neighbors.KNeighborsRegressor
- k-최근접 이웃 회귀 모델을 만드는 사이킷런 클래스
- n_neighbors 매개변수 : 이웃의 개수를 지정. 기본값은 5
- 다른 매개변수는 KNeighborsClassifier 클래스와 거의 동일
(8) mean_absolute_error()
- 회귀 모델의 평균 절대값 오차를 계산
- 첫 번째 매개변수는 타깃, 두 번째 매개변수는 예측값을 전달
- 이와 비슷한 함수로는 평균 제곱 오차를 계산하는 mean_squared_error()가 있음
(9) linear_model.LinearRegression
- 사이킷런의 선형 회귀 클래스
- fit_intercept 매개변수 : False로 지정하면 절편을 학습하지 않음. 기본값 True
- coef_ 속성 : 특성에 대한 계수를 포함한 배열임. 특성의 갯수와 같음
- intercept_ 속성 : 절편 저장됨
(10) linear_model.PolynomialFeatures()
- 주어진 특성을 조합하여 새로운 특성을 만듬
- degree : 최고 차수를 지정. 기본값 2
- interaction_only : True이면 거듭제곱 항은 제외되고, 특성 간의 곱셈 항만 추가됨. 기본값 False
- include_bias : False이면 절편을 위한 특성을 추가하지 않음. 기본값 True
(11) linear_model.Ridge()
- 규제가 있는 회귀 알고리즘인 릿지 회귀 모델을 훈련함
- alpha 매개변수 : 규제의 강도를 조절. 클수록 규제가 강해짐. 기본값 1
- solver 매개변수 : 최적의 모델 찾는 방법 지정. 기본값 'auto'(데이터에 따라 자동으로 선택)
'sag' (확률적 평균 경사하강법 알고리즘, 특성/샘플 수 많을 때 성능 좋음)
'saga'
- random_state 매개변수 : solver가 'sag'나 'saga'일 때 넘파이 난수 시드값 지정
(12) linear_model.Lasso
- 규제가 있는 회귀 알고리즘인 라쏘 회귀 모델을 훈련
- 최적의 모델을 찾기 위해 좌표축을 따라 최적화를 수행해가는 좌표 하강법(coordinate descent)를 사용
- alpha와 random_state 매개변수 : Ridge 클래스와 동일
- max_iter : 알고리즘의 수행 반복 회수를 지정. 기본값 1000
(13) linear_model.LogisticRegression
- 선형 분류 알고리즘인 로지스틱 회귀를 위한 클래스
- solver 매개변수 : 기본값 'lbfgs', 'sgd'(확률적 경사하강법 알고리즘), 'saga'(sgd 개선)
- penalty 매개변수 : 기본값 'l2'(L2규제, 릿지 방식), 'l1'(L1규제, 라쏘 방식)
- C 매개변수 : 규제의 강도 제어. 기본값 1. 값이 작을수록 규제가 강해짐.
- max_iter : 알고리즘의 수행 반복 회수를 지정. 기본값 100
(14) predict_prob() 메서드
- 예측 확률을 반환
- 이진 분류의 경우 샘플마다 음성 클래스와 양성 클래스에 대한 확률을 반환
- 다중 분류의 경우 샘플마다 모든 클래스에 대한 확률을 반환
(15) decision_function() 메서드
- 모델이 학습한 선형 방정식의 출력을 반환
- 이진 분류의 경우 양성 클래스의 확률이 반환됨. 0보다 크면 양성 클래스, 작거나 같으면 음성 클래스로 예측
- 다중 분류의 경우, 각 클래스마다 선형 방정식을 계산. 가장 큰 값의 클래스가 예측 클래스가 됨.
(16) linear_model.SGDClassifier
- 확률적 경사하강법을 사용한 분류 모델을 생성
- loss 매개변수 : 확률적 경사하강법으로 최적화할 손실함수를 지정. 기본값은 'hinge'. 로지스틱 회귀 'log'
- penalty 매개변수 : 규제의 종류 지정. 기본값 'l2'(L2규제). 'l1'(L1규제).
- alpha 매개변수 : 규제 강도 지정. 기본값 0.0001
- max_iter 매개변수 : 에포크 횟수 지정. 기본값 1000
- tol 매개변수 : 반복을 멈출 조건. n_iter_no_change 매개변수(기본값 5)에서 지정한 에포크 동안 손실이 tol만큼 줄어들지 않으면 알고리즘 중단. 기본값 0.001
(17) linear_model.SGDRegressor
- 확률적 경사하강법을 사용한 회귀모델을 생성
- loss 매개변수 : 확률적 경사하강법으로 최적화할 손실함수를 지정. 기본값은 'squared_loss'(제곱오차)
- SGDClassifier의 매개변수 동일 사용
(18) tree.DecisionTreeClassifier
- 결정트리 분류 클래스
- criterion 매개변수 : 불순도 지정. 기본값 'gini'(지니 불순도), 'entropy'(엔트로피 불순도) 사용가능
- splitter 매개변수 : 노드 분할하는 전략 선택. 기본값 'best'(정보 이득이 최대가 되도록 분할). 'random'(임의로 노드를 분할)
- max_depth 매개변수 : 트리가 성장할 최대 깊이를 지정. 기본값 None(리프 노드가 순수하거나 min_samples_split)보다 샘플 개수가 적을 때까지 성장)
- min_samples_split 매개변수 : 노드를 나누기 위한 최소 샘플 개수. 기본값 2
- max_features 매개변수 : 최적의 분할을 위해 탐색할 특성의 개수 지정. 기본값 None(모든 특성 사용)
(19) plot_tree()
- 결정트리 모델을 시각화
- 첫 번째 매개변수로 결정 트리 모델 객체를 전달
- max_depth 매개변수 : 나타낼 트리의 깊이를 지정. 기본값 None(모든 노드 출력)
- feature_names 매개변수 : 특성의 이름을 지정
- filled 매개변수 : True로 지정하면 타깃값에 따라 노드 안에 색을 채움
(20) model_selection.cross_validate()
- 교차 검증을 수행하는 함수
- 첫 번째 매개변수에 교차 검증을 수행할 모델 객체를 전달. 두 번째와 세 번째 매개변수에 특성과 타깃 데이터를 전달
- scoring 매개변수 : 검증에 사용할 평가 지표를 지정할 수 있음. 기본값 'accuracy'(정확도. 분류). 다른 옵션 'r2'(회귀문제. 결정계수)
- cv 매개변수 : 교차 검증 폴드 수나 스플리터 객체 지정. 기본값 5. 회귀일 때 KFold 클래스 사용/분류일 때 StratifiedKFold클래스 사용. ※ model_selection 모듈
- n_jobs 매개변수 : 교차 검증 수행할 CPU 개수 지정. 기본값1. -1은 모든 CPU
- return_train_score 매개변수 : 기본값 False. True지정 시 훈련세트의 점수도 반환
(21) model_selection.GridSearchCV
- 교차 검증으로 하이퍼파라미터 탐색을 수행. 최상의 모델을 찾은 후 훈련 세트 전체를 사용해 최종 모델을 훈련함.
- 첫 번째 매개변수에 그리드서치를 수행할 모델 객체를 전달. 두 번째 매개변수에는 탐색할 모델의 매개변수와 값을 전달.
- scoring, cv , n_jobs, return_train_score 매개변수는 cross_validate() 함수와 동일
(22) model_selection.RandomizedSearchCV
- 교차 검증으로 랜덤한 하이퍼파라미터 탐색을 수행. 최상의 모델을 찾은 후 훈련 세트 전체를 사용해 최종 모델을 훈련함.
- 첫 번째 매개변수에 랜덤마이즈서치를 수행할 모델 객체를 전달. 두 번째 매개변수에는 탐색할 모델의 매개변수와 값을 전달.
- scoring, cv , n_jobs, return_train_score 매개변수는 cross_validate() 함수와 동일
(23) ensemble.RandomForestClassifier
- 결정트리 모델을 시각화
- n_estimators 매개변수 : 앙상블을 구성할 트리의 개수를 지정. 기본값 100
- criterion 매개변수 : 불순도를 지정. 기본값 'gini'(지니 불순도). 'entropy'(엔트로피 불순도)
- max_depth 매개변수 : 트리가 성장할 최대 깊이 지정. 기본값 None(리프 노드가 순수하거나 min_samples_split보다 샘플 개수가 적을 때까지 성장)
- min_samples_split 매개변수 : 노드를 나누기 위한 최소 샘플 개수. 기본값 2.
- max_features 매개변수 : 최적의 분할을 위해 탐색할 특성의 개수. 기본값 auto(특성 개수의 제곱근)
- bootstrap 매개변수 : 부트스트랩 샘플을 사용할지여부 지정. 기본값 True
- oob_score 매개변수 : OOB 샘플을 사용하여 훈련한 모델을 평가할지 지정. 기본값 False
- n_jobs 매개변수 : 병렬실행에 사용할 CPU 코어 수 지정. 기본값 1. -1(모두)
(24) ensemble.ExtraTreesClassifier
- 엑스트라 트리 분류 클래스
- n_estimators, criterion, max_depth, min_samples_split, max_features, bootstrap, oob_score 매개변수, n_jobs 매개변수는 랜덤 포레스트와 동일
(25) ensemble.GradientBoostingClassifier
- 그레이디언트 부스팅 분류 클래스
- loss 매개변수 : 손실함수 지정. 기본값 'deviance'(로지스틱 손실함수)
- learning_rate 매개변수 : 트리가 앙상블에 기여하는 정도를 조절. 기본값 0.1
- n_estimators 매개변수 : 부스팅 단계를 수행하는 트리의 개수. 기본값 100
- subsample 매개변수 : 사용할 훈련 세트의 샘플 비율 지정. 기본값 1.0
- max_depth 매개변수 : 개별 회귀 트리의 최대 깊이. 기본값 3
(26) ensemble.HistGradientBoostingClassifier
- 히스토그램 기반 그레이디언트 부스팅 분류 클래스
- learning_rate 매개변수 : 학습률 또는 감쇠율. 기본값 0.1
- max_iter 매개변수 : 부스팅 단계를 수행하는 트리의 개수. 기본값 100
- max_bins 매개변수 : 입력 데이터를 나눌 구간의 개수. 기본값 255. 여기에 1개의 구간이 누락된 값을 위해 추가됨.
(27) cluster.KMeans
- k-평균 알고리즘 클래스
- n_clusters 매개변수 : 클러스터 개수 지정. 기본값 8
- n_init 매개변수 : 처음에 랜덤하게 센트로이드를 초기화하기 때문에 여러 번 반복하여 이너셔를 기준으로 가장 좋은 결과를 선택함. 반복횟수 지정. 기본값 10
- max_iter 매개변수 : k-평균 알고리즘의 한 번 실행에서 최적의 센트로이드를 찾기 위해 반복할 수 있는 최대 횟수. 기본값 200
(28) decomposition.PCA
- 주성분분석을 수행하는 클래스
- n_components 매개변수 : 주성분의 개수를 지정. 기본값은 None으로 샘플 개수와 특성 개수 중에 작은 것의 값을 사용
- random_state 매개변수 : 넘파이 난수 시드 값을 지정
- components_ 속성 : 훈련 세트에서 찾은 주성분이 저장됨.
- explained_variance_ 속성 : 설명된 분산이 자장됨.
- explained_variance_ratio_ 속성 : 설명된 분산의 비율 저장됨
- inverse_transform() 메서드 : transform()메서드로 차원을 축소시킨 데이터를 다시 원본 차원으로 복원함.
5. scipy
(1) special.expit()
- 시그모이드 함수 : 선형방정식 출력을 0과 1사이의 값으로 압축하여 이진 분류를 위해 사용
(2) special.softmax()
- 소프트맥스 함수 : 다중 분류에서 여러 선형방정식의 출력결과를 정규화하여 합이 1이 되도록 만듬
- axis : 1이면 행에 대해 연산. 설정않으면 전체에 대해 연산
6. tensorflow
(1) Dense
- 신경망에서 가장 기본 층인 밀집층을 만드는 클래스
- 첫 번째 매개변수에는 뉴련의 개수를 지정
- activation 매개변수 : 사용할 활성화 함수를 지정. 기본값 None. 'sigmoid'(이진 분류) 'softmax'(다중 분류)
- input_shape 매개변수 : 케라스의 Sequential 클래스에 맨 처음 추가되는 층에서 입력의 크기를 지정
(2) Sequential
- 케라스에서 신경망 모델을 만드는 클래스
- 이 클래스의 객체를 생성할 때 신경망 모델에 추가할 층을 지정할 수 있음
- 추가할 층이 1개 이상일 경우 파이썬 리스트로 전달.
(3) compile() 메서드
- 모델 객체를 만든 후 훈련하기 전에 사용할 손실 함수와 측정 지표 등을 지정하는 메서드
- loss 매개변수 : 손실함수 지정. 'binary_crossentropy'(이진 분류), 'categorical_crossentropy'(다중 분류), 'sparse_categorical_crossentropy'(클래스 레이블이 정수일 경우), 'mean_square_error'(회귀)
- metrics 매개변수 : 훈련 과정에서 측정하고 싶은 지표를 지정. 측정지표가 1개 이상일 경우 리스트로 전달.
(4) fit() 메서드
- 모델을 훈련하는 메서드
- 첫 번째와 두 번째 매개변수에 입력과 타깃 데이터를 전달.
- epochs 매개변수 : 전체 데이터에 대해 반복할 에포크 회수 지정
(5) evaluate() 메서드
- 모델 성능을 평가하는 메서드
- 첫 번째와 두 번째 매개변수에 평가할 특성/타깃 데이터를 전달
- compile()메서드에서 loss매개변수에 저장한 손실함수의 값과 metrics 매개변수에서 측정한 측정지표를 출력.
(6) add() 메서드
- 케라스 모델에 층을 추가하는 메서드
- keras.layers 패키지 아래에 있는 층의 객체를 입력받아 신경망 모델에 추가함.
- add()메서드를 호출하여 전달한 순서대로 층이 차래대로 늘어남.
- name 매개변수 : 층의 이름을 부여
(7) summary() 메서드
- 케라스 모델의 정보를 출력하는 메서드
- 층을 만들 때 name 매개변수로 이름을 지정하면 summary()메서드 출력에서 구분하기 쉽다.
- 입력층을 별도로 표기하지 않음
(8) SGD
- 기본 경사 하강법 옵티마이저 클래스임.
- learning rate 매개변수 : 학습률을 지정. 기본값 0.01
- momentum 매개변수 : 0이상의 값을 지정하면 모멘텀 최적화를 수행
- nestrov 매개변수 : True로 설정하면 네스테로프 모멘텀 최적화를 수행함.
(9) Adagrad
- 아다그라드 옵티마아저 클래스.
- 그레이디언트 제곱을 누적하여 학습률을 나눔.
- learning rate 매개변수 : 학습률을 지정. 기본값 0.001
- initial_accumulator_value 매개변수 : 누적 초깃값을 지정. 기본값 0.1
(10) RMSprop
- RMSprop 옵티마이저 클래스
- 그레이디언트 제곱을 누적하여 학습률을 나눔지만 최근의 그레이디언트를 사용하기 위해 지수 감소를 사용함.
- learning rate 매개변수 : 학습률을 지정. 기본값 0.001
- roh 매개변수 : 지수감소 비율 지정. 기본값 0.9
(11) Adam
- 시그모이드 함수 : 선형방정식 출력을 0과 1사이의 값으로 압축하여 이진 분류를 위해 사용
- learning rate 매개변수 : 학습률을 지정. 기본값 0.001
- beta_1 매개변수 : 모멘텀 최적화에 있는 그레디언트의 지수 감소 평균을 조절. 기본값 0.9
- beta_2 매개변수 : RMSprop에 있는 그레이디언트 제곱의 지수 감소 평균을 조절. 기본값 0.999
(12) Dropout
- 드롭아웃층 클래스
- 첫 번째 매개변수로 드롭아웃 할 비율(r)을 지정
- 드롭아웃 하지 않는 뉴런의 출력은 1/(1-r)만큼 증가시켜 출력의 총합이 같도록함.
(13) save_weights() 메서드
- 모든 층의 가중치와 절편의 파일에 저장
- 첫 번째 매개변수에 저장할 파일을 저장
- save_format 매개변수 : 저장할 파일 포맷을 지정. 기본적으로 텐서플로의 Checkpoint 포맷을 사용. 이 매개변수를 'h5'로 지정하거나 파일의 확장자가 '.h5'이면 HDF5포맷으로 저장됨.
(14) keras.models.load_weight() 메서드
- 모든 층의 가중치와 절편을 파일에 읽음.
- 첫 번째 매개변수에 읽을 파일을 지정
(15) save() 메서드
- 모델 구조와 모든 가중치와 절편을 파일에 저장
- 첫 번째 매개변수에 저장할 파일을 지정
- save_format 매개변수 : 저장할 파일 포맷을 지정. 기본적으로 텐서플로의 SaveModel 포맷을 사용함. 이 매개변수를 'h5'로 지정하거나 파일의 확장자가 '.h5'이면 HDF5포맷으로 저장됨.
(16) keras.models.load_model() 메서드
- model.save()로 저장된 모델을 로드함.
- 첫 번째 매개변수에 읽을 파일을 지정함.
(17) keras.calls.ModelCheckpoint
- 케라스 모델과 가중치를 일정 간격으로 저장
- 첫 번째 매개변수에 저장할 파일을 지정
- monitor 매개변수 : 모니터링할 지표를 지정. 기본값 'val_loss'(검증 손실)
- save_weight_only 매개변수 : 기본값 True(모델의 가중치/절편만 저장), False(전체 모델 저장)
(18) keras.calls.EarlyStopping
- 관심 지표가 더 이상 향상하지 않으면 훈련을 중지함.
- monitor 매개변수 : 모니터링할 지표를 지정. 기본값 'val_loss'(검증 손실)
- patience 매개변수 : 모델이 더 이상 향상되지 않고 지속할 수 있는 최대 에포크 횟수를 지정.
- restore_best_weight 매개변수 : 최상의 모델 가중치를 복원할지 지정. 기본값 False
(19) keras.layers.Conv2D
- 입력의 너비와 높이 방향의 합성곱 연산을 구현하는 클래스
- 첫 번째 매개변수는 합성곱 필터의 개수
- kernel_size 매개변수 : 필터의 커널 크기 지정. 가로/세로 크기가 같은 경우 정수 하나로(일반적), 다른 경우 정수를 튜플로 지정. 커널의 깊이는 입력의 깊이와 동일하기 때문에 따로 지정하지 않음.
- stride 매개변수 : 필터의 이동 간격 지정. 가로/세로 크기가 같은 경우 정수 하나로, 다른 경우 정수의 튜플로 지정. 기본값 1.
- padding 매개변수 : 입력의 패딩 타입 지정. 기본값 'valid'(패딩 않음), 'same'(합성곱 층의 출력의 가로세로 크기를 입력과 동일하게 맞추도록 입력에 패딩을 추가함)
- activation 매개변수 : 합성곱 층에 적용할 활성화 함수 지정.
(20) keras.layers.MaxPooling2D
- 입력의 너비와 높이를 줄이는 풀링 연산을 구현하는 클래스
- 첫 번째 매개변수는 풀링의 크기를 지정. 가로/세로 크기가 같은 경우 정수 하나로, 다른 경우 정수의 튜플로 지정. 일반적으로 가로세로 크기 동일하게 지정.
- stride 매개변수 : 풀링의 이동 간격 지정. 기본값은 풀링의 크기와 동일함.(입력 위를 겹쳐서 풀링하지 않음)
- padding 매개변수 : 입력의 패딩 타입 지정. 기본값 'valid'(패딩 않음), 'same'(합성곱 층의 출력의 가로세로 크기를 입력과 동일하게 맞추도록 입력에 패딩을 추가함)
(21) keras.utils.plot_model()
- 케라스 모델 구조를 주피터 노트북에 그리거나 파일로 저장
- 첫 번째 매개변수에 케라스 모델 객체를 전달.
- to_file 매개변수 : 파일 이름을 지정하면 그림을 파일로 저장.
- show_shapes 매개변수 : 기본값 False. True지정하면 층의 입력, 출력 크기를 표시함.
- show_layer_names 매개변수 : 기본값 True(층 이름 출력)
(22) keras.models.Model
- 케라스 모델을 만드는 클래스
- 첫 번째 매개변수인 inputs에 모델의 입력 또는 입력의 리스트를 지정
- 두 번째 매개변수인 outputs에 모델의 출력 또는 출력의 리스트를 지정
- names 매개변수 : 모델의 이름 지정.
- layers 속성 : 모델을 구성하는 층을 저장됨.
- input 속성 : 모델의 입력 구조 저장됨.
(23) keras.preprocessing.sequence.pad_sequences()
- 시퀀스 길이를 맞추기 위해 패딩을 추가함. 이 함수는 (샘플 개수, 타임스텝 개수) 크기의 2차원 배열을 기대함.
- maxlen 매개변수 : 원하는 시퀀스 길이 지정. 이 값보다 긴 시퀀스는 잘리고, 짧은 시퀀스는 패딩됨. 이 매개변수를 지정하지 않으면 가장 긴 시퀀스의 길이가 됨.
- padding 매개변수 : 패딩을 추가할 위치를 지정. 기본값 'pre'(시퀀스 앞에 패딩 추가). 'post'(시퀀스 뒤에 패딩 추가)
- truncating 매개변수 : 긴 시퀀스에서 잘라버릴 위치를 지정. 기본값 'pre'(시퀀스 앞부분 잘라냄). 'post'(시퀀스 뒷부분 잘라냄)
(24) keras.utils.to_categorical()
- 정수 시퀀스를 원-핫 인코딩으로 변환. 토큰을 원-핫 인코딩하거나 타깃값을 원-핫 인코딩할 때 사용
- num-class 매개변수 : 클래스 개수 지정. 지정않으면 데이터에서 자동으로 찾음.
(25) keras.layers.SimpleRNN
- 케라스의 기본 순환층 클래스
- 첫 번째 매개변수에 뉴런의 개수 지정
- activation 매개변수 : 활성화 함수 지정. 기본값 'tanh'(하이퍼볼릭 탄젠트)
- dropout 매개변수 : 입력에 대한 드롭아웃 비율을 지정
- return_sequences 매개변수 : 모든 타임스텝의 은닉상태를 출력할지 결정. 기본값 False
(26) keras.layers.Embedding
- 임베딩을 위한 클래스
- 첫 번째 매개변수에서 어휘 사전의 크기를 지정
- 두 번째 매개변수에서 Embedding층이 출력할 밀집벡터의 크기 지정
- input_length 매개변수 : 입력 시퀀스의 길이 지정. 이 매개변수는 Embedding층 바로 뒤에 Flatten이나 Dense 클래스가 올 때 꼭 필요함.
(27) keras.layers.LSTM
- LSTM셀을 사용한 순환층 클래스
- 첫 번째 매개변수에 뉴런의 개수를 지정
- dropout 매개변수 : 입력에 대한 드롭아웃 비율을 지정
- return_sequences 매개변수 : 매개변수에서 모든 타임스텝의 은닉상태를 출력할지 결정. 기본값 False
(28) keras.layers.GRU
- GRU셀을 사용한 순환층 클래스
- 첫 번째 매개변수에 뉴런의 개수 지정
- dropout 매개변수 : 입력에 대한 드롭아웃 비율을 지정
- return_sequences 매개변수 : 모든 타임스텝의 은닉상태를 출력할지 결정. 기본값 False
'라이브러리 문서' 카테고리의 다른 글
파이참 : 프로젝트 인터프리터 설정 (0) 2022.01.12 keras.Layers.Layer의 call()과 __call__() (0) 2022.01.07 keras.preprocessing.text.Tokenizer (0) 2021.12.26 gensim 라이브러리 (0) 2021.12.26 Word2Vec 모델 학습(gensim) (0) 2021.12.22