# 서론
그냥 해보고 싶어짐
자주 다루던 iris로 하니까 따라할 수 있을 거 같아짐
# 데이터 탐색 및 시각화
summary(iris)를 통해 데이터를 살펴보고
plot()을 활용해 그림도 그려본다
library(caret)
featurePlot(iris[,1:4], iris$Species, "ellpse")
집단 별로 구분 잘시켜주니까 이 함수를 사용하여 시각화하는게 좋지
# 전처리
cbind(as.data.frame(scale(iris[1:4])),iris$Species)
데이터를 정규화 시키고 정규화 과정에서 종이 빠졌으니 cbind 해준다
- PCA 차원감소
너무 feature가 많아서 계산이 힘드니까 어느 것이 분산을 많이 설명해주는지 뽑아야함
근데 나 방금 밥 먹고 기사 신청함 ㅋ
우리는 할 수 있어 그렇게 믿고 있어
princomp()를 이용해 상관계수행렬에 대한 PCA를 수행한다
그리고 결과를 plot해보면
위와 같다
Comp.1 이 전체 분산의 73%정도를 설명하고 Comp.2가 22%정도를 설명한다고 나옴
마지막에 predict 했는데 잘모르겠음 통자처 듣고 싶다
- One Hot Encoding
범주형 자료의 수준이 너무 많으면 문제가 된대서 어떻게 할지 민구형이 알려줌
빈도가 적은 수준들을 하나로 묶거나 가변수를 사용하면 된다하신다
One Hot Encoding은 무엇일까
범주형 자료를 숫자로 변형시는 것을 의미하는듯!!!!!!!!!!
model.matrix(~칼럼, data=)[,-1] 맨 앞 칼럼은 뭐길래 뺐을까;;
- NA 처리
Random Forset는 NA를 처리를 안해줌 그래서 NA자리에 median이나 mean을 취해주는 게 좋다
나는 사고자료 분석할때 na.omit()으로 다 지웠었는데 숫자를 가지는 칼럼에서는
이걸 쓰는게 더 좋을까?
함수 수행시 na.rm=T 를 박아주면 NA를 제외하고 수행한다
DMwR 패키지를 통해 Median이나 가중평균된 값을 박아준다는데
차라리 그냥 인덱스하나씩 반환해서 하는 게 나을 듯 생각도 안날 껄
iris[!complete.cases(data),i]<-median(data[,i],na.rm=T)
아니면 패키지는 여러 컬럼을 다 수행해줄수도 그러면 나는 칼럼을 for로 돌려야겠지
아 오늘 여기까지할래 귀차나 318p에서 변수 선택부터 해라
'발전의 의지 > R프로그래밍' 카테고리의 다른 글
연속형 변수 계급으로 나누고 분할표 그리기 20180320 (0) | 2021.08.26 |
---|---|
시간-속도 사고율 표 검토 20180131 (0) | 2021.08.26 |
plot()을 활용한 콘존별 속도, 교통량 산점도 20180130 (0) | 2021.08.26 |