품목정보
발행일 | 2014년 10월 31일 |
---|---|
쪽수, 무게, 크기 | 580쪽 | 1062g | 183*235*22mm |
ISBN13 | 9788966188260 |
ISBN10 | 8966188265 |
발행일 | 2014년 10월 31일 |
---|---|
쪽수, 무게, 크기 | 580쪽 | 1062g | 183*235*22mm |
ISBN13 | 9788966188260 |
ISBN10 | 8966188265 |
1장 R 프로그래밍을 위한 환경 준비하기 01 왜 R인가 02 R 설치하기 Windows에서 설치하기 리눅스에서 설치하기 맥 OS X에서 설치하기 03 R 시작하기 04 도움말 보기 05 IDE 살펴보기 06 배치 실행 07 패키지 사용하기 참고자료 2장 데이터 타입 01 변수 변수 이름 규칙 변숫값 할당 02 함수 호출 시 인자 지정 03 스칼라 숫자 NA NULL 문자열 진릿값 팩터 04 벡터 벡터 생성 벡터 내 데이터 접근 벡터 연산 연속된 숫자로 구성된 벡터 반복된 값을 저장한 벡터 05 리스트 리스트의 생성 리스트 내 데이터 접근 06 행렬 행렬의 생성 행렬 내 데이터 접근 행렬의 연산 07 배열 배열 생성 배열 데이터 접근 08 데이터 프레임 데이터 프레임 생성 데이터 프레임 접근 유틸리티 함수 09 타입 판별 10 타입 변환 참고자료 3장 R 프로그래밍 01 R의 특징 02 흐름 제어(조건문과 반복문) if 반복문 03 연산 수치 연산 벡터 연산 NA의 처리 04 함수의 정의 기본 정의 가변 길이 인자 중첩 함수 05 스코프 06 값에 의한 전달 07 객체의 불변성 08 모듈 패턴 큐 큐 모듈 작성하기 참고자료 4장 데이터 조작 I : 벡터 기반 처리와 외부 데이터 처리 01 아이리스 데이터 02 파일 입출력 CSV 파일 입출력 객체의 파일 입출력 03 데이터 프레임의 행과 컬럼 합치기 04 apply 계열 함수 apply( ) lapply( ) sapply( ) tapply( ) mapply( ) 05 데이터를 그룹으로 묶은 후 함수 호출하기 summaryBy( ) orderBy( ) sampleBy( ) 06 데이터 분리 및 병합 split( ) subset( ) 데이터 병합 07 데이터 정렬 sort( ) order( ) 08 데이터 프레임 컬럼 접근 with( ) within( ) attach( ), detach( ) 09 조건에 맞는 데이터의 색인 찾기 10 그룹별 연산 11 편리한 처리를 위한 데이터의 재표현 12 MySQL 연동 MySQL 및 RMySQL 환경 설정 RMySQL을 사용한 MySQL 입출력 참고자료 5장 데이터 조작 II: 데이터 처리 및 가공 01 데이터 처리 및 가공 패키지 02 SQL을 사용한 데이터 처리 03 분할, 적용, 재조합을 통한 데이터 분석 adply( ) ddply( ) 그룹마다 연산을 쉽게 수행하기 mdply( ) 04 데이터 구조의 변형과 요약 melt( ) cast( ) 데이터 요약 05 데이터 테이블: 더 빠르고 편리한 데이터 프레임 데이터 테이블 생성 데이터 접근과 그룹 연산 key를 사용한 빠른 데이터 접근 key를 사용한 데이터 테이블 병합 참조를 사용한 데이터 수정 리스트를 데이터 프레임으로 변환하기 06 더 나은 반복문 07 병렬 처리 프로세스의 수 설정 plyr의 병렬화 foreach의 병렬화 08 유닛 테스팅과 디버깅 testthat test_that을 사용한 테스트 그룹화 테스트 파일 구조 디버깅 09 코드 수행 시간 측정 명령문 실행 시간의 측정 코드 프로파일링 참고자료 6장 그래프 01 산점도 02 그래프 옵션 축 이름(xlab, ylab) 그래프 제목(main) 점의 종류(pch) 점의 크기(cex) 색상(col) 좌표축 값의 범위(xlim, ylim) 그래프 유형(type) 선 유형(lty) 그래프의 배열 지터 03 기본 그래프 점(points) 꺾은선(lines) 직선(abline) 곡선(curve) 다각형(polygon) 04 문자열(text) 05 그래프에 그려진 데이터의 식별(identify) 06 범례(legend) 07 행렬에 저장된 데이터 그리기(matplot, matlines, matpoints) 08 응용 그래프 상자 그림(boxplot) 히스토그램(hist) 밀도 그림(density) 막대 그래프(barplot) 파이 그래프(pie) 모자이크 플롯(mosaicplot) 산점도 행렬(pairs) 투시도(persp), 등고선 그래프(contour) 참고자료 7장 통계 분석 01 난수 생성 및 분포 함수 02 기초 통계량 표본 평균, 표본 분산, 표본 표준 편차 다섯 수치 요약 최빈값 03 표본 추출 단순 임의 추출 가중치를 고려한 표본 추출 층화 임의 추출 계통 추출 04 분할표 분할표 작성 합, 비율의 계산 독립성 검정 피셔의 정확 검정 맥니마 검정 05 적합도 검정 카이 제곱 검정 샤피로 윌크 검정 콜모고로프 스미르노프 검정 Q-Q도 06 상관 분석 피어슨 상관 계수 스피어만 상관 계수 켄달의 순위 상관 계수 상관 계수 검정 07 추정 및 검정 일표본 평균 독립 이표본 평균 짝지은 이표본 평균 이표본 분산 일표본 비율 이표본 비율 참고자료 8장 선형 회귀 01 선형 회귀의 기본 가정 02 단순 선형 회귀 모델 생성 선형 회귀 결과 추출 예측과 신뢰 구간 모델 평가 분산 분석 및 모델 간의 비교 모델 진단 그래프 회귀 직선의 시각화 03 중선형 회귀 모델 생성 및 평가 범주형 변수 중선형 회귀 모델의 시각화 표현식을 위한 I( )의 사용 변수의 변환 상호 작용 04 이상치 05 변수 선택 변수 선택 방법 모든 경우에 대한 비교 참고자료 9장 분류 알고리즘 I: 데이터 탐색, 전처리, 모델 평가 방법 설정 01 데이터 탐색 기술 통계 데이터 시각화 02 전처리 데이터 변환 결측치의 처리 변수 선택 03 모델 평가 방법 평가 메트릭 ROC 커브 교차 검증 참고자료 10장 분류 알고리즘 II: 기계 학습 알고리즘 01 로지스틱 회귀 모델 02 다항 로지스틱 회귀 분석 03 의사 결정 나무 의사 결정 나무 모델 분류와 회귀 나무 조건부 추론 나무 랜덤 포레스트 04 신경망 신경망 모델 신경망 모델 학습 05 서포트 벡터 머신 서포트 벡터 머신 모델 서포트 벡터 머신 학습 06 클래스 불균형 업 샘플링, 다운 샘플링 SMOTE 07 문서 분류 코퍼스와 문서 문서 변환 문서의 행렬 표현 빈번한 단어 단어 간 상관관계 문서 분류 파일로부터 코퍼스 생성 메타 데이터 08 Caret 패키지 참고자료 11장 타이타닉 데이터를 사용한 기계 학습 실습 01 타이타닉 데이터 형식 02 데이터 불러오기 데이터 타입 지정 테스트 데이터의 분리 교차 검증 준비 03 데이터 탐색 04 평가 메트릭 05 의사 결정 나무 모델 rpart의 교차 검증 정확도 평가 조건부 추론 나무 06 또 다른 특징의 발견 ticket을 사용한 가족 식별 생존 확률 예측 가족 ID 부여 가족 구성원 생존 확률의 병합 가족 정보를 사용한 ctree( ) 모델링 성능 평가 07 교차 검증의 병렬화 10겹 교차 검증의 3회 반복 수행 foreach( )와 %dopar%를 사용한 병렬화 08 더 나은 알고리즘의 개발 참고자료 |
빅데이터를 다루기 위해, 또는 경제학 경영학에서 통계분석을 하기 위해 R 만한 프로그램이 없다. 과거에는 SAS와 매틀랩을 써봤지만 SAS는 일반적으로 구독하는 회사가 많지 않아 (구독료가 워낙에 비싼 탓에) 무료로 제공하는 학교를 벗어나면 사용하기 어렵다는 단점이 있다. SAS에 적응하면 편하긴 한데 안타깝다. 매틀랩은 통계목적으로 쓰기에 편하지만은 않다.
파이썬, R 은 인터넷에 자료가 무궁무진 하지만
아직 책에 익숙한 당신에겐 이 책 하나면 충분하다.
본인은 파이썬을 주로 사용하면서 아직 R을 직접적으로 사용해보진 못한 상황이다.
충분한 예제와 보기 좋은 구성은 여러 책 중에서도 학습하기 좋은 책이라고 할 수 있겠다.
이 책을 통하여 통계 및 기계학습 기법에 관심을 두고 있는 사람들이 R을 빠르게 배울 수 있을 것이다.
특히 예제 코드들이 이전의 다른 코드와 연계되면서도 각각이 독립적으로 실행될 수 있는 형태로 되어 있기 때문에
복합적인 방법과 단순한 방법 모두 사용하여 학습할 수 있다.
흔히 프로그래밍에 관심이 있는 사람들 또는 현업 종사자라면 '빅데이터'는 큰 이슈이고 실제로 많은 사람이 뛰어드는 분야이다. 학생들 중에서도 이 분야에 종사하고 싶다고 얘기하는 사람들이 많다.
그중에서도 데이터 마이닝이란 많은 데이터 가운데 숨겨져 있는 유용한 상관관계를 발견하여, 미래에 실행 가능한 정보를 추출해 내고 의사 결정에 이용하는 과정을 말한다.
흔히 이런 기법은 소비자의 소비행위를 예측, 분석하기위해 실무에서 사용되고 있으며 경영, 통계, 기계학습등으로도 뻗어나간다. 현재 이러한 빅데이터를 가지고 어떻게하면 우리가 원하는 정보만 골라내거나 아니면 상관관계를 통해서 다음 정보를 예측까지 할 수 있을 까 하는 것은 화두다. 연구도 많이 진행되고 있고 이것을 처리하기위한 언어들도 많이 등장하고 있다.
지금 소개하려는 언어는 R이다. 이 책은 R에 대하여 소개를 하고 있으며 기본적으로 C C++ JAVA 또는 그 외의 언어들에대한 기본지식이 있는 사람들이 읽기에 충분한 책이다. 이 책을 읽기위해선 앞의 기본 언어들을 어느정도 습득 후 읽어보는 것을 추천한다.
R에관한 책은 국내에도 몇권 소개되어 있는데 이 책의 특징은 저자의 R습득/활용 과정을 그대로 투영하여 책을 구성했다는 점이다.
책의 추천사를 인용하자면, 실질적인 빅데이터 활용/분석에서 가장 중요한 것은 어떻게 빅데이터를 보고, 어떻게 가설 검증을 세우며, 어떻게 활용 모델을 적용하느냐의 '어떻게'에 관한 것이다.
이러한 능력을 갖추려면 기본적인 프로그래밍 언어의 습득 외에도 다양한 데이터와 분석을 직접 해보면서 답을 찾아나가는 과정을 손쉽게 해볼 수 있어야 한다. 이러한 과정을 손쉽게 해볼 수 있는 언어와 환경을 제공하는 것이 R이다.
또한, 실제 업무에 적용하기 위한 통계 분석, 데이터 마이닝 및 기계 학습에 대한 분석 모델 및 알고리즘을 소개하는 후반부에서도 기본적인 모델/알고리즘을 설명하고 실질적인 실행을 해볼 수 있도록 구성되어 있다.
자칫 지나친 분석 모델/알고리즘에 관한 이론적인 설명의 나열로 그치기 쉬운 부분을 실제 소프트웨어 엔지니어 입장에서 풀어내어 이해해야할 이론과 구현방법을 깔끔하게 소개되어있다.
실제로 이 책은 책 내용의 예제소스를 제공하고 있어 공부하는 데 있어 편리하고 이해를 돕는다. 그리고 데이터 마이닝에 관해 먼저 알고 싶은 분들을 위하여 KDnuggets(http://www.kdnuggets.com)을 들어가보는 것을 추천한다. 데이터 마이닝 관련 유명 전문 사이트로 이 사이트에서 설문조사했을 때 항상 수위를 차지하는 소프트웨어가 바로 R이다.
그렇다면 왜 R인가?? 현업 종사자분들이 아닌 학생분들을 대상으로 한마디만 덧붙이자면 C를 배웠으니 다른 언어를 한번 익혀볼까 하는 차원에서 다음 언어로 R을 선택하는 것은 추천하지 않는다.
다만 분석, 예측, 의사 결정과 같은 토픽에 관심이 있다면 R을 배워보기를 추천한다.
그 이유로 첫째, R이 데이터 분석, 통계 분석, 기계 학습, 시각화에 중점을 둔 특화된 언어이기 때문이다. R은 또한 다양한 패키지를 사용할 수 있으며 이를 이용해 분석이나 예측 문제를 좀 더 쉽게 해결할 수 있다. 그러면서도 프로그래밍 언어이므로 손쉽게 확장이 가능하고 다양한 문제에 적용할 수 있다.
둘째, R은 공개 소프트웨어로 누구나 자유롭게 이용할 수 있다. 무료로 제공되고 소스 코드가 공개되어 있으므로 기업, 학교, 기관에서 부담 없이 사용할 수 있다.
셋째, R에는 강력한 커뮤니티가 있다. 실제로 이곳에는 많은 패키지들이 공개되어있고 유용하게 사용할수 있는 곳이다.
넷째, 펜과 종이만으로는 할 수 없는 다양한 통계 분석을 직접 눈으로 시각화 해볼 수 있다는 장점이 있다.
R은 또한 요즘 큰 인기를 끌고있는 Hive환경에서도 구동이 가능하다. 그리고 다른 언어와는 다른 강점은 기초부터 발전된 주제까지 포괄한 서적과 문서화 덕분에 이론과 실제를 동시에 배울 수 있는 환경이 가장 잘 갖춰져 있다.
전반적인 책의 내용을 살펴보자면 변수 값 할당시 <-, <<-, =을 사용하거나 함수 호출시 인자 사용에서도 변수이름을 일부만 지정하여도 사용할 수 있다. 기본적으로 R은 데이터타입으로 벡터(vector)타입을 사용하며 스칼라는 길이가 1인 배열을 사용한다고 이해할 수 있다. csv 형태의 데이터파일을 데이터 프레임으로 불러오거나 저장하고 이 책에서는 MySQL과의 연동 또한 다루어 실제 데이터베이스와의 처리 및 가공을 5장에서 다룬다. 그 중에서도 병렬처리 과정과 key를 사용한 빠른 데이터 접근은 인상 깊었다. R을 사용하여 그래프를 그려별 수 있고 통계분석 또한 함수로 구현되어있어 편리하다.