타이타닉 데이터 분석 1.Gender Class
#Gender-class이므로 우선 성별을 요약해서 본다
summary(train$Sex)
female male
314 577
#성별과 생존자에 대한 비율을 알아내기 위한 명령어를 사용한다
pro.table(table(train$Sex,train$Survived))
0 1
female 0.090909009 0.26150393
male 0.52525253 0.12233446
#생존자 중 남,녀의 합이 같게 하기 위해 비율을 다시 설정한다
pro.table(table(train$Sex,train$Survived),1)
0 1
female 0.2579618 0.7420382
male 0.8110919 0.1889081
#test 변수의 Survived에 0을 대입
test$Survived <- 0="" p="">->
0 1
female 0.2579618 0.7420382
male 0.8110919 0.1889081
#test 변수의 Survived에 0을 대입
test$Survived <- 0="" p="">->
#Survived열에 Sex값이 female인 값만 1을 대입
test$Survived[test$Sex == 'female' ] <- 1="" div="">->
이제는 나이에 대해 알아보면
#나이에 대한 요약을 보면
summary(train$Age)
MIn 1st Qu. Median Mean 3rd Qu. Max Na
0.42 20.12 28.00 29.70 38.00 80 177
*Median 과 Mean의 차이점은 알고가자
Median 은 중앙값이고 Mean은 평균값으로
비슷하지만, 1 2 7 40 50 의 평균은 20이지만 중앙값은 7이다.
#Child라는 열을 만들고 18세 이상은 1을 대입하고 그 아래는 0을 대입한다
train$Child <- 0="" p="">train$Child[train$Age] <- 1="" p="">
#생존자별 아이와 성별에 따른 합->->
aggregate(Survived ~ Child + Sex, data=train, FUN=sum)
Child Sex Survived
1 0 female 195
2 1 female 38
3 0 male 86
4 1 male 23
#생존자의 벡터를 구하는 명령어
aggregate(Survived ~ Child + Sex, data=train, FUN=length)
Child Sex Survived
1 0 female 259
2 1 female 55
3 0 male 519
4 1 male 58
#생존율을 구하는 명령어. FUN에 살아남은 사람/배에 탄 사람
aggregate(Survived ~ Child + Sex, data=train,FUN= function(x) {sum(x)/length(x)})
Child Sex Survived
1 0 female 0.7528958
2 1 female 0.6909091
3 0 male 0.1657033
4 1 male 0.3965517
#Fare 변수를 Fare2에 정리한다.
train$Fare2 <- p="">train$Fare2[train$Fare < 30 & train$Fare >= 20] <- p="">train$Fare2[train$Fare < 20 & train$Fare >= 10] <- p="">train$Fare2[train$Fare < 10] <- p="">
#Fare,Pclass,Sex 별 생존자율을 구하는 명령어이다.
aggregate(Survived ~ Fare2 + Pclass + Sex, data=train, FUN=function(x) {sum(x)/length(x)})
Fare2 Pclass Sex Survived
1 20-30 1 female 0.8333333
2 30+ 1 female 0.9772727
3 10-20 2 female 0.9142857
4 20-30 2 female 0.9000000
5 30+ 2 female 1.0000000
6 <10 0.5937500="" female="" nbsp="" p="">7 10-20 3 female 0.5813953
8 20-30 3 female 0.3333333
9 30+ 3 female 0.1250000
10 <10 0.0000000="" font="" male="" nbsp="">10>
11 20-30 1 male 0.4000000
12 30+ 1 male 0.3837209
13 <10 0.0000000="" font="" male="" nbsp="">10>
14 10-20 2 male 0.1587302
15 20-30 2 male 0.1600000
16 30+ 2 male 0.2142857
17 <10 0.1115385="" font="" male="" nbsp="">10>
18 10-20 3 male 0.2368421
19 20-30 3 male 0.1250000
20 30+ 3 male 0.2400000
R을 통해 각 변수별 생존율에 대해 알아보았다.
위에 빨간색으로 칠한 부분은 test지에 모두 Survived 변수에 0을 대입하고
나머지는 1을 대입할 것이다.
#Survived에 0과 1을 대입한다.
> test$Survived <- 0="" p="">> test$Survived[test$Sex == 'female'] <- 1="" p="">> test$Survived[test$Sex == 'female' & test$Pclass == 3 & test$Fare >= 20] <- 0="" p="">->->->10>->->->->
출처 : http://trevorstephens.com/post/72916401642/titanic-getting-started-with-r
이 분석은 비율 상으로 남자인 생존자가 0.18로 가장 작기 때문에
여자는 살고 남자는 죽었다는 결론을 내린 Gender-Class이다.
제출해보니 0.76555라는 결과 값이 나왔다.
이제는 나이에 대해 알아보면
#나이에 대한 요약을 보면
summary(train$Age)
MIn 1st Qu. Median Mean 3rd Qu. Max Na
0.42 20.12 28.00 29.70 38.00 80 177
*Median 과 Mean의 차이점은 알고가자
Median 은 중앙값이고 Mean은 평균값으로
비슷하지만, 1 2 7 40 50 의 평균은 20이지만 중앙값은 7이다.
#Child라는 열을 만들고 18세 이상은 1을 대입하고 그 아래는 0을 대입한다
train$Child <- 0="" p="">train$Child[train$Age] <- 1="" p="">
#생존자별 아이와 성별에 따른 합->->
aggregate(Survived ~ Child + Sex, data=train, FUN=sum)
Child Sex Survived
1 0 female 195
2 1 female 38
3 0 male 86
4 1 male 23
#생존자의 벡터를 구하는 명령어
aggregate(Survived ~ Child + Sex, data=train, FUN=length)
Child Sex Survived
1 0 female 259
2 1 female 55
3 0 male 519
4 1 male 58
aggregate(Survived ~ Child + Sex, data=train,FUN= function(x) {sum(x)/length(x)})
Child Sex Survived
1 0 female 0.7528958
2 1 female 0.6909091
3 0 male 0.1657033
4 1 male 0.3965517
#Fare 변수를 Fare2에 정리한다.
train$Fare2 <- p="">train$Fare2[train$Fare < 30 & train$Fare >= 20] <- p="">train$Fare2[train$Fare < 20 & train$Fare >= 10] <- p="">train$Fare2[train$Fare < 10] <- p="">
#Fare,Pclass,Sex 별 생존자율을 구하는 명령어이다.
aggregate(Survived ~ Fare2 + Pclass + Sex, data=train, FUN=function(x) {sum(x)/length(x)})
Fare2 Pclass Sex Survived
1 20-30 1 female 0.8333333
2 30+ 1 female 0.9772727
3 10-20 2 female 0.9142857
4 20-30 2 female 0.9000000
5 30+ 2 female 1.0000000
6 <10 0.5937500="" female="" nbsp="" p="">7 10-20 3 female 0.5813953
8 20-30 3 female 0.3333333
9 30+ 3 female 0.1250000
10 <10 0.0000000="" font="" male="" nbsp="">10>
11 20-30 1 male 0.4000000
12 30+ 1 male 0.3837209
13 <10 0.0000000="" font="" male="" nbsp="">10>
14 10-20 2 male 0.1587302
15 20-30 2 male 0.1600000
16 30+ 2 male 0.2142857
17 <10 0.1115385="" font="" male="" nbsp="">10>
18 10-20 3 male 0.2368421
19 20-30 3 male 0.1250000
20 30+ 3 male 0.2400000
R을 통해 각 변수별 생존율에 대해 알아보았다.
위에 빨간색으로 칠한 부분은 test지에 모두 Survived 변수에 0을 대입하고
나머지는 1을 대입할 것이다.
#Survived에 0과 1을 대입한다.
> test$Survived <- 0="" p="">> test$Survived[test$Sex == 'female'] <- 1="" p="">> test$Survived[test$Sex == 'female' & test$Pclass == 3 & test$Fare >= 20] <- 0="" p="">->->->10>->->->->
출처 : http://trevorstephens.com/post/72916401642/titanic-getting-started-with-r
댓글
댓글 쓰기