ABOUT ME

AIFFEL대전에서 인공지능을 시작했다. 새로운 시작이다. 녹녹치는 않다. 하지만 해볼만 하다.

Today
Yesterday
Total
  • [혼공머신] 머신러닝 딥러닝의 핵심 패키지와 함수
    라이브러리 문서 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

     

     

Designed by Tistory.