전체 702

[RNN] LSTM으로 감성분석

1. tensorflow keras import tensorflow as tf from tensorflow.keras import layers from tensorflow.keras.datasets import imdb from tensorflow.keras.preprocessing import sequence 2. 최대 단어 개수와 길이 # 최대 단어의 개수 max_features = 10000 # 최대 단어 길이 (한번의 인풋당 들어갈 단어의 수) maxlen = 200 # num_word : 빈도가 높은 상위 max_features개 단어만 사용함. # skip_top : 빈도가 높은 상위 단어 0개 제외 (input_train, y_train), (input_test, y_test) = imdb...

CNN으로 MNIST 분류

1. 데이터 전처리 import tensorflow as tf from tensorflow.keras import layers, utils from tensorflow.keras.datasets import mnist num_classes = 10; epochs = 10; batch_size = 100 learning_rate = 0.1; dropout_rate = 0.5 # input image dimensions img_rows, img_cols = 28, 28 # data loading (x_train, y_train), (x_test, y_test) = mnist.load_data() #각차원의 크기를 튜플형태로 반환하는 변수 x_train.shape input_shape = (img_rows, ..

학습된 CNN모델에 직접 사진 test하기

1. 필요 모듈, 함수 구성 import numpy as np from PIL import Image import matplotlib.pyplot as plt # jpg 이미지를 숫자로 def jpg_image_to_array(image_path, size): # open image image = Image.open(image_path) # resize (클수록 선명하지만 느릴 수 있다) image = image.resize((size, size)) # convert to int ndarray im_arr = np.fromstring(image.tobytes(), dtype=np.uint8) # 모양확인 변수 .shape print(im_arr.shape) ''' # 3차원으로 바꾸기 im_arr[n][..

DNN(MLP)으로 MNIST 분류

1. 데이터 전처리 import tensorflow as tf from tensorflow.keras import layers, utils from tensorflow.keras.datasets import mnist # data loading (X_train, y_train), (X_test, y_test) = mnist.load_data() # 60000*(28*28) -> 60000*(784) (28*28 2차원 metrix를 784 1차원으로 바꿈) X_train = X_train.reshape(60000, 784) # float로 바꿈 X_train = X_train.astype('float32') X_test = X_test.reshape(10000,784).astype('float') # d..

DNN(MLP, FFN)으로 iris 구분

1. 데이터 전처리 import numpy as np import pandas as pd import tensorflow as tf from tensorflow.keras import layers # 같은 디렉토리에 iris.csv파일 불러오기 csv = pd.read_csv("iris.csv") # 판다스의 csv모듈 X = csv[["sepal_length", "sepal_width","petal_length","petal_width"]].as_matrix() # 클래스 레이블 (one hot coding용) bclass = {"Iris-virginica":[1,0,0], "Iris-setosa":[0,1,0], "Iris-versicolor":[0,0,1]} y = np.empty((150,3)) ..

DNN을 이용한 회귀분석

1. 파일 읽기 import numpy as np import pandas as pd from pandas import ExcelFile import tensorflow as tf from tensorflow.keras import layers #모듈(변수나 함수를 포함)만 불러오기 from sklearn.preprocessing import StandardScaler, MinMaxScaler #표준 정규화, 최대-최소 정규화 #df = pd.read_excel('File.xlsx', sheetname='Sheet1') #sheet명도 지정할 수 있음 df = pd.read_excel('Real estate valuation data set.xlsx') print(df.columns) *print() :..

keras 함수적 구현

https://keras.io/ko/getting-started/functional-api-guide/ ​ keras를 sequential이 아닌 함수적으로 구현함으로서 모델 내에 input과 output을 조정한다. from keras.layers import Input, Dense from keras.models import Model # input값의 차원을 의미(att의 개수와도 같다) inputs = Input(shape=(784,)) # 레이어 인스턴스는 텐서에 대해 호출 가능하고, 텐서를 반환 x = Dense(64, activation='relu')(inputs) x = Dense(64, activation='relu')(x) predictions = Dense(10, activation=..

케라스(keras) 함수적 api

keras의 계층적 구성은 input을 유연하게 쓰는데(계층별로 다르게 쓰는데) 한계가 있다. 따라서 함수적 api 사용을 통해서 계층별로 필요한 input값을 넣어서 모델을 구성할 수 있다. ​ 다음과 같은 모델을 구성하여 보자. 1. input은 세개 (title,body,tags)가 있다 2. title과 body는 embedding,LSTM의 과정을 거친 후 tags input과 concatenate한다. 3. output layer를 각기다른 2개로 구성하여 priority, department 두개로 만든다. 1. 모델 함수화 from tensorflow.keras import layers from tensorflow import keras ''' input의 구성: (input,output,..

DNN이용하여 thin, normal, fat 분류

1. 데이터 전처리 import numpy as np import pandas as pd import tensorflow as tf from tensorflow.keras import layers #모듈(변수나 함수를 포함)만 불러오기 # BMI 데이터를 읽어 들이고 정규화하기 csv = pd.read_csv("bmi.csv") # 몸무게와 키 데이터(정규화) csv["weight"] /= 100 csv["height"] /= 200 X = csv[["weight", "height"]].as_matrix() print(csv) # 레이블 bclass = {"thin":[1,0,0], "normal":[0,1,0], "fat":[0,0,1]} y = np.empty((20000,3)) # 2000x3 크기..

[백준]1036 36진수 #그리디#자릿수#정렬

1. 풀이 (1) 각 숫자별(0~35) 자릿수에 의한 값을 저장해놓는 배열을 만든다. ex) AB 3C 수 (i) 0 1 2 3 4 5 6 7 8 9 10 A B c ... Z 자릿수 값(v[i]) 0 0 0 36 0 0 0 0 0 0 0 36 1 1 0 0 (2) 35로 바꿨을 때 가장 차이가 큰 수부터 차례대로 35로 바꾼다. 즉 수가 i이고, 그 수의 자릿수 값이 v[i]일때, (35-i)*v[i] 가 큰 순서대로 값을 바꾼다. * 그냥 v[i]가 작은것 부터 해서 틀렸음! 2. 소스코드 N=int(input()) L=[] for i in range(N): L.append(input()) K=int(input()) digit=[[i,0] for i in range(36)] def toThree(nu..

알고리즘/수학 2020.06.27

[백준]1016 제곱ㄴㄴ수 #에라토스테네스의 체 응용

1. 풀이 에라토스테네스의 체를 풀 때 처럼 처음에 검사할 숫자만큼 배열을 만들고 제곱 ㅇㅇ수를 삭제하는 식으로 문제를 해결하면된다. 이때 수의 크기 자체는 크고(1,000,000,000,000), min과 max사이의 차이(1,000,000)는 작기때문에 검사를 1부터 하는게 아니라 min부터 한다. ex) min=1001, max=5015 일때 isNoNo=[1,1,1,1....1] (길이는 5015-1001+1) 배열을 만든다. (1) 이후 가장 작은 제곱수인 4(=2^2)부터 차례대로 탐색. 이때 1부터가 아닌 min에 가장 가까운수부터 탐색. (=1004) 제곱수 제곱 ㅇㅇ수 4 1004 1008 1012 1016 1020 1024 1028 ... 5012 (2) 그 다음 가장 작은 제곱수 9(..

알고리즘/수학 2020.06.27

분산 데이터베이스

분산데이터 베이스란? 물리적으로 떨어진 DB에 네트워크연결. 단일이미지를 모두에게 보여주고 분산작업 수행가능 투명성 : 사용자가 데이터베이스가 분산되어있는지 여부 인식 못함 1. 분할투명성 : 분할됨을 알지못함 2. 위치투명성 : 저장장소 알지못함 3. 지역 사상 투명성 : 지역 사상 보장, 무관한 이름 사용가능 4. 중복 투명성 : 중복되어 존재해도 일관성 유지 5. 장애 투명성 : 각 지역의 통신망 이상발생시에도 일관성 유지 6. 병행 투명성 : 여러 고객의 응용 프로그램이 동시에 분산 데이터 베이스에 대한 트랜잭션 수행하여도 이상x 장단점 1. 장점 : 신뢰성 가용성 높음(한 곳에서 접근이 불가능해도 다른 곳에서 가능), 빠른응답, 용량확장 용이 2. 단점 : 관리,통제 어려움, 보안관리 어려움, ..

DB/[이론] 2020.06.26