본문 바로가기

빅데이터10

실리콘 밸리에서도 주목받고 있는 토폴로지 데이터 분석 Slideshare를 통해서 토폴로지 데이터 분석(Topological Data Analysis, TDA)에 대한 발표 자료를 2014년 4월에 공유했다. 슬라이드 쉐어에서는 나의 슬라이드를 본 사람들이 어떤 경로로 찾아왔는지에 대한 정보와 어느나라 사람들이 주요하게 관심을 갖고 있는지의 여부를 자동으로 분석해주는 기능이 있어서 한번 살펴봤다.한국 사람중에 나의 슬라이드를 본 사람들은 대부분 얼굴책 등에서 내가 공유한 것을 보고 링크를 타고 온 사람들이라고 생각된다. 하지만 미국이나 독일에서 슬라이드를 본 사람은 분명히 검색을 통해서 나의 토폴로지 데이터 분석 슬라이드를 찾았을 것이다. 또한, 아래 그림 중에서 국가별로 슬라이드를 '본 사람 수'의 그래프에서도 볼 수 있듯이 토폴로지 분석은 미국, 독일,.. 2015. 3. 18.
Topological Data Analysis with R, (토폴로지 데이터 분석) 국가수리과학연구소에서 병역특례로 근무하는 동안 (2011-2014) 다양한 수학자들을 만나 수 있었습니다. 그 중에서 위상수학(Topology)를 공부하신 박사님과 한 팀에서 일을 할 수 있게 되었는데, 이때 처음으로 토폴로지 데이터 분석 (Topological Data Analysis, TDA)라는 방법을 알게 되었습니다. 토폴로지 데이터 분석의 핵심은 고차원 위상공간의 매니폴드에서 얻은 포인트 클라우드 데이터를 간단하게 추상화 하여 그래프의 형태로 표현하는 것입니다. Filtration에 의해서 샘플된 데이터는 Simplicies를 구성하기 위해 사용되고, 이거한 simplicies들을 선으로 연결하여 매니폴드를 추상화 합니다. 또한, 대수적 토폴로지(Algebraic Topology)를 이용하면 여.. 2015. 2. 27.
Topological Data Analysis를 이용한 전국 지방자치단체의 토건예산, 복지예산, 자살률의 관계 분석 Topological Data Analysis 방법에 대해 궁금한 사항은 Slideshare를 통해서 공개된 자료를 참고해 주시면 되고, 여러 논문들에서도 방법을 확인하실 수 있습니다. 뉴스타파는 제가 제일 신뢰하는 언론이기에 뉴스타파 홈페이지를 자주 방문하곤 합니다. 전국 242개 지방자치단체 토건예산, 복지예산, 자살률 자료가 공개 된지는 두어달 전이지만, 그동안 그냥 눈팅만 하다가 이제야 데이터를 직접 분석해 보기로 했습니다. Topological Data Analysis (이하 TDA)는 데이터 간의 거리 정보를 이용하여 데이터 간에 관계를 분석하는 기법으로 순수 수학인 '위상수학'에 뿌리를 두고 있습니다. 데이터 분석을 위해서 사용한 데이터는 2009년 복지예산과 토건예산의 비율, 2012년 복.. 2014. 7. 26.
Data Analysis (2): Graph Theoretical Analysis in R 수학에서의 그래프 이론(Graph Theory)과 물리학에서의 복잡계 네트워크(Complex Network)는 관련 전공자가 아닌 분야의 사람들에게는 비슷하게 느껴집니다. 저 또한 수학자도 아니고 물리학자도 아니기에 그래프 이론과 복잡계 네트워크를 혼용해서 사용합니다. 두 학문 분야의 전문가들이 보시기에는 다른 학문이으로 생각되겠지만, 그래프 이론이나 복잡계 네트워크에서 발견된 연구 결과물을 활용하는 연구자들에게는 '그게 그거 아닌가?' 라는 생각이 들기 마련인 것 같습니다. 저 또한 그래프 이론과 복잡계 네트워크라는 용어를 구분하지 않고 혼용해서 사용합니다. 그래프는 '점'과 '선'의 집합으로 구성되어 있습니다. 그래프에서 노드와 노드가 어떻게 연결되어 있는냐에 따라서 community를 이루기도 하지.. 2014. 4. 24.
유니코드 변환 파이썬 프로그램 - 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.