목록전체 글 (68)
A.I
활성화 함수의 이해¶ wget https://aiffelstaticprd.blob.core.windows.net/media/original_images/jindo_dog.jpg mkdir -p ~/aiffel/activation mv jindo_dog.jpg ~/aiffel/activation In [1]: import numpy as np import matplotlib.pyplot as plt from PIL import Image from itertools import product import tensorflow as tf tf.random.set_seed(7879) print('Ready to activate?⤴') Ready to activate?⤴ 활성화 함수의 종류¶1. 이진..
예측 추천 시스템¶ mkdir -p ~/aiffel/yoochoose-data cd ~/aiffel wget https://aiffelstaticprd.blob.core.windows.net/media/documents/yoochoose-data.7z sudo apt install p7zip-full 7z x yoochoose-data.7z -oyoochoose-data 1. Session-Based Recommendation¶ In [1]: # 데이터 설명(README)를 읽어 봅니다. import os f = open(os.getenv('HOME')+'/aiffel/yoochoose-data/dataset-README.txt', 'r') while True:..
데이터베이스 관리¶ mkdir -p ~/aiffel/data_handling/data wget https://aiffelstaticprd.blob.core.windows.net/media/documents/db_data.zip mv db_data.zip ~/aiffel/data_handling/data cd ~/aiffel/data_handling/data unzip db_data.zip 데이터 관리 프로그램 만들기 - 월급이 가장 높은 사원 찾기¶ In [1]: # 텍스트 파일에서 불러온 각각의 데이터는 string이므로 형 변환시켜야함 class Employee: def __init__ (self, name, division, jobgrade, years, basic): self.name = name..
Embedding, Recurrent¶ 단어의 분산 표현(Distributed Representation)¶모든 단어를 고정 차원의 벡터로 표현할 때, 유사한 맥락에서 나타나는 단어는 그 의미도 비슷하다라는 것인데 이것을 분포 가설(distribution hypothesis)이라고 합니다. 이런 방식으로 얻어지는 단어 벡터를 단어의 분산 표현(Distributed Representation)이라고 합니다. 위에서 활용했던 방법들과는 달리, 벡터의 특정 차원이 특정 의미를 담고 있는 것이 아니라 의미가 벡터의 여러 차원에 분산되어 있으리라고 여기게 됩니다. 분산 표현을 사용하면 희소 표현과는 다르게 단어 간의 유사도를 계산으로 구할 수 있다는 장점이 있습니다 Embedding layer는 단어의 분산 표현..
OCR¶ mkdir -p ~/aiffel/ocr_python 구글 OCR API¶ pip install --upgrade google-api-python-client pip install google-cloud-vision 구글 API 사용법 인증키 경로 등록 후 커널 재기동 / export GOOGLE_APPLICATION_CREDENTIALS=$HOME/aiffel/ocr_python/my_google_api_key.json 환경변수 설정 echo "export GOOGLE_APPLICATION_CREDENTIALS=$HOME/aiffel/ocr_python/my_google_api_key.json" >> ~/.bashrc In [1]: def detect_text(path): """Detects t..
하둡 & 스파크¶ 빅데이터 컴포넌트 - Hadoop ecosystem¶ 데이터 수집(Data Ingestion) 스쿱(Sqoop) : RDBMS(오라클, MySQL등..)와 하둡 사이의 데이터를 이동시켜줍니다. 플럼(Flume) : 분산환경에서 대량의 로그데이터를 효과적으로 수집하여 합친 후 다른 곳으로 전송합니다. 데이터 처리(Data Processing) 하둡 분산파일시스템(HDFS): 하둡의 분산 처리 파일 시스템. 맵리듀스(MapReduce): Java기반의 맵리듀스 프로그래밍 모델입니다. 얀(Yarn): 하둡 클러스터의 자원(Resource)을 관리. 스파크(Spark): In-memory기반의 클러스터 컴퓨팅 데이터 처리입니다. 스파크 안에도 스파크 코어, 스파크SQ, Milib, GraphX..
Linear 레이어¶ In [1]: import tensorflow as tf batch_size = 64 boxes = tf.zeros((batch_size, 4, 2)) # Tensorflow는 Batch를 기반으로 동작하기에, # 우리는 사각형 2개 세트를 batch_size개만큼 # 만든 후 처리를 하게 됩니다. print("1단계 연산 준비:", boxes.shape) first_linear = tf.keras.layers.Dense(units=1, use_bias=False) # units은 출력 차원 수를 의미합니다. # Weight 행렬 속 실수를 인간의 뇌 속 하나의 뉴런 '유닛' 취급을 하는 거죠! first_out = first_linear(boxes) first_out..
맵리듀스(Mapreduce)¶ in_key = Split의 결과로 생긴 partitioning 키값. 키값은 최종 Output에는 반영되지 않음 map함수는 Split된 데이터를 가져다가 out_key와 intermediate_value의 리스트로 변환. out_key는 map함수가 결과물을 구분하는 기준 키값. reduce 함수의 입력은 여러 map함수의 intermediate_value들을 out_key별로 구분해서 리스트업한 것을 입력으로 함. 이것을 가지고 reduce 함수는 out_key 기준으로 sum을 할 것입니다. 그래서 reduce 함수sms 최종적으로 out_value의 list를 출력합니다. 파이썬 함수의 특징¶ 함수는 다른 함수의 인자로 전달될 수 있다.¶ In [1]: #에러메세지..