트레이딩의 머신러닝: 이론, 모델, 실전 및 알고리즘 트레이딩 - 페이지 394

 
도서관 :
한 달 동안 무언가를 실행한다면 - 무정전 전원 공급 장치를 사용하여 컴퓨터에 전원을 공급하고 2 계산 후에 어떻게 든 조명을 껐습니다))
그리고 GPU 옵션을 너무 많이 기다리지 마십시오. 코드를 다시 작성하는 데 시간이 더 오래 걸리는 것 같으며 작성자가 하지 않은 경우 다른 사람이 이 작업의 끝에 도달할 가능성은 거의 없습니다.

따라서 작성자는 모든 것을 병렬화했으므로 이제 실행하기만 하면 됩니다. 그래서 3일 동안 최대값을 런칭한 후 9개의 입력이 있는 모델을 얻었습니다. 지금은 솔직히 말해서 기록입니다. 특히 나는 그렇게 오랫동안 최적화하기를 열망하지 않습니다. 그러나 그들이 말했듯이. 시장이 요구합니다. 따라서 전원을 찾고 누군가 옵티마이저에서 데이터 세트를 최적화할 수 있는 기회가 있고 20-30과 같은 코어에서도 매우 감사할 것입니다.
 

마이클 마르쿠카이테스 :

공부 일, 주

분명히 귀하의 알고리즘은 최적이 아닌 온화하게 말하면 준최적인 Knn과 같은 무차별 대입 알고리즘을 안전하게 사용할 수 있다는 것입니다. 알고리즘이 Knn보다 느리게 작동하면 아마도 나쁠 것입니다. ML 알고리즘 또는 잘못 구성되었습니다. 이러한 데이터 세트에서 전체 교육 주기와 전체 세트를 실행하는 데 1초 이상 걸리지 않아야 합니다.
 
팬츄럴 :
분명히 귀하의 알고리즘은 최적이 아닌 온화하게 말하면 준최적인 Knn과 같은 무차별 대입 알고리즘을 안전하게 사용할 수 있다는 것입니다. 알고리즘이 Knn보다 느리게 작동하면 아마도 나쁠 것입니다. ML 알고리즘 또는 잘못 구성되었습니다. 이러한 데이터 세트에서 전체 교육 주기와 전체 세트를 실행하는 데 1초 이상 걸리지 않아야 합니다.

위에서 설명했습니다. 각 사단은 1000 에포크 등으로 훈련됩니다. 뉴런에 대한 일회성 훈련에 막혔습니다. 최적화 프로그램의 핵심은 데이터 세트를 계산하여 적합성에 대해 의문의 여지가 없도록 하는 것입니다. 즉, 그는 비유적으로 말해서 이 파일을 위아래로 비틀고 당신은 여전히 그것을 하나의 뉴런에 대한 일회성 훈련과 비교합니다. 임호. 이것은 본질적으로 뉴런을 훈련하는 것 외에도 모든 종류의 최적화와 전처리가 일어나고 훈련 자체가 수백 번 시작되는 AI 시스템입니다. 혹시라도....
 
마이클 마르쿠카이테스 :

위에서 설명했습니다. 각 사단은 1000 에포크 등으로 훈련됩니다. 뉴런에 대한 일회성 훈련에 막혔습니다. 최적화 프로그램의 핵심은 데이터 세트를 계산하여 적합성에 대해 의문의 여지가 없도록 하는 것입니다. 즉, 그는 비유적으로 말해서 이 파일을 위아래로 비틀고 당신은 여전히 그것을 하나의 뉴런에 대한 일회성 훈련과 비교합니다. 임호. 이것은 본질적으로 뉴런을 훈련하는 것 외에도 모든 종류의 최적화와 전처리가 일어나고 훈련 자체가 수백 번 시작되는 AI 시스템입니다. 혹시라도....
네, 저는 일반적으로 이 모든 훈련에 반대합니다. 하지만 당신의 부대는 분명히 어떤 종류의 넌센스를 생각해 냈습니다. 저도 이해합니다.
 
도서관 :
MLP는 추측의 95 %에서 밝혀졌습니다 ... 당신이 올바른 자전거를 타고 있지 않은 것 같습니다) 불쾌하지 않습니다.

오류가 있습니다.
테이블의 맨 첫 번째 열은 행 번호이며 이 열은 예측에 사용할 수 없지만 어떤 이유로 jPrediction에만 필요합니다.

대상은 행의 전반부가 클래스 0이고 행의 후반부가 클래스 1이도록 분포됩니다. 따라서 뉴런은 행 번호가 228보다 작으면 이것이 클래스 0이고 그렇지 않으면 단순히 기억할 것입니다. 1등급이다.

 
박사 상인 :

오류가 있습니다.
테이블의 맨 첫 번째 열은 행 번호이며 이 열은 예측에 사용할 수 없지만 어떤 이유로 jPrediction에만 필요합니다.

대상은 행의 전반부가 클래스 0이고 행의 후반부가 클래스 1이도록 분포됩니다. 따라서 뉴런은 행 번호가 228보다 작으면 이것이 클래스 0이고 그렇지 않으면 단순히 기억할 것입니다. 1급이다.

그건 그렇고, 그렇습니다. 숫자에 불과한 줄 몰랐습니다.

그것 없이는 유지할 입력: 4,50,53,59,61,64,92,98,101,104,

훈련(60.0%) 세그먼트의 평균 오류 = 0.269(26.9%) nLearns=2 NGrad=7376 NHess=0 NCholesky=0 codResp=2
검증(20.0%) 사이트의 평균 오류 = 0.864(86.4%) nLearns=2 NGrad=7376 NHess=0 NCholesky=0 codResp=2
테스트(20.0%) 영역의 평균 오차 = 0.885(88.5%) nLearns=2 NGrad=7376 NHess=0 NCholesky=0 codResp=2

분명히 과잉입니다. 따라서 입력에 대한 다른 선별 작업을 수행해야 합니다.

입력의 무게로 제거할 수 있습니까? 주제의 첫 번째 게시물에서 작업을 위해 어떻게 했습니까?

여기에 첨부한 R 스크립트를 다시 작성하여 이름과 열 수를 결정하도록 하려고 합니다. 하지만 R에 대한 지식은 충분하지 않습니다.

 
도서관 :

여기에서 이름과 열 수를 결정하도록 첨부한 R 스크립트를 다시 작성하려고 합니다. 하지만 R에 대한 지식은 충분하지 않습니다.


나는 그 당시에 R을 배우기 시작했을 때 스크립트가 거의 완전히 래틀(R의 데이터 마이닝을 위한 시각적 환경)에서 생성되었습니다. 그래서 모든 경우에 대해 매우 복잡하고 조정되었습니다.


이것

crs$ input <- c( "input_1" , "input_2" , "input_3" , "input_4" ,
     "input_5" , "input_6" , "input_7" , "input_8" ,
     "input_9" , "input_10" , "input_11" , "input_12" ,
     "input_13" , "input_14" , "input_15" , "input_16" ,
     "input_17" , "input_18" , "input_19" , "input_20" )

crs$numeric <- c( "input_1" , "input_2" , "input_3" , "input_4" ,
     "input_5" , "input_6" , "input_7" , "input_8" ,
     "input_9" , "input_10" , "input_11" , "input_12" ,
     "input_13" , "input_14" , "input_15" , "input_16" ,
     "input_17" , "input_18" , "input_19" , "input_20" )

로 교체해야 합니다

crs$ input <- colnames(crs$dataset)[-ncol(crs$dataset)]

crs$numeric <- crs$ input

그리고 그것은 정상과 같아야 합니다.


일반적으로 잘못된 접근 방식이 있으며 이러한 방식으로 입력의 중요성을 결정할 필요는 없습니다. 웬일인지 그 당시에는 효과가 있었지만 다시는 도움이되지 않았습니다.

 

예측 변수의 중요성을 다음과 같이 정의하는 것이 좋습니다.

 library (vtreat)

sourceTable <- read.table( "BuySell.csv" , sep= ";" , header = TRUE , stringsAsFactors = FALSE )

#Эта строка кода относится только к конкретно этому файлу.
этом csv первая колонка и первая строка специально заполнены для конкретной модели, и тут не нужны. Удалить.
#для обычных csv файлов такую команду выполнять не нужно.
sourceTable <- sourceTable[- 1 ,- 1 ]

#число колонок
sourceTable_ncol <- ncol(sourceTable)

#Оценка для классификации, только для двух классов.
#Outcometarget должен быть равен значению одного из классов.
#На выбор или эта функция designTreatmentsC, или designTreatmentsN, или designTreatmentsZ (ниже, закоменчены)
#Взаимная корреляция предкиторов учитывается только в designTreatmentsC, и у повторяющихся или похожих предикторов оценка будет понижаться
set.seed( 0 )
treats <- designTreatmentsC(dframe = sourceTable,
                            varlist = colnames(sourceTable)[-sourceTable_ncol],
                            outcomename = colnames(sourceTable)[sourceTable_ncol],
                            outcometarget = 1 ,
                            verbose = FALSE
)

# #оценка для регрессии или если больше двух классов
# sourceTable[,sourceTable_ncol] <- as.numeric(sourceTable[,sourceTable_ncol])
# set.seed( 0 )
# treats <- designTreatmentsN(dframe = sourceTable,
#                             varlist = colnames(sourceTable)[-sourceTable_ncol],
#                             outcomename = colnames(sourceTable)[sourceTable_ncol],
#                             verbose = FALSE
# )

# #Оценка предикторов без учёта цели.
# set.seed( 0 )
# treats <- designTreatmentsZ(dframe = sourceTable,
#                             varlist = colnames(sourceTable)[-sourceTable_ncol],
#                             verbose = FALSE
# )
# 




#табличка только с названием колонки и её оценкой важности
resultTable <- treats$scoreFrame[,c( "varName" , "sig" )]

#сортировка
resultTable <- resultTable[order(resultTable$sig),]

#согласно общему правилу, оценка предиктора (sig) должна быть меньше 1 /<общее число предикторов>
#чем оценка меньше, тем лучше
resultTable$testPassed <- resultTable$sig < 1 /(sourceTable_ncol- 1 )

#для создания модели и прогноза лучше использовать только те предкторы у которых testPassed == TRUE
resultTable
 

중요도 평가 결과는 다음과 같다. 표에서 예측 변수가 높을수록 좋습니다. VVolum6, VDel1, VVolum9, VQST10만 테스트를 통과했습니다.

래틀에서는 이 4개의 예측 변수에 대해 한 번에 6개의 모델을 구축할 수 있으며 SVM은 검증 및 테스트 데이터에서 약 55%의 정확도를 보여줍니다. 나쁘지 않다.

 varName 시그니처 테스트 통과
182 VVolum6_catB 3.220305e-06 참
28 VDel1_catB 1.930275e-03 참
186화
143 VQST10_catB 8.458616e-03 참
126화
23 Del11_catP 2.315340e-02 FALSE
147화
24 Del11_catB 2.429723e-02 FALSE
154화
12 Del5_catP 3.689965e-02 거짓
120화
130화
163화
109 QST2_catB 4.311742e-02 거짓
32 VDel3_catB 4.704981e-02 거짓
11 Del5_lev_x.1 4.725332e-02 거짓
19 Del9_catB 5.316355e-02 거짓
13 Del5_catB 5.472078e-02 거짓
178화
191화
148화
181화
31 VDel3_catP 6.911261e-02 거짓
74 VST11_catB 7.709038e-02 거짓
134화
141화
162 Volum7_catB 9.589108e-02 FALSE
107 QST1_catB 9.589108e-02 거짓
2 Del_catB 1.049703e-01 FALSE
151화 2_catP 1.071203e-01 FALSE
60 ST11_catB 1.076877e-01 거짓
43 VDel10_catP 1.201338e-01 FALSE
184화
121화
38 VDel6_catB 1.479268e-01 거짓
173화
8 Del3_catB 1.703652e-01 거짓
10 Del4_catB 1.755150e-01 거짓
30 VDel2_catB 1.781568e-01 거짓
37 VDel6_catP 1.797087e-01 거짓
1 Del_catP 1.995316e-01 FALSE
112 QST4_catP 2.104902e-01 거짓
15 Del6_catB 2.132517e-01 거짓
27 VDel1_catP 2.313270e-01 거짓
41 VDel9_catP 2.316597e-01 거짓
100 VAD11_catP 2.320692e-01 거짓
144화
123화
145화
104화
160 Volum6_catB 2.776463e-01 FALSE
115 QST6_catP 3.034207e-01 거짓
137화
102 QST_lev_x..100 3.061104e-01 거짓
36 VDel5_catB 3.149911e-01 거짓
99 VAD11_lev_x.0 3.340276e-01 거짓
17 Del7_catB 3.431346e-01 FALSE
16 Del7_catP 3.819094e-01 FALSE
3 Del1_catP 3.912432e-01 FALSE
152화 2020-01-01
44 VDel10_catB 3.965567e-01 거짓
5 Del2_catP 4.363645e-01 거짓
20 Del10_catP 4.409282e-01 FALSE
171화
169화
46 VDel11_catP 4.693330e-01 거짓
86화
187화
132화
14 Del6_catP 5.310502e-01 거짓
124화
177화
150 Volum1_catB 5.552986e-01 FALSE
39 VDel7_catP 5.589613e-01 거짓
185화
59 ST11_catP 5.669251e-01 거짓
188화
21 Del10_catB 5.706515e-01 FALSE
9 Del4_catP 5.708557e-01 거짓
142화
113화
119화
131화
168화
155 Volum4_catP 6.196455e-01 FALSE
170화
180화
87화
153 Volum3_catP 6.641713e-01 FALSE
73 VST11_catP 6.701117e-01 FALSE
172화
183화
55 ST6_catB 6.780044e-01 거짓
42 VDel9_catB 6.925700e-01 거짓
167 Volum11_catP 6.973599e-01 FALSE
179화
125화
146화
101화
25 VDel_catP 7.310211e-01 FALSE
108 QST2_catP 7.426980e-01 거짓
29 VDel2_catP 7.486648e-01 거짓
136화
103 QST_lev_x.0 7.600202e-01 거짓
22 Del11_lev_x.0 7.600202e-01 거짓
47 VDel11_catB 7.619000e-01 거짓
140 VQST9_catP 7.684919e-01 거짓
164화
4 Del1_catB 7.796789e-01 거짓
158 Volum5_catB 7.804397e-01 FALSE
117화
26 VDel_catB 7.904299e-01 거짓
166화
165 Volum10_catP 8.017445e-01 FALSE
6 Del2_catB 8.104867e-01 거짓
190화
45 VDel11_lev_x.0 8.231377e-01 거짓
189화
105 QST_catB 8.431046e-01 FALSE
174화
81화
94 VAD6_catP 8.552222e-01 FALSE
110 QST3_catP 8.560370e-01 FALSE
35 VDel5_catP 8.633955e-01 거짓
122 QST10_catB 8.651814e-01 거짓
18 Del9_catP 8.816989e-01 FALSE
34 VDel4_catB 8.909886e-01 거짓
176화
159화
106 QST1_catP 9.218420e-01 FALSE
133화
70 VST9_catP 9.223350e-01 FALSE
129화
54 ST6_catP 9.371128e-01 거짓
161 권 7_catP 9.634046e-01 FALSE
138화
116 QST6_catB 9.992413e-01 거짓
7 Del3_catP 9.993376e-01 거짓
33 VDel4_catP 9.994999e-01 거짓
40 VDel7_catB 9.995014e-01 거짓
157 Volum5_catP 9.995728e-01 FALSE
156 Volum4_catB 9.995799e-01 FALSE
118화
139화
175화
149 권1_catP 9.996479e-01 FALSE
48화
49 ST1_catB 1.000000e+00 거짓
50 ST2_catB 1.000000e+00 거짓
51 ST3_catB 1.000000e+00 거짓
52 ST4_catB 1.000000e+00 거짓
53 ST5_catB 1.000000e+00 거짓
56 ST7_catB 1.000000e+00 거짓
57 ST9_catB 1.000000e+00 거짓
58화
61 VST_catB 1.000000e+00 거짓
62 VST1_catB 1.000000e+00 거짓
63 VST2_catB 1.000000e+00 거짓
64 VST3_catB 1.000000e+00 거짓
65 VST4_catB 1.000000e+00 거짓
66 VST5_catB 1.000000e+00 거짓
67 VST6_catP 1.000000e+00 거짓
68 VST6_catB 1.000000e+00 거짓
69 VST7_catB 1.000000e+00 거짓
71 VST9_catB 1.000000e+00 거짓
72 VST10_catB 1.000000e+00 거짓
75화
76화
77화
78화
79화
80 AD5_catB 1.000000e+00 거짓
82화
83화
84화
85화
88화
89화
90 VAD2_catB 1.000000e+00 거짓
91화
92화
93화
95화
96화
97화
98화
111화
114화
127화
128화
135화
 
도서관 :
MLP는 추측의 95 %에서 밝혀졌습니다 ... 당신이 올바른 자전거를 타고 있지 않은 것 같습니다) 불쾌하지 않습니다.
나는 또한 내 자신의 자전거를 만들지만 수십 년 동안 입증된 MLP를 기반으로 합니다.


그리고 다시 alglib에서 결정 트리를 시도하면 MLP보다 더 빠르고 정확도가 더 좋은 것으로 간주됩니다. Diplerning은 또한 더 빠르게 계산하지만 더 이상 alglib에 없습니다.

가장 중요한 것은 속도/품질 비율, 계산할 때 일주일, 또는 심지어 하루 또는 심지어 한 시간을 기다리는 요점이 무엇인지 .. 그래서 최적의 조합을 결코 찾을 수 없습니다) 모델은 몇 초 동안 훈련되어야합니다. 그런 다음 유전을 사용하여 매개변수 또는 예측자를 자동 선택하면 이것이 진정한 AI이고 그렇지 않으면 쓰레기입니다)

사유: