2015-01-25 3 views
1

다음 코드를 사용하여 앞에서 설명한 오류가 발생했습니다.'train = trainset, test = testset, cl, k = 1, l = 0, prob = FALSE,'train '과'class '의 길이가 다릅니다.

install.packages("class") 
library("class") 

mydata <- read.table("http://archive.ics.uci.edu/ml/machine-learning-databases/wine-quality/winequality-red.csv", sep=";", header=TRUE); 

index <- 1:nrow(mydata) 
testindex <- sample(index, trunc(length(index)/6)) 
trainset <-mydata[testindex,] 
testset <- mydata[-testindex,] 


cl <- factor(c(rep("quality",3),rep("residual.sugar",3))) 
knn(train = trainset, test = testset, cl, k = 1, l = 0, prob = FALSE, use.all = TRUE) 

알려 주시기 바랍니다.. 솔직히 그와 함께 뭘하는지 아무 생각 나는 'CL'을 설정하는 방법을 변경하여 주시기 바랍니다. 나는 'residual.sugar'

에 따라 '품질'을 분류하기 위해 노력

답변

1

residual.sugar을 기준으로 quality을 분류해야하는 경우 qualitycl 인수입니다.이 내용은 다음 문서에도수록되어 있습니다.

CL은 :

library("class") 

mydata <- read.table("http://archive.ics.uci.edu/ml/machine-learning-databases/wine-quality/winequality-red.csv", sep=";", header=TRUE); 

index <- 1:nrow(mydata) 
testindex <- sample(index, trunc(length(index)/6)) 
trainset <-mydata[testindex,] 
testset <- mydata[-testindex,] 

knn(train = trainset['residual.sugar'], #you only need residual.sugar you said so just use that 
    test=testset['residual.sugar'],  #again test is the residual.sugar 
    cl=as.factor(trainset[['quality']]) , #your cl argument is quality 
    k=1, l=0, prob=F, use.all=T) 

을 전혀 이전 cl를 정의하지 : 교육의 진정한 분류의 요인은 knn 모델을 실행하기 위해 당신이해야 할,

그래서

설정 .

관련 문제