일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- BAM
- 신경회로망
- 삼성전자 소프트웨어멤버십 SSM
- 빅데이터
- 신경망
- Python
- SSM
- 구글 앱 엔진
- 동아리
- 가상화
- 하이퍼바이저
- 증강현실
- 고려대학교
- Neural Network
- 패턴인식
- 인공지능
- Google App Engine
- 물걸레자동세척로봇청소기
- Bidirectional Associative Memory
- 삼성소프트웨어멤버십
- 나르왈프레오
- 패턴 인식
- NarwalFreo
- Friendship
- 갤럭시탭S8울트라
- 삼성
- 물걸레로봇청소기추천
- 파이썬
- hopfield network
- 멤버십
- Today
- Total
정보공간_1
[6기 강남 김현호] 대학생의 시점에서 바라본 데이터 마이닝 본문
Data mining for Student...?
안녕하세요. 삼성 소프트웨어 멤버십 엘리트 6기 김현호 입니다.
학교와 삼성 소프트웨어 멤버십을 다니는 동안 데이터 마이닝에 대한 관심이 매우 많아서 공부와 여러가지 프로젝트를 진행해 보았습니다. 직장인이 아닌 대학생의 입장에서 진행해본 프로젝트를 경험 삼아 이쪽 분야의 공부나 프로젝트를 진행 하시는데 도움이 되고자 이 글을 적어 봅니다.
우선 데이터 마이닝의 소개와 배경 지식을 알아보고 저의 주관적인 견해에서 접근해보는 프로젝트들을 알아보도록 하겠습니다.
|
Data?
이 데이터를 어느정도 유의미하게 가공시키면 정보(Information)라고 불리는 2차 데이터로 만들 수 있습니다. 정보를 분야별로 접목시키도록 또 한번 가공을 하게되면 지식(Knowledge)으로 실제로 이용할 수 있는 가치를 지니게 됩니다. 같은 정보라도 분야별로 다른 의미를 지닐 수 있습니다. 지식들을 패턴화 시켜 원인과 결과 해결 방안을 제시 할 수 있는 지혜(Wisdom)의 단계가 있습니다. 그림엔 명시하지 않았지만, 굳이 더 상위단계를 말하자면 '진리'의 단계가 있습니다. 이것은 개인적인 견해 이지만 불변하지 않는 지혜라고 얘기할 수 있겟네요. "사람은 언젠가 죽는다", "태양은 동쪽에서 뜬다" 등이 있습니다. 데이터 마이닝은 이 데이터속에서 지식 혹은 지혜 단계의 패턴 찾아내는것이 목표라고 봐도 되겠습니다. |
Data mining Ecosystem
그림 출처 : http://blogs.sas.com/content/subconsciousmusings/2014/08/22/looking-backwards-looking-forwards-sas-data-mining-and-machine-learning/
이 모든 분야가 쓰이는것은 아니지만, 데이터 마이닝을 하다보면 직접적으로 다룰 때가 많이 있습니다. 특히 통계학 분야는 거의 밑 바탕이 된다고 생각하셔도 될 만큼 많은 부분을 차지하고 있습니다. 배경부터 미리 배우고 시작하기엔 너무 재미가 없을테니 데이터 마이닝을 배워가면서 필요할 때마다 같이 배워가는것도 좋은 방법이라고 생각합니다. |
Data mining Process
|
Data mining for Business
데이터 마이닝을 사용하려는 목적(Business), 사용할 데이터(Data), 방법(Model), 평가(Evaluation) 크게 4가지를 꼽을 수 있습니다. |
Data mining for Student?
개인적으로 프로젝트를 하면서 저는 더 배우고 싶었고 이 배운것을 단지 실제로 만들어 보고 싶었습니다. 이것만으로도 충분한 이유가 되지 않을까요? 이후에 자신이 만든 프로그램이나 프로젝트를 공모전에 내건 실제 솔루션을 만들던지 모든것은 개인의 자유입니다. 그래서 학생의 입장에서 가장 중요한 2가지는 당연하지만 무엇(What)을 어떻게(How) 처리 라고 생각합니다. 물론 목표가 확실하면 더 좋겟죠? |
Project?
1. 어떤 데이터를 분석할 수 있을까요? 2. 데이터는 어디에서 얻나요? 3. 어떻게 데이터를 분석하나요?
|
What?
등등 다양한 프로젝트가 존재 합니다. |
Where?
그래서 몇가지 데이터 수집을 통해 접근하는 방법을 소개해 드립니다. 첫째로, Open API를 이용하는 방법이 있습니다. 둘째로, 크롤링을 통한 데이터 수집방법이 있습니다. 실제로 API를 제공하진 않지만 다양한 정보를 가진 사이트(KBO, 스포츠, 여행사이트 등)에서 유용한 정보를 가져올 수 있습니다. 또한 위키피디아 처럼 데이터 전부를 덤프 형식으로 제공하는 사이트 또한 있으니 찾아보시면 유용하게 사용할 수 있습니다. 하지만 크롤러를 잘못 만들 경우 사이트에 대해 공격으로 판단되어 차단 당할 수 있으므로 조심하셔야 합니다. 마지막으로, 직접적인 서비스가 있습니다. |
How?
대표적인 데이터 마이닝의 분석 방법으로
등등 정말 다양한 분석 방법이 있습니다.
직접 공부하고 만드셔서 적용시켜도 되지만, 이미 다양한 오픈소스와 툴에서 이를 제공하고 있습니다. 대표적인 오픈소스로서 웨카(Weka)가 있습니다.
툴 자체에서 파일 입력을 통해 분석할 수도 있고, Java등에서 api를 통해 직접적으로 사용하실수도 있습니다. 다른 대표적인 데이터마이닝 툴로 R이 있습니다.
R은 통계 게산과 그래픽을 위한 프로그래밍 언어이자 소프트웨어 환경을 지칭하는것으로, 이를 활용해 데이터마이닝을 할 수 있게 환경을 제공해 줍니다. 그리고 각 언어마다 데이터 마이닝 관련 다양한 라이브러리를 지원하므로 자신에게 맞는 환경을 구성하시면 되겠습니다.
|
제가 개인적으로 해보았던 프로젝트들을 위의 정보로 표시하면 다음과 같습니다.
- UN 투표 데이터를 통한 국가 관계 분석 ( 크롤링 - 텍스트 마이닝 - 분류 분석 )
- SNS를 통해 얻은 데이터를 바탕으로한 평판 분석 ( Open API - 텍스트 마이닝 - 오피니언 마이닝)
- 위키피디아 덤프파일(사전데이터)를 이용한 객관적인 연관 관계 분석( 덤프 데이터 - 텍스트 마이닝 - 연관 관계 )
- 위치나 시간정보들을 군집화를 통해 지역의 특징을 추출하는 마이닝 ( 직접 서비스 - 수치 분석 - 군집화 )
개인적으로 오랫동안 이 분야에 몸담은것도 아니고, 전문가도 아니지만 다양한 프로젝트를 해보면서 얻은 경험을 통해 이 분야로 진출해보고 싶어하는 학생분들에게 도움이 되면 좋겠습니다. 감사합니다.
'IT 놀이터 > Elite Member Tech & Talk' 카테고리의 다른 글
[6기 수원 조성찬] Arm cortex-M3 시작해 보기(LED ON/OFF) 1 (1) | 2014.12.08 |
---|---|
[6기 강북 전영진] 리눅스 커널 심층 분석 #5 (0) | 2014.12.08 |
[6기 강북 윤덕진] 리눅스 쉘 스크립트 프로그래밍 #4 (0) | 2014.11.28 |
[6기 강북 전영진] 리눅스 커널 심층 분석 #4 (0) | 2014.11.28 |
[6기 부산 박천경] 신경회로망 오류역전파 (Backpropagation) (0) | 2014.11.28 |