아마도 생애 첫번째 고급 사양 PC 인 것 같다. 요즘은 고급 사양 PC는 곧 게이밍 PC라서, 100만원 후반에서 200만원까지 가뿐히 넘어간다. 하지만 내 PC의 주 사용 목적은 개발이라서 CPU 빵빵하고 메모리 빵빵하면 그만이다. 그래도 게임을 아주 안하는 건 아니라서 GTX 1050 ti 정도로 타협을 했다. 대략 16~18만원 정도에 구매 할 수 있다. GTX 1050도 있기는 한데, 가격 차이가 3만원 정도라서 그냥 GTX 1050ti로 선택했다.
Kubernets 클러스터를 구성하려고 한다. 라고 로컬에 Kubernetes를 설치할 수 있는 애플리케이션이 있는 것 같기는 한데, 학습이나 테스트 용도 정도로 사용하는 것 같다. 내가 원하는 건 실제 환경에서 바로 써먹을 수 있는 기술을 익히는 거다. 그래서 VirtualBox 기반으로 클러스터를 구성하기로 했다. 구성 환경은 아래와 같다. 호스트 PC 호스트 운영체제 VirtualBox 버전 게스트 운영체제
다른 컨테이너 오케스트레이션 툴과 달리, Kubernetes는 컨테이너를 직접 실행하지 않는다. 대신에 하나 이상의 컨테이너를 그룹으로 묶어서 구조화한 pod를 관리한다. 같은 pod에 포함된 컨테이너들은 네트워크, IPC, 볼륨등을 공유한다. Pod에 포함된 컨테이너들은 하나의 물리적 노드에 배치가 되는데, 때문에 이들 자원의 공유와 커뮤니케이션이 쉬워진다. 하나의 노드에는 여러 pod가 배치될 수 있는데, 이들 pod는 다른 pod와 완전히 격리(isolation)된다.
지오펜스(Geo-fence)는 실제 지리적영역에 가상으로 경계를 만드는 것이다. 점 위치 주변을 기준으로 일정반경으로 하는 등 동적으로 만들수 있다. 혹은 학교, 인접 지역 경계등을 미리 정의해서 사용 할 수도 있다.지오펜스를 사용하는 것을 지오펜싱(geo-fencing)이라고 한다. 위치기반서비스(Location-Based Service 줄여서 LBS)는 geo-fence 영역에 들어가거나 나가는 것을 모니터링 하고 알람을 주는 방식으로 지오펜싱 서비스를 제공한다.
고루틴(Goroutine)는 go언어에서 가장 유용한(그리고 가장 많이 사용하는)기능 중 하나일 거다. 고루틴은 go언어에 내장된(built-in) 기능이다. 개발자는 표준라이브러리나 외부라이브러리의 의존 없이 언어자체로 동시성(concurrency)애플리케이션을 개발 할 수 있다. 고루틴을 가지고 프로그램을 만들다 보면, 고루틴의 종료를 기다리거나 고루틴이 실행하는 것을 기다려야 하는 경우가 있다.
MySQL같은 RDBMS는 데이터 스트럭처라는 개념이 없다. 데이터베이스를 이루는 여러 개의 테이블이 있으며, 이 테이블을 (join등으로 엮어서) 필요한 데이터를 추출할 뿐이다. RDBMS를 사용하는 서비스에서 데이터 스트럭처는 "애플리케이션 영역"에서 처리 한다.반면 Redis는 List, Set, Sorted set, Hash, HyperLogLogs와 같은 애플리케이션 영역에서나 다룰만한 데이터 스트럭처를 제공한다. 애플리케이션에서 해야 할 일들을 Redis에 맡길 수 있음을 의미한다. Redis에서 key는 string이고, 데이터 스트럭처는 value에 저장한다. 아래 Redis가 지원하는 데이터 스트럭처를 정리했다. 이들 모든 데이터 스트럭처를 다룰 것이다.
이 문서는 응용과 실용에 촛점을 맞춘 기계 학습을 다루고 있다. 문서의 목적은 머신러닝의 이론, 응용, 슈퍼바이저, 딥러닝의 내부 작동과 머신러닝에 대한 전반적인 이해를 제공하는데 있다.몇 개의 문서를 통해서 선형회구, K nearest Neighbors, SVM(Support Vector Machines), Flat clustering, hierarchical clustering 과 뉴럴 네트워크를 다룬다.이들 각 알고리즘에 대해서, 알고리즘을 높은 수준에서 조망하고 논리적으로 어떻게 작동하는지를 살펴볼 것이다. 다음으로 Scikit-Learn과 같은 모듈과 실제 데이터를 이용해서 알고리즘을 코드화 할 것이다. 마지막으로 알고리즘의 각 요소를 포함하는 코드를 작성하면서 알고리즘의 내부 동작을 살펴볼 것이다. 이렇게 해서 알고리즘의 작동방식, 장점과 약점을 완벽하게 이해하게 된다.
이제 본격적으로 머신러닝을 학습한다. 지금 시점에서는 Scikit-Learn이 설치됐어야 한다. 아직 설치하지 않았다면 Pandas와 matplotlib를 설치해야 한다. 아직 설치하지 않았다면 아래와 과정을 따르자.pip install numpypip install scipypip install scikit-learnpip install matplotlibpip install pandas numpy scipy scikit-learn matplotlib pandas 문서 전반에 걸쳐서 quandl데이터를 사용한다. 이것도 설치하자. pip install quandl
이전까지의 내용을 바탕으로 주가 데이터에 대한 회귀를 수행 할 것이다. 지금까지의 코드는 아래와 같다. import pandas as pdimport quandldf = quandl.get("WIKI/GOOGL")df 100.0df 100.0df = dfprint(df.head())이제 우리는 포착한 데이터로 부터 중요한 데이터를 결정하고, 데이터 조작을 통해서 새로운 가치있는 데이터를 만들어서 회귀(regression)방식의 머신러닝을 테스트할 준비를 마쳤다. 작업을 위해서 몇 개의 패키지를 추가로 import 했다.
38 POSTS HERE
첫 번째 ? 고급 사양 라이젠 PC
아마도 생애 첫번째 고급 사양 PC 인 것 같다. 요즘은 고급 사양 PC는 곧 게이밍 PC라서, 100만원 후반에서 200만원까지 가뿐히 넘어간다. 하지만 내 PC의 주 사용 목적은 개발이라서 CPU 빵빵하고 메모리 빵빵하면 그만이다. 그래도 게임을 아주 안하는 건 아니라서 GTX 1050 ti 정도로 타협을 했다. 대략 16~18만원 정도에 구매 할 수 있다. GTX 1050도 있기는 한데, 가격 차이가 3만원 정도라서 그냥 GTX 1050ti로 선택했다.
VirtualBox로 Kubernets 클러스터 구축하기
Kubernets 클러스터를 구성하려고 한다. 라고 로컬에 Kubernetes를 설치할 수 있는 애플리케이션이 있는 것 같기는 한데, 학습이나 테스트 용도 정도로 사용하는 것 같다. 내가 원하는 건 실제 환경에서 바로 써먹을 수 있는 기술을 익히는 거다. 그래서 VirtualBox 기반으로 클러스터를 구성하기로 했다. 구성 환경은 아래와 같다. 호스트 PC 호스트 운영체제 VirtualBox 버전 게스트 운영체제
Kubernetes Pod
다른 컨테이너 오케스트레이션 툴과 달리, Kubernetes는 컨테이너를 직접 실행하지 않는다. 대신에 하나 이상의 컨테이너를 그룹으로 묶어서 구조화한 pod를 관리한다. 같은 pod에 포함된 컨테이너들은 네트워크, IPC, 볼륨등을 공유한다. Pod에 포함된 컨테이너들은 하나의 물리적 노드에 배치가 되는데, 때문에 이들 자원의 공유와 커뮤니케이션이 쉬워진다. 하나의 노드에는 여러 pod가 배치될 수 있는데, 이들 pod는 다른 pod와 완전히 격리(isolation)된다.
GeoHash 기반의 Geofencing
지오펜스(Geo-fence)는 실제 지리적영역에 가상으로 경계를 만드는 것이다. 점 위치 주변을 기준으로 일정반경으로 하는 등 동적으로 만들수 있다. 혹은 학교, 인접 지역 경계등을 미리 정의해서 사용 할 수도 있다.지오펜스를 사용하는 것을 지오펜싱(geo-fencing)이라고 한다. 위치기반서비스(Location-Based Service 줄여서 LBS)는 geo-fence 영역에 들어가거나 나가는 것을 모니터링 하고 알람을 주는 방식으로 지오펜싱 서비스를 제공한다.
Goroutine 기다리기
고루틴(Goroutine)는 go언어에서 가장 유용한(그리고 가장 많이 사용하는)기능 중 하나일 거다. 고루틴은 go언어에 내장된(built-in) 기능이다. 개발자는 표준라이브러리나 외부라이브러리의 의존 없이 언어자체로 동시성(concurrency)애플리케이션을 개발 할 수 있다. 고루틴을 가지고 프로그램을 만들다 보면, 고루틴의 종료를 기다리거나 고루틴이 실행하는 것을 기다려야 하는 경우가 있다.
Redis 데이터 스트럭처 - strings
MySQL같은 RDBMS는 데이터 스트럭처라는 개념이 없다. 데이터베이스를 이루는 여러 개의 테이블이 있으며, 이 테이블을 (join등으로 엮어서) 필요한 데이터를 추출할 뿐이다. RDBMS를 사용하는 서비스에서 데이터 스트럭처는 "애플리케이션 영역"에서 처리 한다.반면 Redis는 List, Set, Sorted set, Hash, HyperLogLogs와 같은 애플리케이션 영역에서나 다룰만한 데이터 스트럭처를 제공한다. 애플리케이션에서 해야 할 일들을 Redis에 맡길 수 있음을 의미한다. Redis에서 key는 string이고, 데이터 스트럭처는 value에 저장한다. 아래 Redis가 지원하는 데이터 스트럭처를 정리했다. 이들 모든 데이터 스트럭처를 다룰 것이다.
{ "prev" "title" "link" }, "next" "title" "link" }, "home" "title" "link" }}
Machine Learning tutorial python introduction
이 문서는 응용과 실용에 촛점을 맞춘 기계 학습을 다루고 있다. 문서의 목적은 머신러닝의 이론, 응용, 슈퍼바이저, 딥러닝의 내부 작동과 머신러닝에 대한 전반적인 이해를 제공하는데 있다.몇 개의 문서를 통해서 선형회구, K nearest Neighbors, SVM(Support Vector Machines), Flat clustering, hierarchical clustering 과 뉴럴 네트워크를 다룬다.이들 각 알고리즘에 대해서, 알고리즘을 높은 수준에서 조망하고 논리적으로 어떻게 작동하는지를 살펴볼 것이다. 다음으로 Scikit-Learn과 같은 모듈과 실제 데이터를 이용해서 알고리즘을 코드화 할 것이다. 마지막으로 알고리즘의 각 요소를 포함하는 코드를 작성하면서 알고리즘의 내부 동작을 살펴볼 것이다. 이렇게 해서 알고리즘의 작동방식, 장점과 약점을 완벽하게 이해하게 된다.
Regression - Intro and Data
이제 본격적으로 머신러닝을 학습한다. 지금 시점에서는 Scikit-Learn이 설치됐어야 한다. 아직 설치하지 않았다면 Pandas와 matplotlib를 설치해야 한다. 아직 설치하지 않았다면 아래와 과정을 따르자.pip install numpypip install scipypip install scikit-learnpip install matplotlibpip install pandas numpy scipy scikit-learn matplotlib pandas 문서 전반에 걸쳐서 quandl데이터를 사용한다. 이것도 설치하자. pip install quandl
Regression - Features and Labels
이전까지의 내용을 바탕으로 주가 데이터에 대한 회귀를 수행 할 것이다. 지금까지의 코드는 아래와 같다. import pandas as pdimport quandldf = quandl.get("WIKI/GOOGL")df 100.0df 100.0df = dfprint(df.head())이제 우리는 포착한 데이터로 부터 중요한 데이터를 결정하고, 데이터 조작을 통해서 새로운 가치있는 데이터를 만들어서 회귀(regression)방식의 머신러닝을 테스트할 준비를 마쳤다. 작업을 위해서 몇 개의 패키지를 추가로 import 했다.