데이터를 집계하고 분석하는 가장 좋은 방법


13

최근에 머신 러닝 및 데이터 분석을 가르치기 시작하면서 대규모 데이터 세트를 생성하고 쿼리해야 할 필요성에 직면했습니다. 전문적이고 개인적인 삶에서 수집 한 데이터를 수집하고 분석하고 싶지만 다음을 수행하는 가장 좋은 방법은 확실하지 않습니다.

  1. 이 데이터를 어떻게 저장해야합니까? 뛰어나다? SQL? ??

  2. 초보자가이 데이터를 분석하기 시작하는 좋은 방법은 무엇입니까? 저는 전문 컴퓨터 프로그래머이므로 복잡한 프로그램 작성이 아니라 데이터 분석 영역에 따라 다소 다릅니다.

편집 : 내 모호한 점에 대한 사과, 처음으로 무언가를 배우기 시작할 때 모르는 것을 아는 것이 어렵습니다. ;)

말했듯이, 나의 목표는 이것을 두 가지 주요 주제에 적용하는 것입니다.

  1. 소프트웨어 팀 측정 항목 (애자일 속도, 위험 정량화, x 개의 스토리 포인트가 주어진 경우 반복이 성공적으로 완료 될 가능성을 생각하십시오)

  2. 기계 학습 (예 : 특정 모듈 세트에서 시스템 예외가 발생했습니다. 모듈이 현장에서 예외를 발생시킬 가능성, 그 비용은 얼마입니까, 데이터는 개선 할 핵심 모듈에 대해 무엇을 알려줄 수 있습니까? 나에게 가장 좋은 기회, 데이터로드를 시작하기 위해 사용자가 다음에 사용할 시스템 부분을 예측하십시오.)


이것은 나에게 매우 모호한 것 같습니다. 어떤 종류의 데이터와 어떤 종류의 분석? 또한 주관적이라면 커뮤니티 위키 여야합니다.
Shane

답변:


19

Excel 또는 메모장이 느리게로드되는 큰 데이터 세트가있는 경우 데이터베이스를 사용하는 것이 좋습니다. Postgres는 오픈 소스이며 매우 잘 만들어졌으며 JMP, SPSS 및 기타 프로그램과 쉽게 연결할 수 있습니다. 이 경우 샘플링을 원할 수 있습니다. 데이터베이스의 데이터를 정규화 할 필요는 없습니다. 그렇지 않으면 CSV는 공유하기 쉽습니다.

100M + 행이있는 경우 Apache Hive를 고려하십시오.

분석 측면에서 몇 가지 시작점이 있습니다.

하나의 변수를 설명하십시오.

  • 히스토그램
  • 요약 통계 (평균, 범위, 표준 편차, 최소, 최대 등)
  • 특이 치가 있습니까? (사 분위 간 1.5 배 이상의 범위)
  • 어떤 종류의 배포가 뒤 따릅니 까? (정상 등)

변수 간의 관계를 설명하십시오.

  • 산포도
  • 상관 관계
  • 특이 치? Mahalanobis 거리를 확인하십시오

  • 범주 형의 모자이크 플롯

  • 범주 형에 대한 비 상표

실수 (예 : 가격) 예측 : 회귀

  • OLS 회귀 또는 기계 학습 회귀 기술

  • 사람이 예측하는 데 사용되는 기술을 이해할 수있는 경우이를 모델링이라고합니다. 예를 들어, 신경망은 예측을 할 수 있지만 일반적으로 이해할 수 없습니다. 회귀를 사용하여 핵심 성과 지표도 찾을 수 있습니다.

클래스 멤버십 또는 클래스 멤버십 확률 (예 : 합격 / 불합격) : 분류

  • SVM과 같은 로지스틱 회귀 또는 기계 학습 기술

관찰을 "자연"그룹으로 묶기 : 클러스터링

  • 일반적으로 그들 사이의 거리를 계산하여 "유사한"관측 값을 찾습니다.

속성을 "자연"그룹에 추가 : 팩토링

  • 그리고 PCA, NMF와 같은 다른 매트릭스 연산

정량화 위험 = 표준 편차 또는 "나쁜 일"이 발생하는 시간 비율 x 얼마나 나쁜가

x 개의 스토리 포인트 = 로지스틱 회귀 분석에서 반복이 성공적으로 완료 될 가능성

행운을 빕니다!


대단 했어. 이 답변에 감사드립니다. 당신은 나에게 큰 점프 오프 포인트를 주었다. 내가있는 곳을 "가져온"것 같아서 추천하는 모든 책.
저스틴 Bozonier

당신은 매우 환영합니다. 서적 : 일반 영어로 된 통계가 시작됩니다. 그 후 모발에 의한 다변량 데이터 분석. 훌륭한 웹 리소스 : itl.nist.gov/div898/handbook , statsoft.com/textbook
Neil McGuigan

4

시스템 결함을보고있는 경우 eBay에서 결함 진단을위한 기계 학습 기술을 사용하는 다음 백서에 관심이있을 수 있습니다. 어떤 종류의 데이터를 수집해야하는지 또는 한 팀이 유사한 도메인에서 특정 문제에 어떻게 접근했는지를 알 수 있습니다.

방금 시작한 경우 RapidMiner 또는 Orange 와 같은 것이 데이터를 매우 빠르게 재생하기에 좋은 소프트웨어 시스템 일 수 있습니다. 둘 다 다양한 형식 (파일 csv, 데이터베이스 등)으로 데이터에 액세스 할 수 있습니다.


3

귀하의 질문은 너무 넓어서 답은 다음과 같습니다. 그래도 더 유용한 답변을 제공하기 위해 리서치에서 일반적으로 생각하는 것을 표시하겠습니다.

데이터 저장은 텍스트 파일에서 매우 자주 수행됩니다. 통계 분석을 수행 할 때는 주로 한 가지 유형의 벡터 모음으로 작업합니다. 이것은 테이블로 볼 수 있으며 csv 형식으로 작성 될 수 있습니다. 얇은 부분이 종종 일반 텍스트로 저장되는 이유는 단순히 모든 도구가 읽을 수 있고 쉽게 변환 할 수 있기 때문입니다.

분석에 대해서는 구체적으로 설명하기가 조금 더 어렵습니다. 2 차원이면 산점도를 만듭니다. 차원이 높은 경우 PCA를 수행하고 중요한 변수를 발견하기 위해 첫 번째 주요 구성 요소가있는 위치를 확인하십시오. 시간 데이터가 있으면 플롯하십시오. 이것은 매우 일반적이므로 유용하기 위해서는 데이터가 무엇인지 더 잘 나타내야합니다.


피터, 당신은 펀치를 날 때렸어요! 크기 (수억 개의 obs)에 따라 맵으로 변환 가능한 데이터베이스 (예 : Pig, Cassandra 또는 NoSQL 옵션 중 하나)로 이동해야 할 수도 있지만 데이터로 텍스트를 저장하는 데 전적으로 동의합니다.
DrewConway

오, 재밌어요! 따라서 각 변수에 대한 데이터를 가져 와서 행 열 형식으로 배치하고 숫자 크 런칭 eh에 도달합니까? 보고 있거나 도구를 프로그래밍해야하는 도구가 있습니까?
저스틴 보조 니에

R은 통계를위한 매우 광범위하고 무료 인 툴킷 / 프로그래밍 언어 / 라이브러리입니다. 그러나 내가 가장 좋아하는 것은 SciPy / NumPy가 포함 된 Python입니다.
Peter Smit

0

ROOT의 장점 중 하나 는 방대한 양의 데이터를 저장하는 것입니다. ROOT는 입자 물리학에 사용되는 C ++ 라이브러리입니다. 또한 Ruby와 Python 바인딩도 함께 제공되므로 ROOT가 기본적으로 제공 할 수있는 가능성이 거의없는 경우 이러한 언어 (예 : NumPy 또는 Scipy)의 패키지를 사용하여 데이터를 분석 할 수 있습니다.

ROOT 파일 형식은 트리 또는 튜플을 저장할 수 있으며 항목을 순차적으로 읽을 수 있으므로 모든 데이터를 메모리에 동시에 보관할 필요는 없습니다. 이것은 엑셀이나 R로 시도하고 싶지 않은 페타 바이트의 데이터를 분석 할 수있게합니다.

ROOT I / O 문서는 여기 에서 얻을 수 있습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.