일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- pandas
- analizer
- data
- len()
- elbow method
- append()
- Python
- DataAccess
- function
- sklearn
- matplotlib
- 덴드로그램
- count()
- nan
- Dictionary
- hierarchical_clustering
- 반복문
- del
- list
- DataFrame
- IN
- dendrogram
- 분류 결과표
- 최솟값
- insert()
- string
- 최댓값
- wcss
- Machine Learning
- numpy
- Today
- Total
목록Python/Deep Learning (22)
개발공부

모델명 = model import tensorflow as tf 학습시킨 모델을 저장하는 방법 1. 폴더로 저장 model.save('저장할 이름') 2. 파일로 저장 model.save('저장할 이름.h5') 저장한 모델을 불러오는 방법 tf.keras.models.load_model('저장한 이름') 네트워크만 저장하기 my_network = model.to_json() with open('저장할 이름.json', 'w') as json_file : json_file.write(my_network) 저장한 네트워크 불러오기 with open('저장한 이름.json', 'r') as json_file : my_net2 = json_file.read() 아래 model2 는 네트워크만 가져온 것이지, 학..

내가 정한 수치에 도달하면, 학습을 멈추게 하는 방법 텐서 플로우의 콜백 클래스를 상속해서 만든다. 함수 on_epoch_end 함수 안에, 에포크가 끝날 때마다 하고 싶은 작업을, 코딩을 해주면 된다. # 모델생성 함수 def build_model() : model = tf.keras.models.Sequential() model.add(tf.keras.layers.Flatten()) model.add(tf.keras.layers.Dense(128, 'relu')) # 3개 이상의 분류 문제 Output Layer activation func -> softmax model.add(tf.keras.layers.Dense(10, 'softmax')) model.compile(optimizer = 'adam..

Generalization(일반화) 모델이 처음 보는 데이터에 대해 정확하게 예측 할 수 있으면 이를 훈련 세트에서 테스트 세트로 일반화 되었다고 함 Overfiting(과대적합) 너무 많은 데이터를 학습하여 학습한 결과가 학습에 사용된 데이터와 거의 일치하여 새로운 데이터가 들어왔을 때 예측이 틀려버리는 상태 Underfiting(과소적합) 학습의 데이터가 적어서 학습 데이터도 일치하지 않고 새로운 데이터가 들어왔을 때 예측도 틀려버리는 상태 아래는 어떤 트레인 데이터와 테스트 데이터의 정확도를 나타낸 차트이다. 이를 보면 트래인 데이터의 정확도는 점점 높아지는데 Validation 정확도는 일정이상 늘어나지 않는 모습을 봤을 때 Overfiting 됐다고 볼 수 있다. Epoch(에포크)가 너무 적으..

Softmax 입력받은 값을 출력으로 0~1사이의 값으로 모두 정규화하며 출력 값들의 총합은 항상 1이 되는 특성을 가진 함수이다. 분류의 문제를 위한 모델링을 할 때 아웃풋 노드의 액티베이션함수(activation function)를 softmax로 사용하면 학습할 때 가장 큰 값을 가진 수를 1, 나머지를 0으로 본후 1의 위치와 label 데이터의 값을 비교하여 accuracy를 평가한다. 이미지 분류 모델을 생성할 때 Flatten 라이브러리 사용하는 이유 예를 들어 28 X 28 크기의 GrayScale 인 이미지가 있다고 하자. 이 이미지의 카테고리를 분류하는 모델을 만들려고 하면 인풋레이어에 28 X 28 개 즉 784개 의 노드가 필요하다. 그러므로 28개의 행, 28개의 열로 되어있는 모..

이미지 분류 모델을 생성할 때 Flatten 라이브러리 사용하는 이유 예를 들어 28 X 28 크기의 GrayScale 인 이미지가 있다고 하자. 이 이미지의 카테고리를 분류하는 모델을 만들려고 하면 인풋레이어에 28 X 28 개 즉 784개 의 노드가 필요하다. 그러므로 28개의 행, 28개의 열로 되어있는 모양을 Flatten 라이브러리를 통해 784개의 열로 되어있는 형태로 바꿔야 한다. 이미지 분류 모델 생성 예제 # 트레이닝 이미지의 shape은 (28,28) 이다. >>> training_images[0].shape (28, 28) import tensorflow as tf # 빈 틀을 만든다. model = tf.keras.models.Sequential() # 인풋으로 들어오는 데이터를 f..

EarlyStopping ? 학습을 할 때 무작정 에포크를 늘린다고 해서 꼭 좋은 결과만 나오는 것은 아니다. EarlyStopping은 지정된 에포크 횟수 동안 성능 향상이 없으면 자동으로 훈련을 멈추는 라이브러리이다. 예제 def build_model() : model = Sequential() model.add(Dense(units = 64, activation = 'relu', input_shape = (8, ))) model.add(Dense(units = 64, activation = 'relu')) model.add(Dense(units = 64, activation = 'relu')) model.add(Dense(units = 34, activation = 'relu')) model.add..

Validation ? 모델을 학습시킬때 각 Epoch(에포크)가 끝날 때마다 정답을 모르는 새로운 데이터를 주고, 그에 대한 오차는 어떤지에 대한 평가도 같이 진행하는 것을 말한다. 이는 학습을 다 한 후 평가하는 evalueate와는 차이가 있다. Validation 방법 - train 데이터를 잘라서 사용 validation_split - test 데이터를 validation data로 사용 - validation 용 데이터를 새로 만들어서 valdation data로 사용 ex) X_val, y_val 예시 import tensorflow as tf from tensorflow.keras.models import Sequential from tensorflow.keras.layers import ..

Learnig Rate란 Gradient Descent 를 이용하여 오차를 줄이는 학습을 진행할 때의 보폭과 같다. 셋팅하는 법 tf.keras.optimizers의 여러 옵티마이저 기법들의 파라미터에 있는 learning_rate를 설정하면 된다. 예시 learning_rate = 0.001 로 설정 def build_model() : model = Sequential() model.add(Dense(units = 64, activation = 'relu', input_shape = (8, ))) model.add(Dense(units = 64, activation = 'relu')) model.add(Dense(units = 1, activation = 'linear')) # 옵티마이저의 learni..

고객 정보와 해당 고객이 금융상품을 갱신했는지 안했는지의 여부에 대한 데이터가 있다. 이 데이터를 가지고 갱신여부를 예측 (분류) 하는 딥러닝을 구성해보자. 먼저 csv파일을 판다스 데이터 프레임으로 읽어온다. import numpy as np import matplotlib.pyplot as plt import pandas as pd df = pd.read_csv('data/Churn_Modelling.csv') df NAN 값이 있는지 확인한다. df.isnull().sum() X 를 설정한다. X = df.loc[:, 'CreditScore' : 'EstimatedSalary'] X y를 설정한다. y = df['Exited'] y 문자열 데이터는 숫자로 바꿔준다. (인코딩) Gender는 레이블 ..

다음과 같은 컬럼을 가지고 있는 데이터셋을 읽어서, 어떠한 고객이 있을때, 그 고객이 얼마정도의 차를 구매할 수 있을지를 예측하여, 그 사람에게 맞는 자동차를 보여주려 한다. - Customer Name - Customer e-mail - Country - Gender - Age - Annual Salary - Credit Card Debt - Net Worth (순자산) 예측하고자 하는 값 : - Car Purchase Amount csv파일을 읽어온다. import pandas as pd import numpy as np import matplotlib.pyplot as plt df = pd.read_csv('data/Car_Purchasing_Data.csv', encoding='ISO-8859-1..