Data Science 10장
Data Analysis Model
독립변수와 종속변수
input variable, explanatory variable(원인 변수,설명 변수), independent variable
연구자가 의도적으로 변화시키는 변수.
다른 변수에 영향을 주지 않고, 받지 않는 변수.
종속 변수에 영향을 준다.
Outcome variable, target variable, dependent variabel
독립 변수의 변화에 따라 어떻게 변하는지 알고 싶어하는 변수.
ex) IQ에 따른 시험성적을 연구한다고 했을 때, IQ가 독립변수 (" ~ 에 따른 ~~")
여기서 ~가 독립변수, ~~가 종속변수
독립변수가 원인이자 input , 종속 변수가 결과이자 outcome
종속 변수에 따라 데이터 분석은
classification 과 regression
classification : 불연속 사건에 대한 예측
스펨 메일 인가 아닌가 (binary)
암 인가 아닌가 ( Binary)
성적 예측 ( A B C D F)
regression : 연속적인 변수에 대한 예측
주택 가격에 대한 예측
GPA 예측
가장 쉬운 방법은
classification --> majority category
regression --> an average value
Single variabel : 정답을 만드는데 , 하나의 변수만 사용한다.
Multi-variable :여러개의 변수를 이용한다. ( decision tree, k nearest neighbor and Naive Bayes methods)
Classification
Classification with single variable model
(using "adult.RData")
연봉이 50k USD 보다 큰지 예측해 볼 것이다
이때 , predictor 즉 input variable ( independent variable)은 내가 정한다.
(ex . age, education , workcalss ... ) 무엇이 income 에 영향을 주는지 ,,
income이 종속 변수이고,
age, education 등이 독립 변수 이다.
1. RData 가 어떤 변수들로 어떻게 구성되어 있는지 확인한다.
head(adult)
str(adult)
2. runif() , prop.table()
set.seed(x) // 랜덤 넘버를 만들기 위해, seed 설정한다.
runif(x , min , max) // x는 출력되는 난수의 개수이다. min 과 max를 설정하지 않으면 0 - 1 사이에서 난수 발생
prop.table(x, margin) // table elements의 비율을 리턴한다. margin (1 (row) or 2(column)) --> probality 가 아니라 proportion 에서 나온 말인듯
3. Data Preparation (데이터 전처리)
Train set // Derive a data analysis model with train set --> train set 에서 데이터 분석 모델을 만들고, test set에서 테스트한다.
Test set (train 된 후 test 하기 위한 set 이다)
예제 )
set.seed(2020) # set seed for random number
rgroup <- runif(nrow(adult)) # audlt의 row 개수 만큼 random number 를 생성한다. 0과 1 사이의 random number 가 생성되었을 테다.
adult.train <- subset(adult, rgroup <= 0.8) # random 한 원소들 중 80퍼센트만 train set 에 넣는다. 그 때 사용한 함수 subset()
adult.test <- subset(adult, rgroup >0.8) # 나머지를 test set 에 넣는다.
dim(adult.train) # left num is about observation numbers , right one is about num of columns
dim(adult.test)
table(adult.train$income_mt_50k)
prop.table(table(adult.train$income_mt_50k)) #true, false 에 대한 비율을 출력한다. 그래서 인자로 table element를 넣는다.
table(adult.test$income_mt_50k)
prop.table(table(adult.test$income_mt_50k))
4. Train set - Building a Single Variable Model