본문 바로가기

데이터과학/데이터 분석 실습39

Data Analysis (2): Linear Model in MATLAB Linear Regression이란 용어는 실험을 동반한 대부분의 연구에서 빠지지 않고 등장하는 개념입니다. 사실, 어려운 개념은 아니지만 통계학에 익숙하지 않은 (인문/사회 계열) 연구자들에게는 일단 거부감부터 안겨주는 골칫덩어리가 아닐까? 생각됩니다. 본 강좌는 "The Elements of Statistical Learning by Trevor Hastie, Rober Tibshirani, and Jerome Friedman"의 Chapter 3의 내용을 참고하여 작성했습니다. Linear Regression은 (1) 연구자가 설정한 모델이 실험 데이터를 얼마나 잘 설명하는가?를 확인하고 싶을때도 사용되고, (2) confounding 효과를 제거하기 위한 목적으로도 사용됩니다. 보통 General.. 2014. 1. 27.
Data Analysis (1): Neuroimaging Data loading using SPM8 toolbox 일반적인 데이터 분석에 관련된 기술을 포스팅하고 싶었지만, 데이터 분석은 data specific한 부분들이 있기 때문에 일반적인 데이터 분석 및 시각화 기법에 대한 강의는 어려울것 같고, 뇌영상 데이터와 트위터 데이터 수집 및 분석과 관련된 포스팅을 연재하고자 합니다. 일단 뇌영상 데이터 분석 기법으로 강의를 시작하는 이유는 최근 5년 동안 제가 연구해온 분야로 expert까지는 아니어도 intermediate 이상의 실력은 된다고 생각하고 있기에, 지금까지 습득한 노하우를 관련 분야에 계신 분들께 나누고 싶은 생각이 들었습니다. 뇌영상 분석에 사용되는 툴은 여러가지가 있지만, 보통은 MATLAB 기반의 SPM8, linux 기반에서 작동하는 AFNI 또는 FSL 등이 가장 많이 이용되고 있습니다.어떤.. 2014. 1. 26.
유니코드 변환 파이썬 프로그램 - convert to unicode (python program) 파이썬에서 한글을 다루다 보면, 인코딩에 대한 이슈를 그냥 지나칠 수 없다. 파이썬의 장점은 methods의 입력 데이터 형식을 지정하지 않아도 된다는 것이다. C/C++에 익숙했던 분들은 아주 생소하게 느껴질 수 있는 부분이다. 가령 덧셈 함수를 만든다고 하면, def sum(a,b): return a+b 로 간단하게 할 수 있다. 여기서 a, b는 정수, 실수 모두 가능하게 된다. 하지만, a와 b가 리스트list 또는 사전dict 형태의 데이터라면 어떻게 처리해야 할까? 리스트 형식의 데이터라면, 각 i 번째 element끼리 더해서 결과를 반환하도록 하면되고, 사전 형식의 데이터라면, 같은 key 값을 갖는 데이터끼리 더해서 결과를 반환하도록 하면 될 것이다. 이제 원래 이슈로 돌아가서, 입력 데.. 2013. 12. 16.
맥미니 몽고디비 분산 시스템 (5) - Aggregate 1. Sharding을 위한 Shard key 생성Sharding을 위해서는 Shard Key를 생성해야 하며, 생성된 Shard Key에는 반드시 인덱스의 생성이 요구됩니다. $ mongo 192.168.3.2:27017/admin mongos> mongos> db.runCommand( {enablesharding : "test"} ) // test db 의 Shard 기능 활성화 mongos> mongos> use test mongos> db.things.ensureIndex( {empno : 1} ) // empno 항목에 대한 오름차순 색인 생성 mongos> mongos> use admin mongos> db.runCommand( {shardcollection : "test.things", ke.. 2013. 7. 20.
맥미니 몽고디비 분산 시스템 (4) - Replica Set 1. Replica Sets + Sharding 시스템 구성 대용량 처리를 위한 분산 확장이 가능하고 안전성과 높은 가용성 보장을 위해 다음 그림과 같 이 Replica Sets을 구성하고, 이것을 토대로 Sharding 시스템을 구성할 수 있습니다. 4대의 맥미니를 이용하여 Replica Sets + Sharding 시스템을 구성 하는 것을 설명해 드리고자 합니다. 우선 각각의 노드에 다음과 같이 Config 서버와 Replica Set 서버 가 작동하도록 설정해 줍니다. Replica Set1은 모두 10001번 포트를 사용하고, Replica Set2는 모두 10002번 포트를 사용하며, Replica Set3은 모두 10003번 포트를 사용하도록 설정합니다. node1: 192.168.3.1 $ .. 2013. 7. 20.
맥미니 몽고디비 분산 시스템 (3) - Sharding 1. 샤딩Sharding 시스템 구축MongoDB 샤딩 시스템 구축을 위한 개요도는 다음 그림과 같습니다. 3대의 Config 서버와 4대의 Sharding 서버로 구성된 시스템을 만들어 보려 합니다. 위의 그림과 같은 시스템 구성을 위해서는 각각의 node에 접속하여 아래와 같이 설정하면 샤딩 서버와 Config 서버를 구성할 수 있습니다. Config 서버는 각 Shard 서버에 어떤 데이터들이 어떻게 분산 저장되어 있는지에 대한 Meta Data가 저장되어 있으며 MogoS가 데이터를 쓰고/읽기 작업을 수행할 때 Config 서버를 통해서 처리됩니다. in node 1 $ mkdir /data/config1 $ mongod --configsvr --dbpath /data/config1 --port .. 2013. 7. 20.