2014년 가을학기 손시운 (ssw5175@kangwon.ac.kr) 지도 교수: 문양세 교수님 벡터 2014년 가을학기 손시운 (ssw5175@kangwon.ac.kr) 지도 교수: 문양세 교수님.

Slides:



Advertisements
Similar presentations
저소득층을 위한 부실 공교육 강화 필요성 제고 한국어문학부 이예지 영어영문학부 김미진.
Advertisements

© 2012 인피니티북스 All rights reserved 제 3 장 이클립스 사용하기 Power Java.
2014 년 가을학기 손시운 지도 교수 : 문양세 교수님.
데이터 베이스 (MYSQL) 장수용. MYSQL 이란 ? -MySQL 은 DBMS( 데이터베이스 관리 시스템 ) 이다. - MySQL 은 RDBMS( 관계형 데이터베이스 ) 이다. - MySQL 은 오픈소스이다. - MySQL 은 빠르고, 안정적이고.
Information 지도 교수 : 김 주 한 교수 특성화 기간 : – 실습 기관명 : 서울의대 정보의학실 시스템 바이오 정보의학 국가핵심연구센터 특성화 기간 : – 이름.
The Leopold and Loeb - 누가 누구를 살해 하였는가 ? 방송영상학과 윤 지 혜.
최근 기상이변으로 겨울에 눈이 평균 이상으로 와 제설제 또한 많이 사용되어 가로수가 고사현상까지 보였다. 우리는 이 현상에 관심을 가지게 되어 이 주제로 창의적 산출물 대회를 준비하였다.
주기율과 원소의 경향성 문찬식. 목차  주기율  원소의 경향성 주기율  주기율의 정의  주기율의 발견과 발전  주기율의 구성.
김예슬 김원석 김세환. Info Northcutt Bikes Northcutt Bikes The Forecasting problem The Forecasting problem The solution 1~6 The.
Copyright © 2006 The McGraw-Hill Companies, Inc. 프로그래밍 언어론 2nd edition Tucker and Noonan 5 장 타입 “ 타입은 컴퓨터 프로그래밍의 효소이다 ; 프로그래밍은 타입을 통해 소화할만한 것이 된다.” 로빈.
KBS 간사 훈련 그룹 성경 공부 준비 / 인도 2006 년 4 월 1 일 2006 년 4 월 1 일.
1 Copyright © LG CNS CO. Ltd. 2007, All Rights Reserved. 안녕하십니까 ? 여러분의 곁을 지키는 건강보험 고객센터 입니다 자격 및 건강검진대상자 조회 및 의료급여서비스는 1 번 보험증 고지서 등 각종서식발급 요청은 2 번 민원처리.
전국공무원노동조합 교육기관본부 경북대지부
싸고 간편한 초스피드 건강식단 동양:醫食同源(의식동원) 의약과 음식은 근원이 같다-중국
목 차 ❖ 1 장. 서 론 ❖ 2 장. 표와 그림을 통한 자료의 요약 ❖ 3 장. 수치를 통한 연속형 자료의 요약
안녕하십니까! 아파하는 이웃을 위한 치료제, 약 사 팀의 발표를 시작하겠습니다..
로케이션 팀 이진욱 < PHYSIOGEL treatment a >
Chapter 02. C언어 기반의 C++ 박 종 혁 교수 UCS Lab SeoulTech Tel:
SQL 0613.
Project #2-2. Pintos User Program
R 실행. 2014년 가을학기 손시운 지도 교수: 문양세 교수님.
2014년 가을학기 손시운 지도 교수: 문양세 교수님 연관 규칙 2014년 가을학기 손시운 지도 교수: 문양세 교수님.
목 차 Chapter 1 컴퓨터와 프로그램 Chapter 2 프로그래밍과 운영체제
데이터 관리의 모든 것 데이터 최적화하기 데이터 정렬하기 자동 필터와 고급 필터
공학적 실패사례 동물성 사료(광우병).
(Statistical Modeling)
Ruby 프로그래밍 1 문자열 입출력 제어구조 looping 함수 정의
제07장 이산 푸리에 변환. 제07장 이산 푸리에 변환 푸리에 급수와 계수 에서의 이산주기신호 제07장 이산 푸리에 변환.
LS2208 Setting Guide Interface Barcode Set All Defults
Choi, Namseok Java 기초 (Java의 제어문과 배열) Choi, Namseok
Progress Seminar 선석규.
Chapter 10 그래프(graph) SANGJI University Kwangman KO
컴퓨터 활용 및 실습 Chapter 3 수식과 함수 김 정 석
프로그래밍2 및 실습 C언어 기반의 C++ 2.
소프트웨어시스템실습 3강: R 프로그래밍 및 데이터 조작
CHAPTER 6 그래프.
전자입찰시스템 협 력 업 체 사 용 매 뉴 얼.
3장 데이터의 특성을 대표적인 수치로 표현하기 2019년 2월 25일 오전 9시 36분2019년 2월 25일 오전 9시 36분
Introduction to Programming Language
과거사 청산, 밝은 미래를 위하여 역사 청산 비교 분석-독일과 우리나라.
1.
기계학습과 R 실습.
6장 데이터 타입(2) 순천향대학교 컴퓨터공학부 하 상 호.
하이컴AS PC판매점 메뉴얼.
계산제어.
4장 - PHP의 표현식과 흐름 제어-.
사용자 매뉴얼 Version 1.0 대금지급(외주)
직무 관리 글로벌 레볼루션 - 점수에 의한 직무평가 인문학부 정형준 김재한 김진경 공과대학 화학공학과
대학 가기와 진로 강홍준 기자
“Poster Main Title” Author and co-author names
(생각열기) 염화나트륨은 고체 상태에서는 전류가 통하지 않지만 용융 상태나 물에 녹으면 전류가 잘 통한다. 그 이유는?
사용자 매뉴얼 Version 1.0 구매 입찰
의성어 국어어휘론 이신옥 정지연 정지형 임총인.
UCC제작 발표 김민희 노진주 허경진 1.
CHAP 10 : 그래프.
제1회 PNU 코딩경진대회 부산대학교 소프트웨어교육센터.
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 08. 조건에 따른 흐름의 분기.
이산수학(Discrete Mathematics)
1.예수 거룩한 주 예수 생명의 11.예수 권능의 주 예수 19.그 누구도 그 누구도 21.It's all about you.
노동조합 활동 사례 희망연대노동조합.
앙금의 생성 물에서 생기는 돌멩이 ! 앙금 생성 반응.
“경상북도 산업체, (예비)스타트업, 연구기관 엔지니어를
Bug Localization Based on Code Change Histories and Bug Reports
For regex_compile function in grep.c
“Poster Main Title” Author and co-author names
찬양의 힘 – 시 135:1~3.
윤성우의 열혈 C++ 프로그래밍 윤성우 저 열혈강의 C++ 프로그래밍 개정판 Chapter 02. C언어 기반의 C++ 2.
집합의 표현 수학 7-가 집합과 자연수 > 집합 > 2-3/20 수업계획 수업활동 [제작의도]
Chapter 4. Energy and Potential
ISL 트렁크로 VLAN 정보들이 함께 다닌다.
Presentation transcript:

2014년 가을학기 손시운 (ssw5175@kangwon.ac.kr) 지도 교수: 문양세 교수님 벡터 2014년 가을학기 손시운 (ssw5175@kangwon.ac.kr) 지도 교수: 문양세 교수님

벡터란? 사전적 의미(네이버 지식백과) R의 기본 데이터 타입 크기와 방향을 동시에 나타내는 물리량 (e.g. 변위 · 힘 · 속도 · 가속도 등) R의 기본 데이터 타입 한 개의 숫자로 이뤄진 변수인 스칼라와 다르게 취급 ‘숫자 값’ 같은 것은 존재하지 않으며, 하나의 원소를 갖는 벡터 형으로 취급 2014년 가을학기

벡터의 선언 (1/2) Python이나 Perl 등의 스크립트 언어와 유사하게 선언이 필요하지 않음 e.g.) 벡터 z에 한 개의 숫자(3)로 이뤄진 벡터를 연결 이전에 z에 대해 전혀 언급하지 않아도 문법적으로 완벽 c() 함수를 이용하여, 여러 개의 데이터로 이뤄진 벡터를 연결할 수 있음 2014년 가을학기

벡터의 선언 (2/2) 벡터의 특정 원소를 언급하고 싶다면, 그 내용을 미리 R에게 알려줘야 함 “값을 연결한다”라는 면에서, 형식의 제한 없이 변수 사용이 가능 2014년 가을학기

벡터의 원소 추가/삭제 벡터는 원소를 추가하거나 삭제할 수 없음 벡터의 크기는 처음 만들어 질 때 정해짐 원소를 추가/삭제하려면, 벡터를 새로 할당 e.g.) 네 개의 원소(88, 5, 12, 13) 사이에 새 원소(168)를 추가 벡터 사이에 원소를 추가하기 위해, 기존의 벡터를 나누고, 새로운 벡터와 함께 하나의 벡터로 묶어서 연결 실제로 ‘새롭게 만든’ 벡터를 x에 저장한 것 어떤 경우 이는 R의 빠른 성능을 제한하는 요인이 될 수 있음 2014년 가을학기

벡터의 길이 length() 함수: 벡터의 길이를 파악하는 함수 이 예에서는 x의 길이를 이미 알고 있으므로, length() 함수가 불필요 일반적인 함수 코드를 작성 시, 벡터의 길이를 구할 필요가 있음 e.g.) 벡터에서 1이 처음 나오는 위치를 찾는 함수 2014년 가을학기

재사용 두 벡터를 사용하는 연산을 할 때 각각의 길이가 같아야 한다면, R은 자동으로 더 짧은 쪽을 재사용하여 긴 쪽에 맞춤 짧은 벡터 (1,2,4)는 재사용돼, 실제로는 다음과 같이 수행 2014년 가을학기

일반 벡터 연산 (1/5) 벡터의 산술 및 논리 연산 R은 함수형 언어 R에서 사용되는 산술 및 논리 연산도 실제로는 함수 벡터 간의 산술 연산은 각 원소 단위로 진행 2014년 가을학기

일반 벡터 연산 (2/5) 벡터 인덱싱 vector1[vector2]: vector1에서 vector2의 인덱스에 해당하는 원소를 추출 벡터의 인덱스를 음수로 표시하는 것은 해당 위치의 원소를 제거하고 반환 2014년 가을학기

일반 벡터 연산 (3/5) 콜론(:) 연산자를 통한 벡터 생성 콜론(:) 연산자는 일정 범위의 숫자로 이뤄진 벡터를 생성 주의해야 할 점은, 콜론(:)이 산술 연산자보다 우선 순위가 높다는 것 기타 연산자 우선 순위는 ?Syntax 명령어를 통해 확인 2014년 가을학기

일반 벡터 연산 (4/5) seq()를 이용해 벡터 순서 생성 seq() 함수는 빈 벡터를 처리할 때 유용하게 사용 (p.6 함수의 오류를 해결) 2014년 가을학기

일반 벡터 연산 (5/5) rep()을 이용해 숫자 반복 벡터 생성 rep() 함수: 긴 벡터에 쉽게 같은 숫자를 채움 rep(x, times)로 호출 시, times * length(x) 개의 원소로 채워진 벡터가 생성 each 인수: x를 복사해 사이사이에 끼워 넣음 2014년 가을학기

all() 함수와 any() 함수 사용 all() 함수: 모든 인자의 값이 TRUE가 맞는지 확인 any() 함수: 하나 이상의 값이 TRUE가 맞는지 확인 2014년 가을학기

벡터화 연산 벡터에 함수를 적용할 경우, 실제로는 내부의 원소에 각각 함수가 적용됨 연산자 “>”는 벡터화 함수 따라서, 두 벡터에서 각 원소를 비교하여 결과를 추출 2014년 가을학기

NA와 NULL값 NA: 존재하지만 불확실한 값 NULL: 존재하지 않으며 답이 없는 경우 많은 R의 통계 함수에서 NA는 건너뛰고 실행되도록 할 수 있음 NULL: 존재하지 않으며 답이 없는 경우 반복문에서 매번 원소를 추가해가며 벡터를 생성할 때 사용 2014년 가을학기

필터링 (1/3) 벡터에서 특정한 어떤 조건을 만족하는 원소들을 추출 필터링된 인덱스 생성 z의 제곱 값이 8보다 큰 원소를 찾아 w에 연결 2014년 가을학기

필터링 (2/3) subset() 함수로 필터링 subset() 함수와 기존 필터링 방식의 차이는 NA 처리 여부 2014년 가을학기

필터링 (3/3) 선택 함수 which() 해당 조건을 만족하는 원소들의 위치(인덱스)만 찾는 함수 which() 함수를 통해 p.6 함수를 간결하게 나타낼 수 있음 2014년 가을학기

벡터화된 조건문: ifelse() 함수 ifelse(b, u, v) 2014년 가을학기

벡터 원소의 이름 names() 함수: 벡터의 원소들에 이름을 지정 이름이 지정된 벡터의 원소는, 원소의 이름을 인덱스로 사용 가능 벡터 원소의 이름에 NULL을 지정해 이름을 삭제 가능 2014년 가을학기

확장 예제: 기상데이터 예측 결과 분석 (1/6) 매 시간 단위마다 0 또는 1의 값을 갖는 데이터가 있다고 가정 해당 시간에 비가 올 경우 1, 비가 오지 않을 경우 0 지난 k일의 기상 기록을 기반으로 내일의 날씨를 예측 다수결의 원칙으로 k일 중, 반 이상이 비가 왔을 경우 내일은 비가 온다고 예측 e.g. 3일간의 데이터가 1, 0, 1일 경우 다음 값은 1이라고 예측 신뢰성 높은 k값을 계산하기 위한 함수를 구현하는 것이 목표 데이터와 k를 입력 받아, 이 때의 오차율을 계산하는 함수 e.g. k가 3일 경우, 7번의 예측 중 3회 오류 발생  오차율=3/7 시간 1 2 3 4 5 6 7 8 9 10 데이터 예측값 NA 결과 X O 2014년 가을학기

확장 예제: 기상데이터 예측 결과 분석 (2/6) 함수 생성 데이터의 길이와 k의 절반 값을 변수에 저장 매개 변수는 데이터 값(x)과 예측에 사용될 k값 데이터의 길이와 k의 절반 값을 변수에 저장 빈번히 사용될 값을 변수에 저장하여, 벡터 생성을 최소화 predict <- function(x, k) { } predict <- function(x, k) { n <- length(x) k2 <- k/2 } 2014년 가을학기

확장 예제: 기상데이터 예측 결과 분석 (3/6) 예측 값이 저장될 벡터 생성 데이터의 누적합을 계산 전체 길이에서 예측하지 않는 기존 데이터 k개는 제외 데이터의 누적합을 계산 cumsum() 함수: 누적합을 계산 첫 번째 인덱스를 고려하여 누적합의 벡터는 0부터 시작하도록 고정 predict <- function(x, k) { n <- length(x) k2 <- k/2 pred <- vector(length=n-k) } predict <- function(x, k) { n <- length(x) k2 <- k/2 pred <- vector(length=n-k) csx <- c(0, cumsum(x)) } 2014년 가을학기

확장 예제: 기상데이터 예측 결과 분석 (4/6) k개의 원소가 시작하는 부분과 끝나는 부분에서 누적합의 차이를 계산 predict <- function(x, k) { n <- length(x) k2 <- k/2 pred <- vector(length=n-k) csx <- c(0, cumsum(x)) for (i in 1:(n-k)) { pred[i] <- ifelse(csx[i+k]-csx[i] >= k2, 1, 0) } 시간 1 2 3 4 5 6 7 8 9 10 데이터 csx pred 2014년 가을학기

확장 예제: 기상데이터 예측 결과 분석 (5/6) 예측값과 실제값을 비교 두 값의 차에 대한 절대값이 1일 경우 오류 abs() 함수: 절대값 계산 따라서 절대값의 평균이 오차율 mean() 함수: 평균 계산 predict <- function(x, k) { n <- length(x) k2 <- k/2 pred <- vector(length=n-k) csx <- c(0, cumsum(x)) for (i in 1:(n-k)) { pred[i] <- ifelse(csx[i+k]-csx[i] >= k2, 1, 0) } return(mean(abs(pred-x[(k+1):n]))) 2014년 가을학기

확장 예제: 기상데이터 예측 결과 분석 (6/6) 적용 결과 결과 값이 3/7 (=0.4285714)임을 확인 2014년 가을학기

과제 #1 기상데이터 예측에서 최소 오차율의 k값 계산 제출 방법 앞의 확장 예제에서 오차율을 계산하는 함수를 다룸 k값이 1부터 length(x)/2의 범위에서 최소 오차율의 k 값을 계산하는 함수 작성 데이터는 임의의 값으로 20개 이상 생성하여 진행 제출 방법 과제는 ssw5176@kangwon.ac.kr로 제출 제목 양식: [학번][이름]HW#1 과제에 사용한 데이터, 함수 실행 과정 및 결과 값을 캡쳐 작성한 함수의 소스코드를 함께 포함하여 제출 제출 기한은 다음 주 수업시간 전까지이며, 그 후에 제출할 경우 20% 감점 2014년 가을학기