일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 딥러닝 공부
- 기러기목
- 생일문제
- 흰날개해오라기
- django
- 비둘기목
- 오리과
- python3
- 비둘기과
- 솔딱새과
- AI역량평가
- Birthday paradox
- 딥러닝공부
- 딱다구리과
- IBK기업은행 인턴
- 직박구리과
- 가마우지과
- 백로과
- structured_array
- keras
- 맑은소리 스피치학원
- 참새목
- 참새과
- 계수정렬
- 한국의새
- ADsP
- Python
- 한국의 새
- SimpleCraft
- AI전략게임
- Today
- Total
진박사의 일상
ADsP 3과목 - 1 본문
데이터 분석 개요
1. 데이터 처리
개요 - 통계에 기반을 두지만 통계 지식과 가정이 적은 실용적 분야
활용 - DW나 DM을 통해 분석 데이터를 가져와 사용 / 신규 시스템이나 DW에 포함되지 못한 자료의 경우 기존 운영시스템(Legacy)나 스테이징 영역(Staging area)와 ODS(Operational Data Store)에서 데이터를 가져와 DW에서 가져온 내용과 결합하여 활용 / 직접 접근은 위험, 클린징 영역인 ODS에서 데이터 전처리를 해서 DW나 DM과 결합
최종 데이터 구조로 가공 -
(1)데이터 마이닝 분류(분류값과 입력 변수 연관해 인구통계, 용약변수, 파생변수 등 산출)
(2) 정형화된 패턴 처리(비정형데이터-DBMS에 저장했다가 텍스트 마이닝을 거쳐 DM과 통합 / 관계형 데이터-DBMS에 저장되어 사회 신경망분석을 거쳐 분석결과 통계값이 DM과 통합)
2.시각화
-낮은 수준의 분석이지만 효율적, 대용량 데이터 다루는 빅데이터 분석과 탐색적 분석에는 시각화가 필수, SNA 분석시 자주 활용
3. 공간분석(GIS)
-공간적 차원과 관련된 속성들을 시각화 하는 분류, 지도 위에 관련 속성 생성하고 크기, 모양, 선 굵기 등으로 구분
4. 탐색적 자료 분석(EDA)
개요 -다양한 차원과 값을 조합해 특이점이나 의미있는 사실 도출, 분석의 최종 목적을 달성하는 과정, 데이터 특징과 내재된 구조적 관계를 알기 위한 기법의 통칭
4가지 주제 - 저항성의 강조, 잔차 계산, 자료변수의 재표현, 그래프를 통한 현시성
효율의 예 - 모형개발 프로세스(KDD, CRISP-DM)에서 데이ㅣ터 이해 단계와 변수 생성 단계, 변수 선택 단계에서 활용
5. 통계 분석
기술통계 - 표본이 가진 정보를 쉽게 파악할 수 있도록 정리, 요약, 그래프화
추측통계 - 표본의 표본통계량으로부터 모집단의 특성인 모수에 관해 통계적으로 추론하는 절차
활용 분야 - 정책수립의 근거자료, 농업, 의학, 경영, 스포츠
6. 데이터마이닝
개요 - 고급 데이터 분석법, 대용량 자료로 정보 요약하고 미래 예측을 목표로 자료에 존재하는 관계, 패턴, 규칙 등을 탐색하고 모형화 함으로 유용한 지식을 추출하는 분석 방법
방법론 - 데이터베이스에서의 지식 탐색, 기계학습(인공신경망, 의사결정나무, 클러스터링, 베이지안분류, SVM etc), 패턴인식(장바구니분석, 연관규칙 등)
R 프로그래밍
1. 데이터 분석 도구 현황
-R 개요 : 오픈소스 프로그램, 통계/데이터마이닝과 그래프 위한 언어
-분석도구 종류 : R, SAS, SPSS, Stata, WinRats-32, Eviews, Limdep
-분석도구 비교
SAS/SPSS - 유료, 고가 / 대용량 / 모듈 별도 구매 / 최근 알고리즘&기술반영 느림 / 학습자료 유료도서 / 질의 공개 커뮤니티 X
R - 오픈소스 / 모듈화 되어 간단 / 모듈 오픈소스 / 기술반영 빠름 / 공개논문, 자료 많음 / 커뮤니티 활발
-R의 특징 : 오픈소스, 그래픽/성능 뛰어남, 시스템 데이터 저장 방식(세션마다 데이터셋을 저장하므로 매번 데이털르 로딩할 필요 없이 명령어 스토리도 저장 가능), 모든 운영체제 사용 가능, 표준 플랫폼(S통계 언어 기반 구현, R/S 플랫폼은 통꼐전문가의 사실상의 표준 플랫폼), 객체지향언어이며 함수형 언어
객체지향 언어 - 추정계수, 표준오차, 잔차 등을 결과값으로 객체에 저장해 필요한 부분을 호출하여 쉽게 활용 가능
함수형 언어 - 깔끔하고 단축된 코드, 빠른 코드 수행 속도, 단순 코드로 디버깅 노력 감소, 병렬 프로그래밍으로 전환 용이
-R스튜디오 : 오픈소스, 메모리 변수 타입, 래틀(Rattle)은 GUI 패키지와 긴밀히 결합되어 정해진 기능만 사용가능해 업그레이드가 제대로 되지 않으면 통합성에 문제가 발생할 수 있다.
R 기초
출력 - print(), cat()-여러항목 묶어서
대입 연산자 - <-, <<-, =, ->
변수 목록 - ls() - 변수명만, ls.str() - 변수값까지
변수 삭제 - rm(), 모두 삭제시 rm(list=ls())
벡터 생성 - c()
함수 정의 - function(매개변수들) {명령문들-변수 선언시 지역변수 취급/ <<- 쓰면 전역변수}
수열 - ex 1:5(1, 2, 3, 4, 5), seq(from=0, to=10, by=2) (0,2,4,6,8,10) by대신 length.out 가능
반복 - rep(1:3, each=2, time=3) -> [1] 1 1 2 2 3 3 1 1 2 2 3 3 1 1 2 2 3 3
문자 붙이기 - paste("a","b","c",sep="-") -> "a-b-c"
문자열 추출 - substr(문자열, 시작점, 끝점)
논리값 - True(T), False(F)
논리연산자 - ==, !=, <, <=, >, >=
벡터 원소 선택 - V[n] : 선택, V[-n] : 제외 (주의 - R은 index가 1부터 시작)
기초통계
평균 - mean(변수) / 합계 = sum(변수) / 중앙값 = median(변수) / 로그 - log(변수) / 표준편차 - str(변수) / 분산 = var(변수) / 공분산 - cov((변수1, 변수2) / 상관계수 - cor((변수1, 변수2) / 길이 - length(변수)
binomial - binom(size, prob) / chi-squared - chisq(df, ncp) / F - f(df1, df2, ncp) / normal - norm(mean, sd) / poison - pois(lamda) / uniform - unif(min, max)
접두사
d - 확률밀도함수(PDF)의 확률값, f(x)
p - 누적분포함수(CDF)의 확률값, F(x)
q - 분위수(quantile)의 값, F-1(x)
r - 무작위 난수
R에서 다룰수 있는 데이터 타입 - Statistical SW, Text files, DBMS, Bigdata, SAS, SPSS, ASCII, XML, Webscraping Oracle, MS-SQL, MySQL, Access, Hadoop, NoSQL, MapReduce, Excel, HDF5, Minitab, Stata, Keyboard, sockets...
파일 타입 - CSV, XLS, JSON, HTML, XML, DB 등등
주의 - 경로의 역슬래시x 슬래시
테이블로 된 데이터파일 읽기 - read.table("파일 이름", sep="구분자", na.strings="결측치대체문자", header=(T=첫째줄을 변수명으로 인식/F))
CSV 읽기 - read.csv("파일 이름", header=T)
csv로 출력 - write.csv(행렬/데이터프레임, "파일이름", row.names=F)
R - 데이터구조와 데이터프레임
1. 벡터 - 동질적(같은 자료형이나 mode를 가짐), 위치로 인덱스, 인덱스로 하위 벡터 반환 가능, 벡터 원소는 이름을 가질 수 있음
2. 리스트 - 이질적(여러 자료형 가능), 위치로 인덱스, 하위 리스트 추출 가능, 리스트 원소 이름 가질 수 있음(L[["a"]] == L$a)
3. 자료형 - 숫자, 숫자벡터, 문자열, 문자열벡터, 요인(factor), 리스트, 데이터프레임(data.frame), 함수
4. 데이터프레임(data frames) **
강력하고 유연한 구조, DF의 리스트 원소는 벡터 or 요인이면서 프레임의 열이다. 벡터와 요인은 동일한 길이, 표 형태의 데이터 구조이며 각 열은 서로 다른 데이터 형식 가질 수 있다. 열에는 이름이 있어야 한다.
5 그 외 구조
-단일값(Scalars) - 원소가 하나인 벡터로 인식/처리
-행렬(Matrix) - 차원을 가진 벡터로 인식
-배열(Array) - 행렬이 n차원까지 확장된 형태
-요인(Factors) - 벡터처럼 생겼지만 벡터에 있는 고유값(unique value)의 정보를 얻어내는데 이 고유값들을 요인의 수준이라고 함. 요인의 두가지 주된 사용처로는 범주형 변수, 집단 분류가 있다.
6. 벡터, 리스트, 행렬 다루기
재활용 규칙 - 길이가 서로 다른 두 벡터를 연산 시 R은 짧은 벡터의 처음으로 돌아가 연산이 끝날떄까지 원소를 재활용
ex) a <- 1:6, b <- 7:9 -> a+b == c(8,10,12,11,13,15) #(1+7, 2+8, 3+9, 4+7, 5+8, 6+9)
벡터
-데이터 추가 : v<-c(v,new_items) or v[length(v)+1]<-new_item
-데이터 삽입 : append(v, new_value, after=n)
-요인 생성 - f<-factor(v, levels)
-벡터를 합쳐 하나의 벡처와 요인으로 - comb<-stack(list(v1=v1...))
-벡터 값 조회 - vector[c(조회할인덱스)]
리스트
-리스트 - list(숫자, 문자, 함수 가능 / 이름 지정 가능)
-리스트 원소 선택 - L[[n]], L[c(조회할인덱스들)], L[["이름"]], L$이름
-리스트 원소 제거 - NULL 대입
행렬
-행렬 - matrix(data, 행수, 열수) ex) e<-matrix(1:20, 4, 5)
-차원, 대각, 전치, 역 - 차원수 dim(e) = 4 5 / 대각성분 diag(e) = 1 6 11 16 / 전치 t(e) / 역행렬 - solve(mat) (정사각행렬 역행렬 존재시)
-행렬곱, 원소간연산 - 행렬1 %*% 행렬2 / 행렬1+행렬2 / 행렬1-행렬2 / 행렬1*행렬2 / 행렬1*상수
-행이름 / 열이름 / 행/열선택 - rownames(e)<-c("행이름1", ...) / colnames(e)<-c("열이름1", ... ) / e[행,] / e[,열]
데이터프레임
- 생성 - data.frame(벡터1, ...)
- 레코드 생성 -new<-data.frame(a=1, b="a", ...)
-행결합, 열결합 - rbind(frm1, frm2), cbind(frm1, frm2)
-조회 예 - dfrm[dfrm$gender="m"] #남성만 / dfrm[dfrm$age >= 10 & dfrm$age < 20] #10대만 / dfrm[grep("김", dfrm$name, ignore.case=T), c('age', 'gender')] #김씨의 나이와 성별
-데이터셋 조회 - subset(dfrm, select=변수, subset=변수>조건)
-병합 - merge(df1, df2, by="공통된 열")
-열이름(바꾸기) - colnames(df) (<- newnames)
-NA 행 삭제 - na.omit(dfm)
'프로그래밍 > ADsP' 카테고리의 다른 글
ADsP 3과목 - 3 (0) | 2021.08.22 |
---|---|
ADsP 3과목 - 2 (0) | 2021.08.10 |
ADsP 2과목 정리(마지막) (0) | 2021.08.06 |
[TIL] 21.08.03 - ADsP 공부 (0) | 2021.08.03 |
[TIL] 2021.08.01 ADsP 2과목 (0) | 2021.08.03 |