반응형
반응형

동영상으로 보는 초평면의 개념





반응형


반응형

hdf5 파일형식이란? (https://www.hdfgroup.org/hdf5/)

계층적 데이터 형식(Hierarchical Data Format, HDF)은 HDF Gruop에 의해 관리되고 있는 대용량의 데이터를 저장하기 위한 파일 형식이다.

HDF5 is a data model, library, and file format for storing and managing data. It supports an unlimited variety of datatypes, and is designed for flexible and efficient I/O and for high volume and complex data. HDF5 is portable and is extensible, allowing applications to evolve in their use of HDF5. The HDF5 Technology suite includes tools and applications for managing, manipulating, viewing, and analyzing data in the HDF5 format.


hdf5의 특징 (https://support.hdfgroup.org/HDF5/whatishdf5.html)

  • XML과 동일하게 자기 기술적으로 구성되어있어 데이터 형식을 파일 안에 기술이 가능하다.
  • 많은 양의 데이터를 저장 가능하다.
  • 검색 속도가 빠르다.
  • 병렬 입출력을 지원한다.
  • 데이터의 무작위 조회가 가능하다.
  • 20여년 이상 개발되어온 포맷으로 안정적이다.
  • 수많은 프로그래밍 언어와 오픈소스 라이브러리 API가 지원된다.

hdf5에 대해서

Python에서 사용하는 방법


참고 링크


반응형

데이터마이닝 알고리즘에 대한 포스팅




데이터마이닝 분석 방법

  1. 분류 분석
    • 목표 필드의 값을 찾는 모델을 생성하여 과거의 데이터를 입력하여 분류 모델을 생성하고 새로운 데이터에 대한 분류 값을 예측하는 것
  2. 군집 분석
    • 데이터를 여러가지 속성(변수)들을 고려하여 성질이 비슷한 몇 개의 집합으로 구분하는 분석 기법
      분류분석과는 달리 목표 변수를 설정하지 않는다. 따라서 분류는 교사학습이라고하고 군집은 비교사 학습이라 한다.
  3. 연관 규칙
    • 장바구니 분석 방법
      A물건을 구입하는 회원은 B물건도 같이 구입하는 패턴을 분석했다면 A물건 구입시 B물건을 추천해주는 기법
  4. 연속 패턴 
    • 연관 규사 규칙과 비슷한 분석 방법
      노트북을 구입한 사람은 한달 후에 노트북 받침대를 구입한다는 패턴을 찾으면 이 규칙을 바탕으로 노트북 구입자에게 노트북 받침대를 추천하는 기법

데이터마이닝 동영상 강좌 

  1. Google TechTalk에서 제공하는 데이터마이닝 강좌 (Stat202)  [강좌보기]
  2. 방송통신대학의 데이터마이닝 강좌 [강좌보기]


각 알고리즘들의 종류와 특징
  1. 연관 규칙 알고리즘 (association rule)
  2. 클러스터링 알고리즘 (clustering)
  3. 신경망 알고리즘 (neural network)
  4. 결정트리 알고리즘 (decision tree)
  5. 유전자 알고리즘 (genetic)
  6. 베이지안 네트워크 알고리즘 (bayesian network)
  7. 메모리 기반 추론 알고리즘  (memory-based reasoning)
  8. 시계열 알고리즘

1. 알고리즘 선택하기
    • 데이터 집합의 다른 특성을 기반으로 하나 이상의 불연속 변수를 예측하는분류 알고리즘

    • 데이터 집합의 다른 특성을 기반으로 수익 또는 손실과 같은 하나 이상의 연속 변수를 예측하는 회귀 알고리즘

    • 데이터를 속성이 유사한 항목의 그룹 또는 클러스터로 나누는 세그먼트화 알고리즘

    • 데이터 집합에 있는 여러 특성 사이의 상관 관계를 찾는연결 알고리즘
      이러한 종류의 알고리즘은 시장 바구니 분석에 사용할 수 있는 연결 규칙을 만드는 데 가장 일반적으로 적용됩니다.

    • 시퀀스 분석 알고리즘은 웹 사이트에서 일련의 클릭 또는 컴퓨터 유지 관리 앞의 일련의 로그 이벤트와 같이 데이터에서 빈번한 시퀀스 또는 에피소드를 요약합니다.

참고 링크


반응형

#데이터마이닝 : https://msdn.microsoft.com/ko-kr/library/ms174949.aspx


개요

데이터 마이닝이란 큰 데이터 집합에서 의미있는 정보를 찾는 것이며 이러한 정보를 찾는데에는 수학적 분석을 이용하여 데이터에 있는 패턴과 추세를 읽는 것이다. 일반적으로 관계가 너무 복잡하거나, 데이터가 너무 많은 경우, 전통적인 데이터 탐색패턴으로는 이러한 패턴을 찾을 수가 없기 때문에 데이터 마이닝이라는 개념이 나오게 됐다.


데이터 마이닝이 적용가능한 사례

  1. 예측 (Frecasting) : 서버 부하 또는 서버 가동 중지 시간을 예측하기
  2. 군집화(Clustering) : 구체적인 특성을 공유하는 군집을 찾는다. 군집화는 미리 정의된 특성에 대한 정보를 가지지 않는다는 점에서 분류와 다르다 (예 : 유사 행동 집단의 구분)
  3. 분류(classification) : 집단 또는 범주형 변수로 반응을 한다. 안한다. 혹은 안전이다. 위험이다. 등 값을 예측하여 분류하는 기법
  4. 연관성(Association) : 동시에 발생한 사건간의 관계를 정의한다. (예: 장바구니안의 동시에 들어 가는 상품들의 관계 규명)
  5. 연속성(Sequencing) : 특정 기간에 걸쳐 발생하는 관계를 규명한다. 기간의 특성을 제외하면 연관성 분석과 유사하다 (예: 슈퍼마켓과 금융상품 사용에 대한 반복 방문)
  6. 예측(Forecasting) : 대용량 데이터집합내의 패턴을 기반으로 미래를 예측한다 (예: 수요예측, 위험 및 확률 예측)


데이터 마이닝의 기본 프로세스 

  1. 문제 정의
  2. 데이터 준비
  3. 데이터 탐색
  4. 모델 작성
  5. 모델 탐색 및 유효성 검사
  6. 모델 배포 및 업데이트

1단계. 문제 정의

  1. 찾으려는 것은 무엇인지, 찾을 관계의 유형은 무엇인지
  2. 해결할 문제가 비즈니스의 정책 또는 프로세스를 반영하는지
  3. 데이터 마이닝 모델을 사용하여 예측을 할 것인지, 아니면 패턴만 찾을 것인지
  4. 예측할 결과 또는 특성은 무엇인지
  5. 어떤 종류의 데이터를 가지고 있으며, 각 열에는 어떠한 정보의 종류가 들어가 있는지, 
    테이블이 여러개인 경우 해당 테이블들과의 관계는 어떻게 구성되어있고
    데이터를 사용가능한 데이터로 만들기 위해서 해야할 정리, 집계가 필요한지
  6. 데이터가 어떻게 쌓인 것인지, 주기적인 데이터들인지 아니면 비즈니스 로직을 모두 담고 있는지
이러한 질문들을 통해서 데이터 가용성 및 사용 가능한 데이터에 대한 요구 사항을 조사해야 한다.
데이터가 사용자의 요구사항에 부합하지 않는다면 프로젝트를 다시 구성해야 한다. Ex) KPI같은 목표를 설정한다면 더 좋다.

2단계. 데이터 준비
데이터가 회사의 여러부서에 흩어져 서로 다른 형식으로 저장되기도 하고 항목이 잘못되었거나 누락되는 등의 데이터 불일치가 있을 수 있다. 데이터 정리는 단지 잘못된 데이터를 제거하거나 누락된 값을 보정하는 것만아니라 데이터의 숨겨진 상관 관계를 찾아내고 가장 정확한 데이터 원본을 식별하고 분석에 사용할 가장 적절한 열을 확인하는 것이다. 즉, 불완전한 데이터와 잘못된 데이터 등은 결과에 예상치 않은 영향을 줄 수가 있다.

따라서, 마이닝 모델을 실행하기 전에는 이러한 문제를 파악하고 수정 방법을 확인해야 한다. 데이터 마이닝의 경우 일반적으로 매우 큰 데이터 집합으로 작업하므로 모든 트랜잭션의 데이터 품질을 검사할 수 없다. 그러므로 데이터를 탐색하고 불일치하는 사항을 찾아내기 위해서 특정한 데이터 형태의 데이터 프로파일링 도구와 자동 데이터 정리 및 필터링 도구를 사용하여 정리한다.

3단계. 데이터 탐색
마이닝 모델을 만들 때 적절한 결정을 내리기 위해서는 데이터를 이해해야 한다. 탐색기술에는 최소값 및 최대값 계산, 평균 및 표준 편차, 데이터 배포 검토 등이 포함된다. 예를 들어 최대값, 최소값 및 평균 값을 검토하여 데이터가 고객 또는 비즈니스 프로세스를 대표하지 않는지 확인하고, 그러한 경우 보다 균형있는 데이터를 가져오거나 예상의 기초가 된 가정을 검토해야 하는지 확인할 수 있다. 표준 편차가 크면 다른 데이터를 추가하여 모델을 개선할 수도 있다. 표준 분포에서 지나치게 벗어나는 데이터는 왜곡된 것일 수도 있고, 실제 문제를 정확히 나타낸 것일 수도 있지만 이러한 데이터가 있으면 데이터에 맞는 모델을 만들기가 어려워진다. 비즈니스 문제를 정확히 이해하고 데이터를 탐색하면 데이터 집합에 결함이 있는 데이터가 있는지 확인한 다음 문제를 해결할 수 있는 전략을 고안하거나 비즈니스의 일반적인 동작을 보다 깊이 있게 이해할 수 있다. 

4단계. 모델 작성
마이닝 구조를 만들어 사용할 데이터 열을 정의한다. 마이닝 구조는 데이터 원본에 링크되지만 처리되기 전까지는 실제로 데이터가 포함되지 않는다. 마이닝 구조를 처리하면 Analysis Services 에서는 분석에 사용할 수 있는 집계 및 기타 통계 정보를 생성한다. 이 정보는 해당 구조를 기반으로 하는 마이닝 모델에서 사용할 수 있다. (마이닝 구조와 마이닝 모델의 관계에 대한 내용은 이곳을 참고하기)

구조 및 모델이 처리되기 전에는 데이터 마이닝 모델 역시 단지 입력에 사용되는 열, 예측할 특성 및 알고리즘에 데이터 처리 방식을 알려주는 매개 변수를 지정하는 컨테이너이다. 모델을 처리하는 작업을 학습이라고도 하는데 학습은 패턴을 추출하기 위해 구조의 데이터에 특정 수학적 알고리즘을 적용하는 프로세스다. 학습 프로세스에서 찾은 패턴은 선택한 학습 데이터, 선택한 알고리즘 및 알고리즘 구성 방식에 따라 달라진다. (sql server 2016에서 제공되는 알고리즘 목록은 이곳을 참고하기)

매개 변수를 사용하여 각 알고리즘을 조정하고 일부 데이터만 사용하도록 학습 데이터에 필터를 적용하여 다른 결과를 만들 수도 있다. 데이터가 변경될 때 마다 마이닝 구조와 마이닝 모델을 모두 업데이트해야하며 마이닝 구조를 다시 처리하여 업데이트하면 Analysis Services에서는 원본 데이터를 검색하고 마이닝 구조를 다시 채운다.

원본이 동적으로 업데이트된 경우에는 검색 시 새 데이터도 포함된다. 해당 구조를 기반으로 하는 모델이 있는 경우 모델을 업데이트하여 새 데이터에 대해 다시 학습되도록 할 수 있고 모델을 그대로 둘 수 도 있다.

5단계. 모델 탐색 및 유효성 검사
모델을 프로덕션 환경에 배포하기 전에 모델의 효율성을 테스트 해야 한다. 또한 모델을 작성할 때는 일반적으로 각기 다른 구성으로 여러 모델을 만들고 모든 모델을 테스트하여 어떤 모델에서 문제 및 데이터에 대한 최상의 결과가 얻어지는지 확인해야 한다. 모델 작성 단계에서 만든 모델의 효율성이 모두 떨어지는 경우 프로세스의 이전 단계로 돌아가서 다시 문제를 정의하거나 원래 데이터 집합의 데이터를 다시 조시 해야 할 수 도 있다.

6단계. 모델 배포 및 업데이트

모델을 사용하여 예측하여 비즈니스 의사결정이 가능할 수 있다.



데이터 마이닝의 과정

  • 문제 정의 > 데이터 준비 > 데이터 탐색 > 데이터 정제 > 데이터 모델 (알고리즘 등 분석 방법 & 데이터 분할) > 데이터 유효성 검사 > 데이터 추출 > 데이터 시각화 > 데이터 분할 > 결과 도출 > 예측 > 새로운 데이터(변수) 추가 & 업데이트 > 반복


참고 링크

  • [위키-데이터마이닝] https://ko.wikipedia.org/wiki/%EB%8D%B0%EC%9D%B4%ED%84%B0_%EB%A7%88%EC%9D%B4%EB%8B%9D


+ Recent posts