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

 
mytarmailS :

글쎄, 끝에 " Y "에 NA 를 추가하는 대신 NA 를 삭제하면 SomeData의 마지막 줄을 가져와서 삭제하면 동일하지 않을까요?

차이점을 잘 이해하지 못하겠습니다. 이미 완전히 과열되었을 수 있습니다((

절대적으로 동일합니다. 나는 그것을하지 않고 당신의 솔루션을 이해하지 못합니다.
 
mytarmailS :
안타까운건 아니지만 방법을 모르겠어 이미 몇 번이나 시도했는지 안 돼 나만의 방식으로 해봐 내가 어떤 타겟을 했는지 알잖아 그리고 어떻게 하는지 써봐 그것
아무 패커로 모든 것을 포장하고 파일을 첨부하십시오.
 
산산이치 포멘코 :
아무 패커로 모든 것을 포장하고 파일을 첨부하십시오.

예, 여러 번 시도했지만 작동하지 않고 포럼에서 버리고 그게 다입니다 ...

내 코드를 가져 와서 모든 것을 게시했습니다. 첫 번째 코드는 기능 생성이고 두 번째는 모델 교육입니다. 똑같은 작업을 수행하고 일어난 일을 보여줍니다.

 
mytarmails :

예, 여러 번 시도했지만 작동하지 않습니다. 포럼에서 버리고 그게 다입니다 ...

내 코드를 가져 와서 모든 것을 게시했습니다. 첫 번째 코드는 기능 생성이고 두 번째는 모델 교육입니다. 똑같은 작업을 수행하고 일어난 일을 보여줍니다.

확인. 순리에 맡기다. 나는 내 것을 시도 할 것입니다. 내일
 
mytarmails :

미분할 때 시프트는 자동으로 진행됩니다. 계열이 하나의 요소만큼 짧아지기 때문에 필요한 것은 마지막 요소만큼 표본(관측값이 있는 테이블)을 줄이는 것뿐입니다.

코드에서 두 가지 사항에 대해 우려하고 있습니다.

1) ohlc는 예측에 사용되기 때문에 맨 마지막 막대는 예측에 사용할 수 없습니다. 왜냐하면 우리는 막대의 시작 부분에서 예측을 할 것이고 hlc는 전체 막대의 수명 동안 변경될 것이기 때문입니다. 우리는 완전히 형성된 마지막 막대를 사용하여 모델을 훈련한 다음 비형성된 막대를 사용하여 실생활에서 예측합니다. 이것은 불가능합니다. 대상은 1이 아니라 2바만큼 이동해야 합니다.
고가, 저가, 종가는 무시하고 예측에 공개 가격만 사용하는 경우 1바의 목표 이동이 허용됩니다.

2) 목적상 Open 대신 Close가 사용됩니다. 어떤 종류의 전략에 중요합니까, 아니면 그냥 당연하게 여겨집니까? 결국, 우리는 일반적으로 막대의 시작 부분에서 거래를 시작하고 다음 새 막대 에서 뒤집거나 떠나거나 종료합니다. 그리고 훈련된 모델의 경우 현재 오픈부터 다음 오픈까지 가격 상승을 예측하는 것이 중요합니다.
현재 막대의 마감이 다음 막대의 시작과 반드시 일치하는 것은 아닙니다. 즉, 첫 번째 오류를 제거했지만 대가로 잘못된 이득을 얻었을 수 있습니다. 방금 살펴보니 가격표의 종가는 일반적으로 다음 바의 시가와 일치하지 않으므로 목표 값이 매우 의심스럽습니다.

촛대가 다시 그려지면 이 문제를 해결해야 합니다.
슬라이딩 창, 처음 100개의 막대(100은 임의의 숫자, 코드의 경우 최소 막대 수 = 23, 이보다 작으면 촛대에서 오류 발생)를 선택하고 표시기 값을 찾고 그 중 가장 최근에 해당하는 대상을 찾고 이 모든 것을 최종 테이블에 추가합니다. 창을 1마디 앞으로 이동하고 반복합니다. 이 모든 것이 한 번에 모두 복용하는 것보다 수십 배 느리지만 더 안정적입니다. 그런 다음 두 결과를 비교하여 결론과 다시 그리기의 유무를 확인할 수 있습니다.

슬라이딩 창의 크기를 변경하고 결과가 변경되는지 확인하는 것도 좋을 것입니다. 변경되면 표시기는 자체 이전 값을 사용하여 새 값을 계산합니다. 이 경우 창의 너비는 표시기 자체 내에서 지수 기간처럼 작동합니다. 결과가 변경되면 결과 변경이 중지될 때까지 창 너비를 늘려야 합니다. 표시기 내부에는 사용되는 막대 수에 대한 내부 제한이 있을 수 있습니다. 예를 들어 mt5의 지그재그 값은 100개입니다. 즉, 창 너비가 100개를 초과해도 결과에 영향을 미치지 않습니다 .

시작하려면 이 코드를 사용하여 교육/테스트 테이블을 만드십시오. 테이블의 결과와 비교하여 모든 것이 100% 일치하면 다시 그리기가 없고 이전 값을 사용하여 새 값을 결정하며 촛대를 신뢰할 수 있습니다.
그런 다음, 슬라이딩 창의 너비인 indicatorDepth를 늘리십시오. 이것이 결과를 변경하는지 확인하고, 더 크게 증가해도 결과에 영향을 미치지 않을 때 이러한 indicatorDepth 값을 찾을 수 있는지 여부를 확인하십시오.

if (!require(quantmod)){ install.packages( "quantmod" , dependencies = TRUE); library(quantmod) }
if (!require(rusquant)){ install.packages( "rusquant" , repos= "http://r-forge.r-project.org" , dependencies = TRUE); library(rusquant) }
if (!require(candlesticks)){ install.packages( "candlesticks" , repos= "http://r-forge.r-project.org" , dependencies = TRUE); library(candlesticks) }


tryCatch({
  load( "SPFB.RTS.rdata" )
}, error = function(e){
  getSymbols( "SPFB.RTS" , src = "Finam" , period= "5min" , from = Sys.Date()- 500 )
  save(SPFB.RTS, finam.stock.list, file = "SPFB.RTS.rdata" )
  SPFB.RTS <<- SPFB.RTS
  finam.stock.list <<- finam.stock.list
})

chart_Series(tail(SPFB.RTS, 100 ))


indicatorDepth <- 23

tryCatch({
  load( "trainData.rdata" )
}, error=function(e){
  trainData <<- matrix(NA, ncol= 60 , nrow = nrow(SPFB.RTS)- 2 )
   for (i in (indicatorDepth+ 1 ):(nrow(SPFB.RTS)- 2 )){
    X1  <- as .numeric(tail(CandleBodyLength(SPFB.RTS[max( 1 , i-indicatorDepth):i,]), 1 ))
    X2  <- as .numeric(tail(CandleLength(SPFB.RTS[max( 1 , i-indicatorDepth):i,]), 1 ))
    X3  <- as .numeric(tail(CSPDarkCloudCover(SPFB.RTS[max( 1 , i-indicatorDepth):i,]), 1 ))
    X4  <- as .numeric(tail(CSPDoji(SPFB.RTS[max( 1 , i-indicatorDepth):i,]), 1 ))
    X5  <- as .numeric(tail(CSPEngulfing(SPFB.RTS[max( 1 , i-indicatorDepth):i,]), 1 ))
    X6  <- as .numeric(tail(CSPGap(SPFB.RTS[max( 1 , i-indicatorDepth):i,]), 1 ))
    X7  <- as .numeric(tail(CSPHammer(SPFB.RTS[max( 1 , i-indicatorDepth):i,]), 1 ))
    X8  <- as .numeric(tail(CSPHarami(SPFB.RTS[max( 1 , i-indicatorDepth):i,]), 1 ))
    X9  <- as .numeric(tail(CSPInsideDay(SPFB.RTS[max( 1 , i-indicatorDepth):i,]), 1 ))
    X10 <- as .numeric(tail(CSPInvertedHammer(SPFB.RTS[max( 1 , i-indicatorDepth):i,]), 1 ))
    X11 <- as .numeric(tail(CSPKicking(SPFB.RTS[max( 1 , i-indicatorDepth):i,]), 1 ))
    X12 <- as .numeric(tail(CSPLongCandle(SPFB.RTS[max( 1 , i-indicatorDepth):i,]), 1 ))
    X13 <- as .numeric(tail(CSPLongCandleBody(SPFB.RTS[max( 1 , i-indicatorDepth):i,]), 1 ))
    X14 <- as .numeric(tail(CSPMarubozu(SPFB.RTS[max( 1 , i-indicatorDepth):i,]), 1 ))
    X15 <- as .numeric(tail(CSPNHigherClose(SPFB.RTS[max( 1 , i-indicatorDepth):i,],N = 3 ), 1 ))
    X16 <- as .numeric(tail(CSPNLowerClose(SPFB.RTS[max( 1 , i-indicatorDepth):i,],N = 3 ), 1 ))
    X17 <- as .numeric(tail(CSPOutsideDay(SPFB.RTS[max( 1 , i-indicatorDepth):i,]), 1 ))
    X18 <- as .numeric(tail(CSPPiercingPattern(SPFB.RTS[max( 1 , i-indicatorDepth):i,]), 1 ))
    X19 <- as .numeric(tail(CSPShortCandle(SPFB.RTS[max( 1 , i-indicatorDepth):i,]), 1 ))
    X20 <- as .numeric(tail(CSPShortCandleBody(SPFB.RTS[max( 1 , i-indicatorDepth):i,]), 1 ))
    X21 <- as .numeric(tail(CSPStar(SPFB.RTS[max( 1 , i-indicatorDepth):i,]), 1 ))
    X22 <- as .numeric(tail(CSPStomach(SPFB.RTS[max( 1 , i-indicatorDepth):i,]), 1 ))
    X23 <- as .numeric(tail(CSPTasukiGap(SPFB.RTS[max( 1 , i-indicatorDepth):i,]), 1 ))
    X24 <- as .numeric(tail(CSPThreeInside(SPFB.RTS[max( 1 , i-indicatorDepth):i,]), 1 ))
    X25 <- as .numeric(tail(CSPThreeMethods(SPFB.RTS[max( 1 , i-indicatorDepth):i,]), 1 ))
    X26 <- as .numeric(tail(CSPThreeOutside(SPFB.RTS[max( 1 , i-indicatorDepth):i,]), 1 ))
    X27 <- as .numeric(head(tail(nextCandlePosition(SPFB.RTS[max( 1 , i-indicatorDepth):i,]), 2 ), 1 ))
    X28 <- as .numeric(tail(TrendDetectionChannel(SPFB.RTS[max( 1 , i-indicatorDepth):i,]), 1 ))
    X29 <- as .numeric(tail(TrendDetectionSMA(SPFB.RTS[max( 1 , i-indicatorDepth):i,]), 1 ))
    target <- as .numeric(SPFB.RTS[i+ 2 , "SPFB.RTS.Open" ]) - as .numeric(SPFB.RTS[i+ 1 , "SPFB.RTS.Open" ])
    trainData[i,] <<- c(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,X18,X19,X20,X21,X22,X23,X24,X25,X26,X27,X28,X29,target)
    cat(i, "/" , nrow(SPFB.RTS)- 2 , "\n" )
  }
  colnames(trainData)[-ncol(trainData)] <- paste0( "pred" , 1 :(ncol(trainData)- 1 ))
  colnames(trainData)[ncol(trainData)] <- "target"
  save(trainData, file= "trainData.rdata" )
})

# trainData <- trainData[-( 1 :indicatorDepth),]
 
Dr.Trader :

코드에서 두 가지 사항이 염려됩니다.

1) ohlc는 예측에 사용되기 때문에 맨 마지막 막대는 예측에 사용할 수 없습니다. 왜냐하면 우리는 막대의 시작 부분에서 예측을 할 것이고 hlc는 전체 막대의 수명 동안 변경될 것이기 때문입니다. 우리는 완전히 형성된 마지막 막대를 사용하여 모델을 훈련시킨 다음, 형성되지 않은 막대를 사용하여 실생활에서 예측한다는 것이 밝혀졌습니다. 이것은 불가능합니다. 대상은 1이 아니라 2바만큼 이동해야 합니다.
고가, 저가, 종가는 무시하고 예측에 공개 가격만 사용하는 경우 1바의 목표 이동이 허용됩니다.

나는 문제를 이해하지 못한다, 우리는 이전 종가에 상대적인 현재 종가의 위치를 예측한다, 우리는 현재 종가를 모른다, 우리는 그것이 이미 종가이기 때문에 이전 종가를 안다, 그것이 바로 이전 종가인 이유, 모든 OHLC 가격이 이미 형성되었습니다, 나는 그것이 무엇인지 이해하지 못합니다 경계, 무엇이 잘못되었습니다

2) Open 대신 Close를 사용합니다. 어떤 종류의 전략에 중요합니까, 아니면 그냥 당연하게 여겨집니까? ........

속도와 편의성을 위해 완전히 그대로

촛대를 다시 그리면 우회해야합니다 .......

나는 이 조각을 이해하지 못한다, 그것은 무엇을 하는가? SPFB.RTS.rdata는 무엇입니까?

그녀는 어디에서 왔습니까? 그러면 왜 덮어쓰게 됩니까? 전혀 명확하지 않습니다((


tryCatch({
  load( "SPFB.RTS.rdata" )
}, error = function(e){
  getSymbols( "SPFB.RTS" , src = "Finam" , period= "5min" , from = Sys.Date()- 500 )
  save(SPFB.RTS, finam.stock.list, file = "SPFB.RTS.rdata" )
  SPFB.RTS <<- SPFB.RTS
  finam.stock.list <<- finam.stock.list
})

그리고 가장 중요한 것은 아마도 수신된 데이터에 대해 무언가를 훈련시키려고 했을 것입니다. 왜 그것에 대해 한 마디도 하지 않겠습니까? 결과를 공유

 
mytarmailS :

그리고 가장 중요한 것은 아마도 수신된 데이터에 대해 무언가를 훈련시키려고 했을 것입니다. 왜 그것에 대해 한 마디도 하지 않겠습니까? 결과를 공유

수련판 생성 진행은 55857중 16527입니다. 생성되는대로 가르쳐 보도록 하겠습니다.

mytarmailS :

이전 종가에 대한 현재 종가의 위치 예측

그게 당신의 일입니다. 일반적으로 전략에서 그들은 새로운 바 의 시작 부분에서 결정을 내리고 거래를 엽니다.
그런 다음 예측을 하고 막대 끝에서 거래를 시작해야 합니다. 다소 불편한 점은 터미널의 새로운 바가 잡기 쉽습니다. 그러나 "현재 종가가 이미 최종 가격이라는 희망을 가지고 새로운 바가 열리기 1초 전에 현재 바의 끝에서 거래를 시작하는 것"은 나에게 너무 모호합니다.

mytarmailS :

나는 이 조각을 이해하지 못한다, 그것은 무엇을 하는가? SPFB.RTS.rdata는 무엇입니까?

다운로드된 인용문. 이 스크립트가 실행될 때마다 Finam이 더듬거리지 않고 다운로드될 때까지 1초도 기다리지 않도록 다운로드하고 rdata에 저장합니다. 그리고 이전에 이미 다운로드되어 rdata 파일에 저장되어 있는 경우 파일에서 가져옵니다.

 
트레이더 박사 :

감사해요

 
Dr.Trader :

코드에서 두 가지 사항에 대해 우려하고 있습니다.

1) ohlc는 예측에 사용되기 때문에 맨 마지막 막대는 예측에 사용할 수 없습니다. 왜냐하면 우리는 막대의 시작 부분에서 예측을 할 것이고 hlc는 전체 막대의 수명 동안 변경될 것이기 때문입니다. 우리는 완전히 형성된 마지막 막대를 사용하여 모델을 훈련한 다음 비형성된 막대를 사용하여 실생활에서 예측합니다. 이것은 불가능합니다. 대상은 1이 아니라 2바만큼 이동해야 합니다.
고가, 저가, 종가는 무시하고 예측에 공개 가격만 사용하는 경우 1바의 목표 이동이 허용됩니다.

2) 목적상 Open 대신 Close가 사용됩니다. 그것은 어떤 종류의 전략에 중요합니까, 아니면 그렇게 취합니까? 결국, 우리는 일반적으로 막대의 시작 부분에서 거래를 시작하고 다음 새 막대 에서 뒤집거나 떠나거나 종료합니다. 그리고 훈련된 모델의 경우 현재 오픈부터 다음 오픈까지 가격 상승을 예측하는 것이 중요합니다.
현재 막대의 마감이 다음 막대의 시작과 반드시 일치하는 것은 아닙니다. 즉, 첫 번째 오류를 제거했지만 대가로 잘못된 이득을 얻었을 수 있습니다. 방금 살펴보니 가격표의 종가는 일반적으로 다음 바의 시가와 일치하지 않아 목표 값이 매우 의심스럽습니다.

나는 당신이 일을 복잡하게 만드는 것을 넘어서고 있다고 생각합니다.

1. 첫 번째 문제는 두 번째 문제와 밀접한 관련이 있습니다. Close를 목표로 사용하면 다른 세 가지 가격이 모두 형성되고 변경되지 않습니다. 한 걸음 전진을 예측할 때는 목표물을 1칸 움직여야 합니다.

2. 나는 또한 종가와 시가의 차이에 대한 귀하의 주장을 받아들일 수 없습니다. 이것은 어떤 TF 또는 요일에 있습니다. H1을 선택하면 세 가지 옵션이 있습니다.

  • 이 값이 같거나 몇 핍 차이가 나는 일반적인 경우입니다. 우리는 이익의 몇 퍼센트를 가져가려고 합니까?
  • 쉽게 100핍이 될 수 있는 갭의 경우. 닫기와 열기 사이에 필수 사항입니까? 10월 7일, 시간이 끝나기 몇 분 전에 광란의 움직임이 있었습니다.
  • 금요일에서 월요일로의 전환. 따라서 이것은 별도의 경우입니다.

이것이 바로 떠오른 것입니다. 그리고 더 많은 상황이 있을 수 있습니다. 그들은 모두 실제 거래가 모델과 매우 다르다고 말합니다. 현재로서는 이상적인 버전에 초점을 맞추고 나머지 준설선과 나머지를 별도로 프로그래밍하는 것이 더 유용합니다.

3. 다시 그리기에 대해.

신성한 소 TA. 그것은 수세기 동안 일종의 흔들리지 않는 진실로 간주됩니다.

그리고 무슨 근거로?

ANALYSIS에 관련된 모든 전문가에게 과거에 대한 획기적인 결론을 도출하는 데이터를 변경하는 것은 허용되지 않습니다. 다시 한번: 과거는 용납될 수 없기 때문입니다.

우리는 예측에 종사하고 있으며 과거에 대한 우리의 관점은 새로 수신된 데이터를 기반으로 변경될 수 있을 뿐만 아니라 변경되어야 합니다. 다시 그리지 않는 데이터에는 대가가 있습니다: 지연.

여기에 시장 반전의 예고인 새로운 막대가 있습니다. 그러나 우리는 계속해서 신성한 소에게 먹이를 주면서도 "분석" 섹션에서 가져온 몇 가지 아이디어를 위해 역사에 대한 관점을 바꾸지 않습니다.

지표 변경을 두려워하지 마십시오.

새로운 바가 들어왔습니다. 그리고 그가 도착하면 이 새로운 바가 만든 조건에서 결정을 내려야 합니다. 최소한의 오차로 다음 예측까지 미래를 예측해야 합니다. 나는 역사상 지표 유형의 변화와 예측 오차의 크기를 연결하는 출판물을 본 적이 없습니다.

이 모든 것은 이론적인 이야기입니다. 모델을 구축하고 평가를 받아야 합니다. 나는 무엇을 할 것인가

 

5000 가격의 작은 날짜 세트를 만들었습니다.

스크립트가 제대로 작동하지 않습니다

모든 것이 경고를 받았을 때

....
....
....
5677 / 5688
5678 / 5688
5679 / 5688
5680 / 5688
5681 / 5688
5682 / 5688
5683 / 5688
5684 / 5688
5685 / 5688
5686 / 5688
5687 / 5688
5688 / 5688
Warning message:
In readChar(con, 5L, useBytes = TRUE) :
  cannot open compressed file 'trainData.rdata', probable reason 'No such file or directory'

데이터 자체

head(trainData)
     < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA >
[1,]   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA
[2,]   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA
[3,]   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA
[4,]   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA
[5,]   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA
[6,]   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA
     < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA >
[1,]   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA
[2,]   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA
[3,]   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA
[4,]   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA
[5,]   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA
[6,]   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA
     < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA >
[1,]   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA
[2,]   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA
[3,]   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA
[4,]   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA
[5,]   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA
[6,]   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA   NA
     < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA > target
[1,]   NA   NA   NA   NA   NA   NA   NA   NA     NA
[2,]   NA   NA   NA   NA   NA   NA   NA   NA     NA
[3,]   NA   NA   NA   NA   NA   NA   NA   NA     NA
[4,]   NA   NA   NA   NA   NA   NA   NA   NA     NA
[5,]   NA   NA   NA   NA   NA   NA   NA   NA     NA
[6,]   NA   NA   NA   NA   NA   NA   NA   NA     NA


tail(trainData)
                 < NA > < NA >          < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA >
[5683,] 8.621061e-05   10 0.0016378604  190    0    1    0    0    0    0    0    0    0
[5684,] 6.036304e-04   70 0.0010346611  120    0    0    0    0    0    1    0    0    0
[5685,] 1.208355e-03  140 0.0018122977  210    0    0    0    0    0    0    0    0    0
[5686,] 6.911447e-04   80 0.0019009764  220    0    0    0    0    0    0    0    0    0
[5687,] 2.592577e-04   30 0.0007778402   90    0    0    0    0    0    0    0    0    0
[5688,] 9.501188e-04  110 0.0016415396  190    0    0    0    0    0    0    0    0    0
         < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA >
[5683,]    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0    0
[5684,]    0    0    1    0    0    0    0    0    0    1    0    0    0    0    0    0
[5685,]    0    0    0    0    0    0    0    1    0    1    0    0    0    0    0    0
[5686,]    0    0    0    0    0    0    0    1    0    1    0    0    0    1    0    0
[5687,]    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0
[5688,]    0    0    0    0    0    0    1    0    1    0    0    0    0    0    1    0
         < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA >
[5683,]    0    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0
[5684,]    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0    0
[5685,]    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    1
[5686,]    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
[5687,]    1    0    1    0    0    0    0    0    0    0    0    0    0    0    0    0
[5688,]    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0    0
         < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA > < NA > target
[5683,]   NA   NA   NA   NA   NA   NA    0    1    0    0    0    0    1   -1    -70
[5684,]   NA   NA   NA   NA   NA   NA    0    1    0    0    0    0    1   -1   -140
[5685,]   NA   NA   NA   NA   NA   NA    0    0    1   -1    0    0    1   -1    -90
[5686,]   NA   NA   NA   NA   NA   NA    0    0    1   -1    0    0    1   -1     20
[5687,]   NA   NA   NA   NA   NA   NA    0    0    1   -1    0    0    1   -1    100
[5688,]   NA   NA   NA   NA   NA   NA    0    0    1   -1    0    0    1   -1     50

데이터에 있는 것들은 지속적으로 존재합니다.

사유: