트레이딩의 머신러닝: 이론, 모델, 실전 및 알고리즘 트레이딩 - 페이지 3260 1...325332543255325632573258325932603261326232633264326532663267...3399 새 코멘트 Forester 2023.09.26 06:37 #32591 Aleksey Vyazmikin #: 15000 * 100 * 4 바이트 / 1024 / 1024 ≈ 5.72 MB 이것이 입력 행렬입니다. 출력은 15000행 각각에 대해 15000행이 됩니다. 다른 모든 예제에서와 마찬가지로 약 1.7Gg입니다(8바이트로 두 배인 경우). Aleksey Vyazmikin 2023.09.26 06:50 #32592 Forester #:이것이 입력 행렬입니다. 출력은 15000개의 행 각각에 대한 15000개의 스트로크가 됩니다. 다른 모든 예제에서와 마찬가지로 각각 약 1.7Gg(더블 8바이트인 경우) 나는 이것이 계산 방식이 아니라는 데 동의합니다. mytarmailS 2023.09.26 06:52 #32593 fxsaber #:지금까지는 간단한 가정용 컴퓨터에서 백만 단위 행렬을 계산하는 데 기술적 장애물은 보이지 않습니다. 하지만 NumPy와 MQL5의 비교는 저에게 매우 중요합니다. 확실하신가요 ? 예를 들어 50,000개의 열/100개의 행이 있는 입력 행렬은 50 ,000 x 50 ,000 x 8바이트/(1024 x 1024 x 1024) = 18.63GB의 상관 행렬을 제공합니다. fxsaber 2023.09.26 07:01 #32594 Maxim Dmitrievsky #:https://drive.google.com/file/d/1ATJkHwUY8jzeRp-rdTsYBeYHor-68EPB/view?usp=share_link input int inRows = 100; // Длина строки input int inCols = 15000; // Количество строк bool IsEqual( matrix<double> &Matrix1, const matrix<double> &Matrix2 ) { Matrix1 -= Matrix2; const bool Res = (MathAbs(Matrix1.Mean()) < 1 e-15); Matrix1 += Matrix2; return(Res); } #define TOSTRING(A) #A + " = " + (string)(A) + " " void OnStart() { double Array[]; Print(FileLoad("qwe\\arr.csv", Array)); // RAM-drive. https://www.mql5.com/ru/forum/86386/page3258#comment_49549438 matrix<double> Matrix; Matrix.Assign(Array); Matrix.Init(inCols, inRows); Matrix = Matrix.Transpose(); ArrayFree(Array); Print(FileLoad("qwe\\matr.csv", Array)); // RAM-drive. https://www.mql5.com/ru/forum/86386/page3258#comment_49549438 matrix<double> Matrix2; Matrix2.Assign(Array); Matrix2.Init(inCols, inCols); Matrix2 = Matrix2.Transpose(); ArrayFree(Array); matrix<double> Matrix1 = CorrMatrix(Matrix); // https://www.mql5.com/ru/forum/86386/page3256#comment_49538685 Print(TOSTRING(IsEqual(Matrix1, Matrix2))); } NumPy 계산 값과 MQL5가 완전히 일치합니다. 1500000 225000000 IsEqual(Matrix1, Matrix2) = true Aleksey Vyazmikin 2023.09.26 07:20 #32595 Forester #:이것이 입력 행렬입니다. 출력은 15000개의 행에 대해 15000개의 스트로크가 됩니다. 다른 모든 예제에서와 마찬가지로 각각 약 1.7Gg(더블 8바이트인 경우) 일반적으로 아쉽게도 파이썬은 int로 작업하는 방법을 모릅니다. 분명히 두 배로 변환합니다. import numpy as np import time def calc_corr_matrix(): arr = np.random.randint(1, 101, size=(15000,100), dtype=np.int32) corr_matrix = np.corrcoef(arr) size_in_mb = corr_matrix.nbytes / 1024**2 print("Array size:", size_in_mb, "MB") return corr_matrix np.random.seed(123) start_time = time.time() corr_matrix = calc_corr_matrix() end_time = time.time() print("Time taken:", end_time - start_time, "seconds") Array size: 1716.61376953125 MB Time taken: 4.62926459312439 seconds Maxim Dmitrievsky 2023.09.26 08:13 #32596 Aleksey Vyazmikin #:일반적으로 아쉽게도 파이썬은 int로 작업하는 방법을 모르기 때문에 이를 두 배로 변환합니다. 스팸성 쓰레기는 그만 보내세요. 정수의 상관관계는 중요하지 않습니다. Aleksey Vyazmikin 2023.09.26 08:16 #32597 Maxim Dmitrievsky #:헛소리는 그만하세요. 인트 단위의 상관관계는 중요하지 않습니다. 미국을 열 필요는 없습니다. 계산하는 것이 일반적이지는 않지만 어떻게 할 수 있는지 생각해 볼 가치가 있습니다. Maxim Dmitrievsky 2023.09.26 08:20 #32598 Aleksey Vyazmikin #:미국은 발견할 필요가 없습니다. 고려하는 것이 일반적이지는 않지만 어떻게 할 수 있는지 생각해 볼 가치가 있습니다. 새 스레드에서 다음 사항을 생각해 보세요. Aleksey Vyazmikin 2023.09.26 08:28 #32599 Maxim Dmitrievsky #:새 스레드에서 정말 많은 사람들 - 나는 그를 위해 시간을 낭비하러 갔고 그는 무례합니다. 도대체 뭐야... Forester 2023.09.26 08:33 #32600 Aleksey Vyazmikin #:미국은 발견할 필요가 없습니다. 고려하는 것이 일반적이지는 않지만 어떻게 할 수 있는지 생각해 볼 가치가 있습니다. 나는 이미 방법을 설명했습니다 - Alglib f-iys (PearsonCorrM에서 호출 된 8 개가 있음)를 가져 와서 데이터 유형을 변경하십시오. 1 바이트 uchar에서도. 4바이트 정수로도 큰 이득은 없습니다. 필요한 경우 직접 해보세요. 1...325332543255325632573258325932603261326232633264326532663267...3399 새 코멘트 사유: 취소 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
15000 * 100 * 4 바이트 / 1024 / 1024 ≈ 5.72 MB
이것이 입력 행렬입니다.
출력은 15000행 각각에 대해 15000행이 됩니다. 다른 모든 예제에서와 마찬가지로 약 1.7Gg입니다(8바이트로 두 배인 경우).
이것이 입력 행렬입니다.
출력은 15000개의 행 각각에 대한 15000개의 스트로크가 됩니다. 다른 모든 예제에서와 마찬가지로 각각 약 1.7Gg(더블 8바이트인 경우)
나는 이것이 계산 방식이 아니라는 데 동의합니다.
지금까지는 간단한 가정용 컴퓨터에서 백만 단위 행렬을 계산하는 데 기술적 장애물은 보이지 않습니다. 하지만 NumPy와 MQL5의 비교는 저에게 매우 중요합니다.
확실하신가요 ?
예를 들어 50,000개의 열/100개의 행이 있는 입력 행렬은 50 ,000 x 50 ,000 x 8바이트/(1024 x 1024 x 1024) = 18.63GB의 상관 행렬을 제공합니다.
https://drive.google.com/file/d/1ATJkHwUY8jzeRp-rdTsYBeYHor-68EPB/view?usp=share_link
NumPy 계산 값과 MQL5가 완전히 일치합니다.
이것이 입력 행렬입니다.
출력은 15000개의 행에 대해 15000개의 스트로크가 됩니다. 다른 모든 예제에서와 마찬가지로 각각 약 1.7Gg(더블 8바이트인 경우)
일반적으로 아쉽게도 파이썬은 int로 작업하는 방법을 모릅니다. 분명히 두 배로 변환합니다.
일반적으로 아쉽게도 파이썬은 int로 작업하는 방법을 모르기 때문에 이를 두 배로 변환합니다.
스팸성 쓰레기는 그만 보내세요. 정수의 상관관계는 중요하지 않습니다.
헛소리는 그만하세요. 인트 단위의 상관관계는 중요하지 않습니다.
미국을 열 필요는 없습니다. 계산하는 것이 일반적이지는 않지만 어떻게 할 수 있는지 생각해 볼 가치가 있습니다.
미국은 발견할 필요가 없습니다. 고려하는 것이 일반적이지는 않지만 어떻게 할 수 있는지 생각해 볼 가치가 있습니다.
새 스레드에서 다음 사항을 생각해 보세요.
새 스레드에서
정말 많은 사람들 - 나는 그를 위해 시간을 낭비하러 갔고 그는 무례합니다.
도대체 뭐야...
미국은 발견할 필요가 없습니다. 고려하는 것이 일반적이지는 않지만 어떻게 할 수 있는지 생각해 볼 가치가 있습니다.
필요한 경우 직접 해보세요.