분류 전체보기
scikit-learn (3) - 선형분류 (결과평가)
2016. 11. 6.scikit-learn (3) - 선형분류 (결과평가) 1. 예측하기꽃받침 너비가 4.7이고 꽃받침 길이가 3.1인 새로운 꽃이 있다고 가정하고, 이 꽃의 범주를 예측해보자. 예측 메소드는 인스턴스 배열을 입력받고, 예측 범주의 리스트를 반환한다. 다음과 같다12>>> print clf.predict(scaler.transform([4.7, 3.1]))[0]Colored by Color Scriptercs분류기가 정확했다면, 이 꽃의 범주는 세토사이다. 앞선 포스팅에서 선형 모델은 두 개의 분류를 나누는 것을 기억했다. 그러므로 예측절차는 세 개 이진 분류기의 결과를 합하고 좀 더 확실한 범주를 선택한다. 이 경우 인스턴스에서 멀리 떨어진 경계선을 선택한다. 분류기의 decision_function 메소..
scikit-learn (2) - 선형분류 (훈련데이터 만들기)
2016. 11. 6.scikit-learn (2) - 선형분류 (훈련데이터 만들기) 1. 훈련데이터셋 만들기이 문제는 속성에 따라 인스턴스의 레이블을 지정하는 분류 문제의 한 종류이다. 선택한 두 속성과 목적값으로 만든 본래 데이터셋의 일부 데이터이다. 데이터셋을 임포트한 후 약 75%의 인스턴스를 무작위로 선택하고 남은 인스턴스를 평가 목적을 위해 보유한다.12345678910111213141516>>> from sklearn import datasets>>> iris = datasets.load_iris()>>> X_iris, y_iris = iris.data, iris.target>>> print X_iris.shape, y_iris.shape (150, 4) (150,) >>> from sklearn.cross_va..
matplotlib - <matplotlib.text.Text at 0x7fc3298533d0>
2016. 11. 3.쥬피터 노트북에서 다음과 같이 그래프가 보이지 않는 경우 sklearn_1 In [3]: # 속성을 표준화한다 scaler = preprocessing.StandardScaler().fit(X_train) X_train = scaler.transform(X_train) X_test = scaler.transform(X_test) In [4]: import matplotlib.pyplot as plt colors = ['red', 'greenyellow', 'blue'] for i in xrange(len(colors)): xs = X_train[:,0][y_train == i] ys = X_train[:,1][y_train == i] plt.scatter(xs, ys, c=colors[i]) plt.le..
Jupyter Notebook 셀 크기 조절하기 How to increase/decrease the cell width of the jupyter notebook in browser
2016. 11. 3.Jupyter Notebook 셀 크기 조절하기How to increase/decrease the cell width of the jupyter notebook in browser 아래와 같이 쥬피터 노트북의 소스를 블로그 등에 html 형태로 가져올 때 가로폭이 너무 커서 아래와 같이 스크롤이 생기는 경우가 있다. 한 눈에 볼 수 있도록 창의 크기를 조절해보자. 1. 먼저 Jupyter Notebook 디렉터리를 찾는다. 123(tensorflow)root@localhost:~# jupyter --config-dir/root/.jupyter Colored by Color Scriptercs 2. 해당 디렉토리에 custom 디렉터리를 만들고 아래와 같은 custom.css 파일을 만든다.(width 는..
scikit-learn (1) - 기계학습이란?
2016. 11. 1.scikit-learn (1) - 기계학습이란? 1. 기계학습의 3가지 개념1) 태스크(T)를 해결하기 위해 학습해야 한다2) 태스크를 실행하기 위해 학습할 일부 경험(E)이 필요하다(데이터셋을 통해 표현된다) 3)얼마나 태스크를 잘 해결했는지 파악하기 위한 성능(P)을 측정할 필요가 있다 2. 기계학습기법은 보통 데이터셋으로 대표되는 과거 경험에 의존한다. 본 포스팅에서는 로널드 피셔가 소개한 아이리스 꽃 데이터셋을 사용한다. 해당 데이터셋에는 4개의 속성, 150개의 원소(인스턴스)가 있다. Iris flower data set https://en.wikipedia.org/wiki/Iris_flower_data_set Fisher's Iris Data Sepal length Sepal width Pe..
scikit-learn 을 통한 머신러닝 - 데이터셋 로딩, 학습, 그리고 예측
2016. 10. 31.scikit-learn 을 통한 머신러닝 - 데이터셋 로딩, 학습, 그리고 예측 scikit-learn 을 통한 간단한 머신러닝에 대해 알아본다. 1. 예제 데이터셋 로딩다음과 같이 iris 와 digits 데이터셋을 로딩한다. 123from sklearn import datasetsiris = datasets.load_iris()digits = datasets.load_digits()cs데이터셋은 데이터와 데이터에 대한 메타 데이터를 가지고 있는 일종의 딕셔너리같은 오브젝트이다. 데이터는 .data 로 저장되고, n_samples, n_features 배열을 가진다. 지도학습의 경우, 하나 또는 그 이상의 대응하는 변수가 .target 으로 저장된다. 숫자 데이터셋의 경우, digits.data를 통해..
텐서보드 사용법
2016. 10. 31.텐서보드는 텐스플로우 실행을 통해 생성할 수 있는 요약 데이터를 가지고 있는 텐서플로우 이벤트 파일을 읽음으로써 작동한다. 텐서보드 설치 위치 1/root/anaconda/envs/tensorflow/lib/python2.7/site-packages/tensorflow/tensorboardcs 텐서보드 실행은 다음과 같이 한다. 기본 포트는 6006 이다. 12345(tensorflow)root@localhost:~/tensorflow# tensorboard --logdir=tmp/tf_logsWARNING:tensorflow:IOError [Errno 2] No such file or directory: '/root/anaconda/envs/tensorflow/lib/python2.7/site-pack..
텐서플로우 코드 에러 - ResourceExhaustedError
2016. 10. 31.Deep MNIST for Experts 튜토리얼 실행시 발생할 수 있는 텐서플로우 코드 에러 ResourceExhaustedError 가 발생하는 경우 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120step 18500, training accuracy 1step 18600, training accuracy..
Deep MNIST for Experts - 전체 코드 (2)
2016. 10. 31.텐서플로우 첫걸음에 나오는 전체 코드입니다. 구글 홈페이지 튜토리얼과는 다소 다르네요. mnist_for_expert-1 In [1]: from tensorflow.examples.tutorials.mnist import input_data mnist = input_data.read_data_sets('MNIST_data/', one_hot=True) Extracting MNIST_data/train-images-idx3-ubyte.gz Extracting MNIST_data/train-labels-idx1-ubyte.gz Extracting MNIST_data/t10k-images-idx3-ubyte.gz Extracting MNIST_data/t10k-labels-idx1-ubyte.gz In [2]..
Deep MNIST for Experts - 전체 코드 (1)
2016. 10. 31.mnist_for_expert In [1]: import tensorflow as tf sess = tf.InteractiveSession() In [ ]: def weight_variable(shape): initial = tf.truncated_normal(shape, stddev=0.1) return tf.Variable(initial) def bias_variable(shape): initial = tf.constant(0.1, shape=shape) return tf.Variable(initial) In [3]: x = tf.placeholder(tf.float32, [None, 784]) In [4]: W = tf.Variable(tf.zeros([784, 10])) b = tf.Variabl..
텐서플로우 코드 에러 - FailedPreconditionError
2016. 10. 30.Deep MNIST for Experts 튜토리얼 실행시 발생할 수 있는 텐서플로우 코드 에러 FailedPreconditionError 가 발생하는 경우123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117for i in range(20000): batch = mnist.train.next_batch(50) if i%100 ==..
텐서플로우 코드 에러 - Cannot evaluate tensor using `eval()`
2016. 10. 30.Deep MNIST for Experts 튜토리얼 실행시 발생할 수 있는 텐서플로우 코드 에러 value error 가 발생하는 경우 12345678910111213141516171819202122232425262728293031for i in range(20000): batch = mnist.train.next_batch(50) if i%100 == 0: train_accuracy = accuracy.eval(feed_dict={x:batch[0], y_: batch[1], keep_prob: 1.0}) print "step %d, training accuracy %g" % (i, train_accuracy) train_step.run(feed_dict={x: batch[0], y_: batch[1],..
주피터 노트북 html 파일로 변환하기 How to copy/paste from IPython Notebook to other format
2016. 10. 29.다음과 같이 주피터 노트북의 데이터프레임을 html 포맷으로 변환할 수 있다.123(tensorflow)root@localhost:~/tensorflow# jupyter nbconvert mnist_for_beginner.ipynb[NbConvertApp] Converting notebook mnist_for_beginner.ipynb to html[NbConvertApp] Writing 260242 bytes to mnist_for_beginner.htmlcs 변환 관련 옵션 및 예제 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566..
텐서플로우 따라잡기 MNIST For ML Beginners (3) -Training & Evaluating Our Model
2016. 10. 29.MNIST For ML Beginners (3) -Training & Evaluating Our Model 모델을 훈련시키기 위해, 먼저 모델에게 좋다는 것이 무엇을 의미하는 것인지부터 정의해야한다. 사실 머신러닝에서는 전통적으로 모델에게 나쁜 것 - 통상 cost 혹은 loss 라고 부른다 - 을 정의하곤 하는데, 이는 우리가 만든 모델이 우리가 의도하는 결과에서 얼마나 떨어져있는가를 나타내는 것이다. 에러의 오차를 줄일수록, 모델은 훌륭해진다. 모델이 가진 loss 를 정의하는 좋은 지표중의 하나는 "cross-entropy" 라고 불리는 것이다. Cross-entropy는 우리의 예측이 얼마나 비효율적인지를 측정해주는 도구로서, 관심이 있으신 분들은 다음 링크를 통해 자세한 내용을 찾아볼 수 있다...
텐서플로우 따라잡기 MNIST For ML Beginners (2) - Implementing the Regression
2016. 10. 29.MNIST For ML Beginners (2) - Implementing the Regression 텐서플로우를 사용하기 위해 먼저 임포트한다. 1import tensorflow as tfcs 아래와 같이 변수를 생성하자.1x = tf.placeholder(tf.float32, [None, 784])cs 여기서 x 는 특정 값이 아니다. x는 placeholder라는 것으로 텐서플로우로 하여금 연산을 하도록 요청할 때 우리가 입력하게 되는 값이다. MNIST 이미지의 어떤 수라도 입력할 수 있도록 우리는 이것을 [None, 784] 형태를 가진 부동소수점수의 2-D 텐서로 표현할 것이다(여기서 None 이 의미하는 것은 어떤 값이라도 될 수 있다는 것이다). 그리고 가중치와 편향 역시 필요하다. 이 요..
텐서플로우 따라잡기 MNIST For ML Beginners (1)
2016. 10. 29.MNIST For ML Beginners (1) MNIST 는 Mixed National Institute of Standards and Technology 의 약어로, 아래의 손글씨 이미지 등을 포함한 시각 데이터 셋이다. 이미지와 각각의 이미지에 대한 레이블을 포함하고 있다. 예를 들어, 위의 이미지의 레이블은 각각 5, 0, 4, 그리고 1이다. 본 게시물에서는 이러한 이미지를 관찰하고 숫자를 맞추는 모델을 트레이닝함으로써 텐서플로에 발을 딛는 것을 목표로 한다. 소프트맥스 회귀(Softmax Regression)라고 불리는 간단한 모델로부터 시작한다. 아래와 같이 실습에 필요한 파일을 적당한 위치에 다운로드한다. 앞에서도 언급했지만 MNIST 데이터는 수기 이미지와 그에 대응하는 레이블 이상의 2..
AICPA DRS 시험 응시요령
2016. 10. 28.AICPA DRS 시험 응시요령 1. DRS의 모든 부분에 익숙해지세요. 각각의 DRS 는 아래와 같이 몇 개의 탭으로 구성됩니다. Document Review Tab - 실제 수험생들이 검토해야 할 문서를 보여줍니다. Authoritative Literature Tab - FASB Codification Table of Contents, AICPA Professional Standards, Internal Revenue Code, 그리고 Tax Services for research purposes 등을 보여줍니다. Help Tab - 관련 도움말 그리고 DRS 는 다음의 탭도 포함될 수 있습니다. Financial Statements Tab - 관련 재무 데이터를 보여줍니다. Exhibits Tab ..
새로운 시뮬레이션 타입 DRS(Document review simulation) 대비법
2016. 10. 28.새로운 시뮬레이션 타입 DRS(Document review simulation) 대비법 AICPA에서는 2016년 7월 1일부터 새로운 형태의 시뮬레이션 문제인 Document Review Simulation (DRS)를 출제하고 있습니다(AUD, REG, FAR 섹션에서 출제됨). 아직 이 내용에 대해서 알고 계시지 못하다면 AICPA 샘플 테스트를 통해 DRS 문제 포맷에 대해 살펴보시길 것을 강력히 권해드립니다. [USCPA 샘플테스트 바로가기] http://apps.aicpa.org/17Q2SampleTest/17Q2start.html 그럼 DRS가 무엇이고, 왜 이러한 형태의 시뮬이 추가가 되었는지, 그리고 마지막으로 어떻게 준비를 해야하는지 알아보겠습니다. 1. DRS 가 왜 평가에 추가되었는..
원격지 주피터 노트북 로컬에서 실행하기 Remote Access to Jupyter Notebook via SSHRemote Access to Jupyter Notebook via SSH
2016. 10. 28.원격지 주피터 노트북 로컬에서 실행하기 Remote Access to Jupyter Notebook via SSH 로컬호스트에서 원격지에서 구동중인 Jupyter Notebook 을 실행해보자. 1. 원격지에서 아래와 같이 Ipython notebook 을 실행한다. 원격지에서 브라우저를 띄울 필요는 없으므로 --no-browser 플래그를 추가한다. 해당 포트 방화벽 정책 적용 여부도 확인해본다.12345678(tensorflow)root@localhost:~# ipython notebook --no-browser --port=8889[TerminalIPythonApp] WARNING | Subcommand `ipython notebook` is deprecated and will be removed ..
아나콘다 환경에서의 텐서플로 설치 (Anaconda+Ubuntu+CPU Only)
2016. 10. 26.텐서플로는 구글이 오픈소스로 공개한 차세대 딥 러닝 시스템이다. 텐서플로는 데이터 플로우 그래프를 사용하여 수치 연산을 하는 라이브러리라고 볼 수 있다. 그래프의 노드는 수학 연산을 나타내고, 노드를 연결하는 그래프의 에지는 다차원 데이터 배열을 나타낸다. 1. 설치환경포스팅에 언급된 환경은 Ubuntu 14.04 LTS x64 + CPU Only 기반이다(아래와 같이 그래픽카드 확인해본 결과 GPU 가 아니라 CPU Only 였다).* 리눅스에서 하드웨어를 확인하는 명령은 다음 사이트를 참고한다. http://blog.simplism.kr/?p=1778 12root@localhost:~# lspci | grep VGA00:02.0 VGA compatible controller: Cirrus Logic ..
Eclipse에서의 Git 사용 - (3) Github 연결
2016. 10. 22.Eclipse에서의 Git 사용 - (3) Github 연결 1. github repository 생성https://github.com/new 에서 아래와 같이 저장소를 생성한다. 2. Eclipse Git repositories perspective 로 전환이클립스로 돌아와 Git repositories perspective 로 전환한 후 해당 프로젝트 Remotes > Create Remote > URI Change > Location URI 에서 앞서 생성한 github 저장소의 주소를 입력한다. 하단의 인증정보 입력란에 github 계정 정보를 입력한다. Configure Push > Advanced... > Add All Branches Spec 클릭 > Save and Push master [..
guessing_game 민들기 - (3) Looping
2016. 10. 19.1. 반복문 만들기 현재까지는 정답을 맞출 때까지 질문이 이어지지 않고 1회성으로 끝난다. 이제 필요한 것은 이 과정을 반복작업으로 만드는 것이다. 아래를 보자. 123456789101112131415161718192021222324252627282930313233extern crate rand; use std::io;use std::cmp::Ordering;use rand::Rng; fn main() { println!("Guess the number!"); let secret_number = rand::thread_rng().gen_range(1, 101); println!("The secret number is: {}", secret_number); loop { println!("Please inp..
guessing_game 민들기 - (2) Generating a secret number
2016. 10. 18.1. 난수 발생기 다음으로 해야할 일은 비밀 숫자를 만들어내는 것이다. Rust 는 아직까지는 난수를 발생하는 기능을 표준 라이브러리에 포함하지 않고 있다. 하지만 rand crate 를 제공하고 있으므로, 이 패키지를 이용하면 된다. 외부 크레이트를 사용하기 위해서는 Cargo.toml 을 수정해야 한다. 파일을 오픈하고 dependencies 아래에 아래와 같이 rand 크레이트의 정보를 입력해주면 된다. [dependencies] rand="0.3.0" Cargo.toml 파일의 [dependencies] 는 일종의 패키지와 같다. Cargo 는 dependencies 섹션을 통해 어떤 외부 크레이트와 크레이트의 버전을 요구하는지 파악한다. 이 경우 0.3.0 이 의미하는 것은 0.3.0 과 호환되..
guessing_game 민들기 - (1) Processing a Guess
2016. 10. 18.사용자가 정답을 추측하는 Guessing game 을 만들어보자. 1. 아래와 같이 새로운 프로젝트(guessing_game)을 생성한다. cargo new 명령을 통해서 새로운 cargo 프로젝트를 명명하고, 바이너리임을 나타내는 --bin 플래그를 붙인다.123456789101112131415161718192021bourne@vikander MINGW64 ~/Evariste/workspace (master)$ cd rust-projects bourne@vikander MINGW64 ~/Evariste/workspace/rust-projects (master)$ cargo new guessing_game --bin Created binary (application) `guessing_game` proj..
Eclipse에서의 Git 사용 - (2) 커밋
2016. 10. 16.Eclipse에서의 Git 사용 - (2) 커밋 1. 예제로 사용할 C++프로그램을 만들어보자. 방금 작성한 파일에서 마우스 오른쪽 버튼을 클릭한 후 Team > Commit 를 선택한다. Unstaged Changes 의 파일 전체를 선택하여 Staged Changes 로 옮긴 후, Commit Message 항목에 메시지를 작성한다. 그리고 Commit를 클릭한다. 이제 프로젝트가 [topcoder NO-HEAD] 에서 [topcoder master]로 바뀐 것과 파일과 프로젝에 붙어있던 물음표가 사라진 것을 확인할 수 있다.
Eclipse에서의 Git 사용 - (1) 플러그인 설치 및 저장소 생성
2016. 10. 16.Eclipse에서의 Git 사용 - (1) 플러그인 설치 및 저장소 생성 1. Eclipse 플러그인 Egit 설치Luna 버전부터는 Git이 플러그인으로 기본으로 포함되어 있음필요한 경우 update를 한다. 2. Git Perspective 실행Egit 을 설치/업데이트한 후 Eclipse를 재실행한다.Perspective List에서 Git 아이콘을 클릭하거나 리스트 제일 좌측의 Open Perspective 아이콘을 클릭하여 Git Perspective를 실행한다. 3. 저장소 생성 Perspective에서 C/C++을 선택하고 새로운 프로젝트를 생성한다(File > New > C++ Project).프로젝트위에서 마우스 오른쪽 버튼을 클릭한 후 Team > Share Project 를 선택한다...
Django queryset filter datefield not empty
2016. 10. 15.특정 기간내에 유료회원으로 등록한 유저를 검색하는 쿼리에서 유료회원등록일이 Null 값인 회원이 검색되어 나오는 경우에는 다음과 같이 처리한다.123qs = Member.objects.exclude(reg_date__gt=end_dt).exclude(reg_date__lt=start_dt)\ .filter(~Q(reg_date__isnull=True)) Colored by Color Scriptercs Null 값을 포함하고자 하는 경우에는 다음과 같이 처리한다. 123456 qs = Member.objects.exclude(reg_date__gt=end_dt).exclude(reg_date__lt=start_dt)\ .filter(Q(reg_date__isnull=True)) qs = Member.ob..
엑셀 여러 셀의 날짜와 텍스트를 하나의 셀에 결합하기
2016. 10. 15.concatenate 또는 & 연사자를 이용하여 셀의 날짜과 텍스트를 결합하면 아래에서 보는 바와 같이 숫자로 변환되어 결합이 된다. 이렇게 연결 연산자를 사용하여 날짜를 텍스트 문자열에 연결할 때는 TEXT 함수를 사용하여 숫자가 표시되는 방식을 제어할 수 있다. = CONCATENATE(E491, F491, TEXT(G491, "yyyy-mm-dd")) TEXT 함수에는 value 및 format_text의 두 개 인자가 필요하며, format_text 는 "m/d/yyyy" 또는 "#,##0.00" 와 같이 따옴표로 묶인 텍스트 문자열인 날짜 또는 숫자 형식이다. [참고] https://support.office.com/ko-kr/article/%ED%85%8D%EC%8A%A4%ED%8A%B8%EC..
Git 설치 및 사용준비
2016. 10. 13.1. Git 다운로드 https://www.git-scm.com/downloads사용중인 운영체제에 맞는 소프트웨어를 다운로드한다. 2. 사용자 계정 생성 12$ git config --global user.name "John Doe"$ git config --global user.email johndoe@example.comcs 3. 기본 편집기 설정 1$ git config --global core.editor "C:\Program Files (x86)\Notepad++' -multiInst -nosession"cs 4. 현재 설정내용 확인 12345678910111213141516$ git config --listcore.symlinks=falsecore.autocrlf=truecore.fscach..
20161007 <태아의 세계> 이상 1권
2016. 10. 12.2016.10.07 반디앤루니스 신세계강남점에서 구매태아의 세계국내도서저자 : 미키 시게오 / 황소연역출판 : 바다출판사 2014.11.10상세보기