일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- KNNImputer
- by oneself
- 회귀분석
- 선형성
- 다중공선성
- sql
- 기본가정
- R
- 엑셀
- disgusting
- 기술통계분석
- 오류
- contrasts can be applied only to factors with 2 or more levels
- 자기상관
- 디시전트리
- post man
- 코딩테스트
- 이변량 분석
- 언어분석
- cook's distance
- VIF
- 워홀
- 전처리
- 등분산검정
- 이상치
- 예측
- 분류
- 정규성
- 등분산성
- 회귀모형
- Today
- Total
목록R (9)
excelsu의 공부 기록 블로그
library(rpart) #모델생성 result0=rpart(y~., data=rawdata, method="anova") ##anova는 연속형 데이터 예측, class는 분류 #시각화 (패키지 사용해 더 잘 그려보기) plot(result0) ; text(result0) ##그래프 그리고 그 위에 분기점 text summary(result0) ##마지막분기의 rel error의데이터 에서 1빼면 예측률 ##파라미터 조정 crtl=rpart.control(minsplit=8, minbucket=4) #최소분기, 오분류 최소기준 result1=rpart(y~., data=rawdata, control=ctrl) plot(result1) ; text(result1) summary(result1) ##가지..
##더미화 dumraw
read.csv(file=choose.files(),header=TRUE, fileEncoding="euc-kr") fileEncoding추가
오류까지는 아니고 회귀분석을 돌리다보면 Residials 밑에 Coefficients항목이 나오는데 거기에서 ~not defined because of singularities이런 오류가 나온다면 아래 변수들 중에 NA표시가 되어있고 계산이 안된 변수들이 숫자 만큼 있을것이다. 이는 변수들간 다중공선성이 의심되는 변수들을 제거한것으로 회귀분석을 돌리기 전 더미변수들중 하나를 빼보거나(n-1) vif, cor를 통해서 다중공선성 검사, 변수간의 상관관계를 체크해보고 제거하고 돌리면 된다.
데이터에 na값없도록하여라~~ data = na.omit(data) #na.action = na.omit추가

이미지 참조 : https://m.blog.naver.com/leedk1110/220775742538 첫째그림 : 잔차vs적합도(잔차산점도)->등분산성확인 (특정 패턴없을시), 선형성 확인(흩어진 형태 무작위,상하 대칭) 둘째그림 : qq-plot -> 정규성확인(대각선 상에 데이터들 존재) 셋째그림 : 표준화 잔차vs적합도->이상치 확인 (기울기0) 넷째그림 : 표준화 잔차vs레버리지-> 레버리지가 1에 가까울수록 이상치, cook's distance 넘어가는데이터 관리
회귀분석을 진행하다가 lm(rawdata$qwe~., data=rawdata) 를 실행했는데 contrasts can be applied only to factors with 2 or more levels 오류가 떴다. 원인은 여러가지가 있는데 한컬럼의 데이터가 전부 같을때 발생한다. 전부 같은데이터인지 확인하기 위해서는 values_count 1]) 으로 확인해 보면 된다. 그래도 해결이 안된다면 na값이 있을때 발생하는 오류이기때문에 na값을 채워주거나 행을 삭제하고 실행하면 된다.. 참고 : https://statisticsglobe.com/r-error-contrasts-applied-to-factors-with-more-levels R Error: contrasts can be applied o..
boxplot(rawdata$col1, rawdata$col2, main="제목", xlab="이름", ylab="이름" , col=c("red","blue"), names=c("col1이름","col2이름")) R에서 2개의 컬럼(숫자) 비교 boxplot(col1~col2, data=df, main="제목", xlab="이름", ylab="이름" , col=c("red","blue"), names=c("col1이름","col2이름")) col1 이 숫자이고 col2가 범주일때 범주별로 묶어서 각 집단의 박스플롯을 그려줌