2016년 3월 31일 목요일

구글 애널리틱스 플랫폼 활용

구글 애널리틱스 플랫폼을 탐색하는 데모와 도구들을 제공하는 페이지이다. https://ga-dev-tools.appspot.com 다음과 같이 흥미로운 기능들을 가이드 하고 있다. GA 측정기준 및 측정항목을 탐색할 수 있다. 질의 도구를 통해서 통계 데이터를 조회할 수 있다.  구글 문서(스프레드시트)에서 주기적으로 갱신 가능한 리포트를 생성할 수 있다. 강력한 내장 API들을 활용하여 손쉽게 사용자 솔루션을 만들 수 잇다. 사이트 외부에도 삽입할 수 있는 추적코드...

2016년 3월 18일 금요일

행렬 인수분해 3가지

인수분해는 노이즈 제거 및 데이터 압축 기법으로 유용하게 활용된다. 근래에는 기계학습 붐과 함께 패턴인식 분야에서도 유용하게 쓰인다. 본문은 일반적으로 사용하는 인수분해 기법(PCA, SVD, NMF)를 활용한 예제를 다룬다. 먼저 실험에 사용할 이미지 20개다.  위 이미지 중 하나는 45x40 이고, 일렬로 나열하면 1x1800 이 된다. 20개의 이미지를 합치면 다음과 같이 20x1800의 이미지로 만들수 있다. (20개 이미지로는 육안 상의 의미 전달이 약해서 출력을 5번을...

tensorflow 접근 퀵가이드

본문은 알파고로 유명세를 타고있는 tensorflow에 대한 접근 과정에 필요한 정보들을 요약한다. tensorflow를 편하게 사용하기 위해서 만들어진(wrapped) skflow를 통해서 tensorflow를 다루는 간략한 예제와 기존의 유명한 학습 기법과 성능을 비교해 본다. 1. skflow 소개 및 DNN 사용 예제 skflow는 파이썬의 대표적인 기계학습 라이브러리인 scikit-learn과 구글에서 공개한 딥러닝 도구 tensorflow를 조합한 라이브러리다. 익숙한 scikit-learn의...

주요 알고리즘 정리

자주 사용하는 알고리즘에 대한 정의 및 개인적인 포인트를 메모한다. 심층 신경망(Deep Neural Network, DNN) 입력 계층(input layer)과 출력 계층(output layer) 사이에 복수개의 은닉 계층(hidden layer)들로 이뤄진 인공신경망(Artificial Neural Network, ANN)이다.[17][18] 심층 신경망은 일반적인 인공신경망과 마찬가지로 복잡한 비선형 관계(non-linear relationship)들을 모델링할 수 있다. 예를 들어,...

2016년 3월 14일 월요일

파이썬 2.x 한글 에러

본문은 파이썬 버전 3.5로 작성된 코드를 2.7로 변형 할때, 간혹 생겼던 한글 문제를 해소하는 방법을 다룬다. 1. 코드에 한글이 들어 갔을 때 발생하는 문법 에러 에러 코드: SyntaxError: Non-ASCII character … 해결 방안: 스크립트 첫번째 줄에 사용할 코드 타입을 명시해 준다. #-*- coding: utf-8 -*- 2. 변수에 한글이 들어 갔을 때 간혹 발생하는 에러 에러코드: UnicodeDecodeError: 'ascii' codec can't decode byte … 해결 방안: 스크립트 서두에 기본 인코딩을 지정한다. import sys reload(sys) sys.setdefaultencoding('utf-8') ** 데이터에...

2016년 3월 10일 목요일

테이블 데이터 샘플링 방법

테이블에서 샘플을 추출하는 두 가지 쿼리를 다룬다. 가. ORDER BY random() LIMIT n 정확한 샘플 개수를 지정할 수 있다. 정렬(sort) 수행이 발생한다. 예상 비용 cook=> explain SELECT * FROM sample_1000 ORDER BY random() LIMIT 10;                                  QUERY PLAN            ...

2016년 3월 4일 금요일

파이썬 로그 관리하기

파이썬에서 기본적으로 제공하는 로깅(logging) 라이브러리의 퀵 가이드이다. 로그 이름 및 레벨을 정의 한다. import logging # create logger logger = logging.getLogger('simple_example') logger.setLevel(logging.DEBUG) 핸들러를 통해서 포맷을 명시한다. # create console handler and set level to debug ch = logging.StreamHandler() ch.setLevel(logging.DEBUG) #...

MySQL 참조 가이드

본문은 MySQL 참조를 위한 메모이다. 도움말 보기 help 아이템(item) 보기 help <item> ** 포그리(postgresql)에서는  pg_hba.conf 파일에서 하는 접근 제어를 메타 테이블을 통해서 설정한다. schema와 database를 혼용하여 사용한다. 테이블 명세서 뽑기 SELECT     table_name '테이블이름',     ordinal_position '속성순번',     column_name '속성명',     data_type '데이터타입',     column_type...