2017-10-24 1 views
1

텍스트를 클러스터링해야합니다 (러시아어 텍스트의 텍스트 마이닝). 여기에 코드 : 텍스트 마이닝 클러스터를 형성하지 마십시오 R

mydat=read.csv("C:/Users/Admin/Downloads/kr_csv.csv", sep=";",dec=",") 
    View(mydat) 


library("tm") 
library("SnowballC") 
library("textcat") 

corpus=Corpus(VectorSource(mydat)) 

dtm=DocumentTermMatrix(corpus, 
         control=list(stemming=T, stopwords=F, 
         minWorldLenght=3,removeNumbers=T, 
         removePunctuation=T, 
         #stopwords=c(stopwords('SMART')) 
         weighting=function(x) 
          weightTf(x))) 

m<-as.matrix(dtm) 

norm_eucl=function(m) 
    m/apply(m,1,function(x)sum(x^2)^.5) 
m_norm=norm_eucl(m) 

res=kmeans(m_norm,3,100) 

내가 3 클러스터 결정을 선택하고이 오류

Error in sample.int(m, k) : 
    cannot take a sample larger than the population when 'replace = FALSE' 

내가 하나 개 이상의 클러스터를 취할 수 없다는 의미이다를 얻었으나,이 수 없습니다. 여러 클러스터를 추출하려면 어떻게해야합니까? 내가 발견 mydat

> dim(m_norm) 
[1] 1 4298 

head(m_norm, 20) there many docs (all on russian) i copied only part. 
> Docs артикул madc артикул madc ту артикулldvoko  аскуэ аскуэ зао аскуэ зао хакель   асу  асу тп асу тп аскуэ   атх 
    Terms 
Docs  атх ол атх ол ооо  ач csb   аяд  аяд  аяд   базе базе протокола базе протокола hart бандажирования 
    Terms 
Docs бандажирования пучков бандажирования пучков проводов  батарея батарея gp батарея gp в  без без протяжки без протяжки диам 
    Terms 
Docs без протяжки фмм без устройствадля без устройствадля ручного без электропривода без электропривода классгерметичности  белая 
    Terms 
Docs  бирка бирка кабельная бирка кабельная у бирка пластмассовая бирка пластмассовая квадратная   бкп бкп дакж бкп дакж 
    Terms 
Docs  бкра  бкра  бкра благовещенск благовещенский благовещенский арматурный благовещенский арматурный завод  блок 
    Terms 
Docs  блок  блок м блок atx блок atx w блок клапанный блок клапанный метран блок концевых блок концевых переключателей 
+0

당신이 어두워'(m_norm)를 게시 할 수있는 작업 코드를'전처리에 있었고, – missuse

+0

@missuse, i 편집 –

+1

'm_norm'은 문자열의 1 행 4298 열을 가지고 있습니다. k 평균은 지정된 클러스터 수보다 많은 행을 예상합니다 (따라서 오류) – missuse

답변

0

오류가`헤드 (m_norm, 20)`여기

mydat=read.csv("C:/Users/Admin/Downloads/kr_csv.csv", sep=";",dec=",") 

    tw.corpus <- Corpus(VectorSource(mydat$name)) 
    tw.corpus <- tm_map(tw.corpus, stripWhitespace) 
    tw.corpus <- tm_map(tw.corpus, removePunctuation) 
    tw.corpus <- tm_map(tw.corpus, removeNumbers) 
    tw.corpus <- tm_map(tw.corpus, removeWords, stopwords("russian")) 
    tw.corpus = tm_map(tw.corpus, content_transformer(tolower)) 
    tw.corpus = tm_map(tw.corpus, stemDocument) 


doc.m <- DocumentTermMatrix(tw.corpus) 

    dtm_tfxidf<-weightTfIdf(doc.m) 

m<-as.matrix(dtm_tfxidf) 
rownames(m)<-1:nrow(m) 

norm_eucl=function(m) 
    m/apply(m,1,function(x)sum(x^2)^.5) 
m_norm=norm_eucl(m) 


> dim(m_norm) 
[1] 399 860 
관련 문제