상황이 이러할 수 있다는 것뿐입니다(직장에서 직접 했고 무슨 말인지 압니다). n 백만 개의 레코드가 있습니다. 입력 벡터의 길이는 수백 개입니다. 클러스터링하고 싶은데 클러스터가 몇 개인지 미리 모릅니다. 모든 알고리즘이 일반 컴퓨터에서 이러한 데이터 배열을 처리할 수 있는 것은 아닙니다. 따라서 먼저 입력 공간을 축소하고 50*50과 같은 그리드를 만듭니다. 인구의 2500명의 전형적인 대표자가 밝혀졌습니다 ... 그러한 배열에서 내 컴퓨터는 agnes(계층적 클러스터링)를 가져옵니다. 만인에 대한 만인의 근접성 매트릭스가 그곳에 건설되고 있습니다 ...
그리고 제가 이 2500개를 10개의 클러스터로 클러스터링한 결과 집계 메트릭이 양호한 것으로 나타났습니다.
상황이 이러할 수 있다는 것뿐입니다(직장에서 직접 했고 무슨 말인지 압니다). n 백만 개의 레코드가 있습니다. 입력 벡터의 길이는 수백 개입니다. 클러스터링하고 싶은데 클러스터가 몇 개인지 미리 모릅니다. 모든 알고리즘이 일반 컴퓨터에서 이러한 데이터 배열을 처리할 수 있는 것은 아닙니다. 따라서 먼저 입력 공간을 축소하고 50*50과 같은 그리드를 만듭니다. 인구의 2500명의 전형적인 대표자가 밝혀졌습니다 ... 그러한 배열에서 내 컴퓨터는 agnes(계층적 클러스터링)를 가져옵니다. 만인에 대한 만인의 근접성 매트릭스가 그곳에 건설되고 있습니다 ...
그리고 제가 이 2500개를 10개의 클러스터로 클러스터링한 결과 집계 메트릭이 양호한 것으로 나타났습니다.
서두르지 마. 클러스터링 방법에 관계없이. 한 번 패스하세요. 몇 가지 관찰을 잘라냅니다. 반복하다. 받은 비교
결과. 앞으로 나아갈 길을 찾으십시오. 그런 다음 "성배"를 만들고 왜 작동하지 않는지 궁금해 할 것입니다.)))
나는 전체 열거를 하려고 생각했는데, 그것들은 처음에 500이었다가 결국 좋은 모델이 5만을 고려할 수 있도록 밝혀질 수 있습니다.
그리고 나는 그들을 내버려 둘 것이다.
막대로 슬라이딩 창을 사용하여 mytarmailS와 같은 패턴을 찾으면 각 패턴은 각 막대에 값이 위치할 수 있는 간격에 대한 정보를 전달합니다. 패턴이 많을수록 각 막대에 더 작은 간격이 할당됩니다.................................
슬라이딩 창에서 데이터를 제출하는 것은 데이터를 제출하는 내 스타일일 뿐이고 좋든 나쁘든 xs, 나는 다른 모든 사람들과 동일하다고 생각합니다 ...
하지만 제가 설명드린 접근 방식과는 아무런 관련이 없습니다...
이 접근 방식을 사용하면 클러스터링을 통해 기존 ML이 가져올 수 없는 유용한 데이터의 몇 퍼센트를 가져올 수 있습니다.
예측자를 네트워크에 공급할 때 안전하게 가져와서(각각) 클러스터링하고 내가 설명한 알고리즘을 통해 실행할 수 있습니다.
대략적으로 말하자면, 새로운 데이터가 있는 특정 창이 이전에 발견된 패턴에 속하려면 각 패턴에 고유한 수직 구분 기호에 속해야 합니다.
글쎄요, 그것은 또한 당신이 모델을 얼마나 훈련시키고 싶은지에 달려 있습니다. 만약 당신이 약하게 훈련한다면, 많은 클러스터를 만들지 않을 것입니다, 그러면 모델의 머리에 있는 수치가 상당히 매끄럽게 될 것이고 당신이 말하는 결점은 이론적으로 사라져야 합니다. ..
이것은 모델이 49개의 클러스터에 포장된 50개 값의 가격 계열을 보는 방법입니다.
코드..
plot(price,t= "l" )
# делаем скользящее окно ( 50 знач) через матрицу хенкеля
hankel <- function(data, r= 50 ) {
do .call(cbind,
lapply( 0 :(r- 1 ),function(i) { data[(i+ 1 ):(length(data)-(r- 1 -i))]}))}
price <- hankel(price)
# скалирую, центрирую, в общем нормализирую каждую строчку в матрице
price <- t(apply(price, 1 ,function(x){scale(x,center = T,scale = T)}))
# запускаем пакет с кластеризацыей, в дан. случ с кохоненом
# хорошый мануал
#https: //cran.r-project.org/web/packages/SOMbrero/vignettes/doc-numericSOM.html
install.packages( "SOMbrero" )
library (SOMbrero)
# тренируем модель, с матрицей 7 х 7 те 49 кластеров
model <- trainSOM(price, dimension=c( 7 , 7 ), verbose=T)
plot(model,what= "prototypes" ,type= "lines" ,print.title=T)
글쎄요, 그것은 또한 당신이 모델을 얼마나 훈련시키고 싶은지에 달려 있습니다. 만약 당신이 약하게 훈련한다면, 많은 클러스터를 만들지 않을 것입니다, 그러면 모델의 머리에 있는 수치가 상당히 매끄럽게 될 것이고 당신이 말하는 결점은 이론적으로 사라져야 합니다. ..
이것은 모델이 49개의 클러스터에 포장된 50개 값의 가격 계열을 보는 방법입니다.
코드..
plot(price,t= "l" )
# делаем скользящее окно ( 50 знач) через матрицу хенкеля
hankel <- function(data, r= 50 ) {
do .call(cbind,
lapply( 0 :(r- 1 ),function(i) { data[(i+ 1 ):(length(data)-(r- 1 -i))]}))}
price <- hankel(price)
# скалирую, центрирую, в общем нормализирую каждую строчку в матрице
price <- t(apply(price, 1 ,function(x){scale(x,center = T,scale = T)}))
# запускаем пакет с кластеризацыей, в дан. случ с кохоненом
# хорошый мануал
#https: //cran.r-project.org/web/packages/SOMbrero/vignettes/doc-numericSOM.html
install.packages( "SOMbrero" )
library (SOMbrero)
# тренируем модель, с матрицей 7 х 7 те 49 кластеров
model <- trainSOM(price, dimension=c( 7 , 7 ), verbose=T)
plot(model,what= "prototypes" ,type= "lines" ,print.title=T)
에. 저도 오래 했습니다. 코호넨은 흥미로운 것입니다. 그러나 그것을 클러스터링 알고리즘이라고 부르는 것은 옳지 않다는 것을 기억하십시오. 이것은 컨볼루션 알고리즘입니다. 그런 다음 결과 2차원 공간에서 클러스터링이 수행됩니다.
감사하다 ! 몰랐다.
그러나 모델의 출력을 클러스터로 사용할 수 있습니까? 아니면?
[ 1 ] 7 7 7 7 7 7 7 7 6 6 6 5 5 4 4 3 3 2 2 1 1 1 1 1 8 15 15 22 22 29 36
[ 32 ] 43 43 43 43 43 43 43 44 44 45 45 45 46 46 46 46 47 47 47 47 48 48 48 49 42 35 35 28 28 21 21
[ 63 ] 21 21 21 21 21 21 21 21 21 14 14 14 7 7 7 7 7 7 7 6 5 4 3 3 2 1 1 1 1 1 1
[ 94 ] 8 8 15 22 22 29 36
감사하다 ! 몰랐다.
그러나 모델의 출력을 클러스터로 사용할 수 있습니까? 아니면?
[ 1 ] 7 7 7 7 7 7 7 7 6 6 6 5 5 4 4 3 3 2 2 1 1 1 1 1 8 15 15 22 22 29 36
[ 32 ] 43 43 43 43 43 43 43 44 44 45 45 45 46 46 46 46 47 47 47 47 48 48 48 49 42 35 35 28 28 21 21
[ 63 ] 21 21 21 21 21 21 21 21 21 14 14 14 7 7 7 7 7 7 7 6 5 4 3 3 2 1 1 1 1 1 1
[ 94 ] 8 8 15 22 22 29 36
예, 물론 할 수 있습니다 ... 실제로 이러한 세포에서 유사한 벡터의 집합입니다.
상황이 이러할 수 있다는 것뿐입니다(직장에서 직접 했고 무슨 말인지 압니다). n 백만 개의 레코드가 있습니다. 입력 벡터의 길이는 수백 개입니다. 클러스터링하고 싶은데 클러스터가 몇 개인지 미리 모릅니다. 모든 알고리즘이 일반 컴퓨터에서 이러한 데이터 배열을 처리할 수 있는 것은 아닙니다. 따라서 먼저 입력 공간을 축소하고 50*50과 같은 그리드를 만듭니다. 인구의 2500명의 전형적인 대표자가 밝혀졌습니다 ... 그러한 배열에서 내 컴퓨터는 agnes(계층적 클러스터링)를 가져옵니다. 만인에 대한 만인의 근접성 매트릭스가 그곳에 건설되고 있습니다 ...
그리고 제가 이 2500개를 10개의 클러스터로 클러스터링한 결과 집계 메트릭이 양호한 것으로 나타났습니다.
예, 물론 할 수 있습니다 ... 실제로 이러한 세포에서 유사한 벡터의 집합입니다.
상황이 이러할 수 있다는 것뿐입니다(직장에서 직접 했고 무슨 말인지 압니다). n 백만 개의 레코드가 있습니다. 입력 벡터의 길이는 수백 개입니다. 클러스터링하고 싶은데 클러스터가 몇 개인지 미리 모릅니다. 모든 알고리즘이 일반 컴퓨터에서 이러한 데이터 배열을 처리할 수 있는 것은 아닙니다. 따라서 먼저 입력 공간을 축소하고 50*50과 같은 그리드를 만듭니다. 인구의 2500명의 전형적인 대표자가 밝혀졌습니다 ... 그러한 배열에서 내 컴퓨터는 agnes(계층적 클러스터링)를 가져옵니다. 만인에 대한 만인의 근접성 매트릭스가 그곳에 건설되고 있습니다 ...
그리고 제가 이 2500개를 10개의 클러스터로 클러스터링한 결과 집계 메트릭이 양호한 것으로 나타났습니다.
수동 https://cran.r-project.org/web/packages/SOMbrero/vignettes/doc-numericSOM.html 에서
장에서
결과 SOM에서 슈퍼 클래스 만들기
그냥 당신이 말하는 것
시장이 무엇인지 알고 싶은 사람들을 위해..
오래된 영상부터 새로운 영상까지....
https://www.youtube.com/channel/UCsdK6s9i_I0NEMvis6wXhnQ/featured
어렵지 않은데 프로그래밍을 하려면? 아직까지는 정말 불가능해요...
MO 또는 그냥 코드에 대한 이러한 접근 방식을 코딩하는 방법을 논의할 것을 제안
R 언어 및 새로운 MetaTrader 5 빌드 1467에 대한 정보:
MQL5의 통계 분포 - R을 최대한 활용하고 더 빠르게 수행
다음 버전에서는 R과 유사한 새로운 수학 및 통계 기능이 많이 추가되어 MetaTrader 5에서 더 많은 계산과 시각화를 직접 수행할 수 있습니다.MetaQuotes-Demo 서버에서 1467로 업그레이드할 수 있습니다.