2016-09-04 4 views
1

팬이 스포츠 경기로 나올지 여부를 예측하려고합니다. 내 데이터 (팬더 DataFrame)는 팬 정보 (인구 통계 등)와 지난 10 경기 (g1_attend - g10_attend)에 참석했는지 여부로 구성됩니다.SVM; 교육 데이터에 목표가 포함되어 있지 않습니다.

fan_info age neighborhood g1_attend g2_attend ... g1_neigh_turnout 
2717  22 downtown  0   1    .47 
2219  67 east side  1   1    .78 

어떻게 그들이 g11_attend에 참석려고하는 경우에, 때 g11_attend가 DataFrame에 존재하지 않는 예측할 수있다?

원래, 나는 scikit에서 기본 모델 중 일부를 적용하여 분류하고, DataFrame에 g11_attend 열을 추가하는 방법을 살펴 보았습니다. 이 모든 것이 나를 어떤 이유로 혼란스럽게합니다. 저는 이것을 이것을 시계열로 취급하는 것이 더 적절할 것이라고 생각하고 있으며, 다른 모델을 연구하고있었습니다.

답변

2

당신이 맞습니다. 분류 자에게 새로운 카테고리 (즉, 출력 클래스)를 추가 할 수는 없습니다. 이것은 시계열과 관련된 것이 필요합니다.

그러나 시계열에 분류기를 사용하는 데는 꽤 표준적인 기술이 있습니다. 시간 독립성을 주장하고 창을 사용함.

간단히 말해서 누군가가 게임에 참석했는지 여부는 우리가 캡처 한 변수에만 의존하고 다른 시간 요소 (또는 다른 요소는 일반적으로)에 의존하지 않는다고 가정합니다. 즉 연중 내내 출석 한 게임의 기록을 번역 할 수 있다고 가정하면 여전히 동일한 확률이 유지됩니다. 이것은 분명히 잘못되었지만 기계 학습 기술자가 데이터에서 일부 잡음을 처리 할 것이므로 어쨌든 그렇게합니다. 이

등 너무 추운 왜냐하면 어떤 사람들은이 분류에 이제 겨울에 게임을 피하려고하기 때문에 그것은 분명히 잘못된 것입니다 :

우리는 입력을 가지고, 우리는 단지 하나 개의 출력을 할 수 있습니다. 그래서 기본적인 아이디어는, 우리는 그들이 첫 9 개 게임 참석 여부를 입력으로 주어진 모델, 훈련을가는 것입니다 그들이 10

그래서 밖으로 입력이 참석할 경우 예측 1age, neighbourhood, g1_attend, g2_attend, ... g9_attend 이고 출력은 g10_attend - 이진 값입니다.

이 정보는 학습 데이터를 제공합니다.

가 건너 우리가 모든 이동을 테스트 할 시간 그것은 다음

: g2_attend에 대한 g1_attend 전환을하고, g3_attend 및 대한 g2_attend ... 그리고 g10_attend에 대한 g9_attend. 그러면 예측 결과는 g11_attend입니다.

다른 창 크기의 여러 모델을 교육 할 수도 있습니다. 예를 들어 마지막 2 경기 만보고 3 위 출석을 예측합니다. 이것은 할 수 있기 때문에 훨씬 더 많은 훈련 데이터를 제공합니다. g1,g2 ->g3g2,g3 ->g4 등이 있습니다.

다른 창 크기의 묶음을 훈련시키고 결과를 일부 앙상블 기술과 병합 할 수 있습니다.그것이 작동하는지 확인하기 위해 g10 (입력으로 g2,...,g9 사용) 예측 를 그 사용 후>g9, 하고 - 특히

g1,...,g8을 훈련하는 것이 좋습니다.

나는 미래에이 질문을 Cross Validated에 요청할 것을 제안합니다. 스택 오버플로에 관한 주제가있을 수 있지만 주제에 대한 내용이 많으며 통계 전문가와 기계 학습 전문가가 훨씬 더 많습니다.


1 내가 입력으로서 지금 fan_id 폐기 제안한다. 나는 그것이 당신을 어디든지 데려 올 것이라고 생각하지 않습니다. 그러나 이유를 설명하는 것은이 질문을 넘어서는 것입니다.

+0

자세한 설명을 읽어 주셔서 감사합니다. 나는 분류기가 g10을 g11을위한 일종의 프록시로 사용해야한다고 생각했습니다. 몇 가지 분류 기법을 설정하기 위해이 방법을 시도해 보겠습니다. – srytoomanyquestions

+0

자신의 질문에 플래그를 지정하여 크로스 검증으로 마이그레이션하도록 요청하면 더 나은 답변을 얻을 수 있습니다. 또한 클릭하기가 너무 수월하지 않아 다른 사람이 더 좋은 답변을받을 기회가 줄어 듭니다. 답변을 시도하고 작동하는 것을 기다리고 수락하는 것을 클릭 할 수 있습니다. –

+0

다시 감사드립니다. 나는 그것을 신고하고 개조자는 무엇을 말하는지 볼 것이다. 나는 당신의 대답이 실제로 많은 도움이되었다고 생각합니다. 나는 이것이 다양한 방식으로 처리 될 수 있고 다양한 종류의 모델에 적용될 수 있다고 생각하여 매우 혼란 스러웠습니다. 이제 분류 모델을 사용하여 진행하는 방법을 확인 했으므로이를 수행하거나 다른 접근법을 살펴볼 수 있습니다 (예를 들어 MCMC를 사용하여 가능성을 조사했습니다) – srytoomanyquestions