본문 바로가기

mambo's coding note346

Big Data : Hadoop : lecture_1 : Overview of Hadoop Hadoop 이란? hadoop 이란 distributed file system을 의미한다. 흔히 HDFS라 한다. 우리는 hadoop을 이용하여 Big data를 분산저장하고 분산 저장한 data를 MapReduce나 다른 함수를 통해 분석하여 dataset을 생성한다. 우린 그 전에 Big Data가 뭔지 알아야한다. 배경에는 하드디스크는 엄청나게 발전을 하였지만, 실제 연산속도는 하드디스크 발전을 따라가지 못하였다. 따라서 우리가 single drive에서 읽는 속도가 엄청나게 느리고, 또한 쓰는 속도도 느리다. -> 이를 해결하기 위해 data를 split해서 여러 disk에 분산 저장한다. 이렇게 분산 저장하면 문제점이 또한 발생한다. hadoop은 comodity hardware로 이루어져있다.. 2019. 10. 25.
Big Data : Hadoop : WordCount 예제 1. HDFS에 dir 만들기 # hdfs 에 dir 만들기 $ hdfs dfs -mkdir -p (내가 저장하고 싶은 공간 : ex)../input) 2. 미리 만들었던 HDFS dir 에 파일 put # 파일 input $ hdfs dfs -put test.txt ../input 3. jar 파일로 Wordcount하기. (hadoop ver = 2.7.6) $ hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.6.jar wordcount ../input ../output 3-1. java 파일 -> jar 파일로 전환 # hadoop-env.sh 파일 change export JAVA_HOME=/usr/java/default // de.. 2019. 10. 25.
Big Data : Hadoop : Ubuntu 16.04 LTS -> Hadoop 2.7.6 세팅하기! 하~~~~~~~~~~~~~~~~~~~~~~~~ 일단 하를 내뱉고 시작하는 내 애증의 하둡.... 진짜 gaejuk_2랑 이거 때문에, 노트북 하나도 말아먹고..... ubuntu 앱도 말아먹고...... (gaejuk_2 node 부여받았을 때, 그것도 좀 조져놓을걸....힣 보면 극대노할듯) 결국 이번엔 교수님 노드에서 진행한다ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 나중에는 아마 대학원가서 계산을 돌릴 때는 뭔가 ubuntu로만 세팅할 것 같은 느낌이 들어서 일단 많이 배워두자 ㅋㅋㅋㅋㅋ 자! 오늘은 hadoop을 ubuntu에 세팅하는 방법에 대해서 적어보려한다. https://tecadmin.net/setup-hadoop-on-ubuntu/ How to Setup Hadoop on Ubuntu 18.04 & 1.. 2019. 10. 25.
git 설치 및 setting, 기능 Git & Github 오늘은 git 사용법과 github와 어떻게 연동하는지에 대하여 적을 예정이다. 일단 git는 버젼관리를 할 수 있어서 제일 장점인 것 같다. 지금은 github가 초기단계라서 많이 필요할거 같지 않다고 생각하지만, 아무래도 나중에 대학원 가서 condition마다 code를 수정해서 여러 버젼으로 돌려야 하는데, 이때는 git와 github를 사용해야 할 것 같다. ㅎㅎ.....;; git 초기 설정 git 설치는 google에 git 설치하면, windows는 git bash, ubuntu는 apt install git 으로 통해 설치를 하면 된다. git은 일단 두 가지의 경우로 나뉘는 것 같다. 내가 github(원격 서버의 repository)를 그대로 복제하느냐 내가 현.. 2019. 10. 24.
ML07-4-MNIST-data (실제 data 분석) import tensorflow as tf import matplotlib.pyplot as plt import random tf.set_random_seed(777) # for reproducibility # input_data를 좀 더 편하게 input하게 함 from tensorflow.examples.tutorials.mnist import input_data # Check out https://www.tensorflow.org/get_started/mnist/beginners for # more information about the mnist dataset # one_hot을 설정하면 데이터를 읽어올 때 one_hot으로 읽어온다!!! mnist = input_data.read_data_set.. 2019. 10. 24.
ML07-4-MNIST-data MNIST Dataset MNIST Dataset은 실제로 손글씨를 data화 시킨 것으로 우리가 흔히 training set으로 사용한다. 아래 그림을 보면 784개의 픽셀 data로 이루어져있다. 이 dataset을 training 한 후, 우리가 예측하고자 하는 숫자를 넣으면 된다. 1. input_data.py TensorFlow 샘플에 포함된 예제인데, mnist 데이터셋이 없을 경우 인터넷으로부터 다운로드한다. 추가로 DataSet 클래스 등의 정의가 이 안에 들어 있다. mnist 데이터셋을 다루는 코드의 꼭대기에는 대부분 input_data.py를 import하는 코드가 들어 있다. 2. mnist 로딩 from tensorflow.examples.tutorials.mnist import .. 2019. 10. 24.
ML06-2-logistic-regression : multiple-classification(softmax-classifier) 이번 게시물은 logistic_regression에서도 여러 value로 분류하는 Multiple Classification 이다. import tensorflow as tf import numpy as np tf.set_random_seed(777) # for reproducibility # Predicting animal type based on various features xy = np.loadtxt('./data-04-zoo.csv', delimiter=',', dtype=np.float32) x_data = xy[:, 0:-1] y_data = xy[:, [-1]] print(x_data.shape, y_data.shape) print(x_data) ''' (101, 16) (101, 1) '.. 2019. 10. 23.
ML05-1-logistic_regression : Binary Classification 이번 게시물은 logistic_regression에서도 Binary Classification 이다. 먼저 logitistic regression에 대해서 살펴보자 logistic regression은 선들로 인해 구역을 구분지어놔서, 실제 데이터가 어디에 속하는지 classification을 쓸 수 있다. 예제로 binary classification을 이용하여 (0, 1)을 이용하여 학습, 악성종양인지 양성종양인지 진단가능하다. 우리가 실제 데이터를 다루다보면, 실수를 논하기 때문에 값들이 커지게 된다. 그래서 sigmoid, (1/ (1+e^x)) 함수를 쓰니 0~1로 수렴하면서 데이터들간의 간격이 줄었고, hypothesis를 0-1로 맞추기위해 sigmoid를 쓴다. import tensorfl.. 2019. 10. 23.
ML04-1-linear-regression(Tensorflow basic) import tensorflow as tf x1_data = [73., 93., 89., 96., 73.] x2_data = [80., 88., 91., 98., 66.] x3_data = [75., 93., 90., 100., 70.] y_data = [152., 185., 180., 196., 142.] linear-regression 한 예제 코드이다. 이번 예제코드는 실제로 임의로 x1,x2,x3,y data를 부여하고 이들의 상관관계를 알아보려한다. # placeholder 지정 x1 = tf.compat.v1.placeholder(tf.float32) x2 = tf.compat.v1.placeholder(tf.float32) x3 = tf.compat.v1.placeholder(tf.float.. 2019. 10. 23.
Tensorflow : background Tensorflow는 현재 머신러닝&딥러닝에 최적화되어 있으며, C++, Python에서 연동되는 라이브러리이다. Tensorflow에 Tensor는 선형대수학과 물리학에서, 텐서는 선형 관계를 나타내는 미분기하학의 대상이다. 기본적인 예는 스칼라곱과 선형 변환이 있으며 스칼라와 벡터 또한 해당한다. 텐서는 기저를 선택하여 다차원 배열로 나타낼 수 있으며, 기저를 바꾸는 변환 법칙이 존재한다. Tensorflow에서는 1차원 배열을 vector라고 표현하며, 2차원 배열을 array, 3차원 배열을 tensor라고 표현한다. 따라서 우리는 Tensorflow로 많은 것을 구현할 수 있다. 실생활에서 많이 등장하는 선형회귀, 비선형회귀와 물체인식, 강화학습 등등 우리가 살고 있는 3차원 공간을, tenso.. 2019. 10. 23.