Windows 7은 아무런 문제가없는 반면 내 우분투 컴퓨터의 성능은 R kmeans
{stats}에서 끔찍합니다.왜 kmeans가 고사양 우분투 컴퓨터에서는 느리지 만 Windows에서는 느리지 않습니까?
X
은 5000 x 5 매트릭스 (수치 변수)입니다.
k
= 6
내 데스크탑 컴퓨터는 인텔 제온 CPU의 W3530의 @입니다 2.80GHz의 × 8 (즉, 8 개 코어) 우분투 12.04.4 LTS (GNU/리눅스 3.2.0-58-일반에게와 델 프리시전 T3500, x86_64)에서 24GB RAM을 지원합니다.
R 버전 3.0.2 (2013년 9월 25일) - "프리즈 항해"저작권 (C) 2013 통계 컴퓨팅 플랫폼에 대한 연구 재단 : x86_64에-PC-리눅스 GNU (64 비트) 인텔 코어 i5-2430M와 윈도우 7 64 비트 노트북 비교
> system.time(X.km <- kmeans(X, centers=k, nstart=25))
user system elapsed
49.763 52.347 103.426
2.40GHz 2 개 코어 8기가바이트 RAM, R 3.0.1, 동일한 데이터 @
> system.time(X.km <- kmeans(X, centers=k, nstart=25))
user system elapsed
0.36 0.00 0.37
훨씬 빨라졌습니다. nstart=1
에 문제가 계속 발생하면 실행 시간을 증폭하려고합니다.
내가 놓친 게 있습니까?
set.seed(101)
k <- 6
n <- as.integer(10)
el.time <- vector(length=n)
X <- matrix(rnorm(25000, mean=0.5, sd=1), ncol=5)
for (i in 1:n) { # sorry, not clever enough to vectorise
el.time[i] <- system.time(kmeans(X, centers=k, nstart=i))[[3]]
}
print(el.time)
plot(el.time, type="b")
내 결과 (우분투 기계) :
> print(el.time)
[1] 0.056 0.243 0.288 0.489 0.510 0.572 0.623 0.707 0.830 0.846
Windows 시스템 :
> print(el.time)
[1] 0.01 0.12 0.14 0.19 0.20 0.21 0.22 0.25 0.28 0.30
#sorry 주석에 따르면 : for 루프 대신에 sapply (1 : n, function (i) system.time (kmeans (X, centers = k, nstart = i)) 본질적으로 동일하므로 성능이 향상되지 않습니다. – tonytonov
또한 Windows 컴퓨터의 결과는 무엇입니까? 내 Windows 타이밍은 우분투에서 나에게 가깝습니다. – tonytonov
감사합니다. @tonytonov. 월요일에 Windows 타이밍으로 업데이트하여 내 책상으로 돌아올 것입니다. –