2014-03-14 2 views
1

저는 R 소프트웨어에서 SVM을 사용하고 있으며 사용자가 제공 할 수있는 모든 입력을 처리 할 것입니다. 은 내가 SVM과 함께 훈련 할 필요가 데이터 세트를, 데이터의 형식은 제가 DNA 열 관련되어있는 다음SVM 바이너리 데이터 분류하기 DNA

ToPredict Data1  Data2  Data3 Data4   DNA 
S   1   12    1  11   000000000100 
B   -1   17   14  3   11011110111110111 
S   1   4    0  4   0000 


질문입니다.

SVM은 DNA와 같은 입력을 얻을 수 있으며 여전히 신뢰할 수있는 예측을 계산할 수 있습니까? 내 데이터 집합에 대해 0 ≠ 00 또는 1 ≠ 001이므로 integer로 사용할 수 없습니다. 모든 값은 처리해야하는 정보를 나타내며 순서는 매우 중요합니다. 이진 값의 문자열이며 1 또는 0입니다. .



0101 ABAB 정보 등으로 표시 될 수있다 (A = 0, B = 1)

가 어떻게 상기 데이터가있는 SVM을 훈련 할 수 있는가?

감사합니다.

+0

안녕하세요! 나는 그것이 가능하다고 생각하지만, 당신은 몇 가지 다른 것들을 시도하여 그 대답에 더 나은 위치에있을 수 있습니다! 당신은 표준으로 가지고있는 가장 긴 DNA 문자열의 길이를 설정할 수 있으며, 각 행에 대해 세 개의 가능한 값 중 하나를 사용하여 해당 행의 열을 채 웁니다. - 1, 0 및 -1 또는 알 수없는 다른 값. 원래 DNA 문자열의 길이를 기능으로 사용하려고 할 수도 있습니다. 모든 항목/기능의 범위가 매우 다른 경우 정규화, 즉 작은 범위의 [-1,1] 또는 유사한 항목에 값을 분산하는 것이 좋습니다. – arturomp

답변

0

SVM이 작동하려면 "all"을 커널 기능이 필요합니다.

그래서 "DNA 문자열"에 적합한 커널 기능은 무엇입니까? 아마 적절한 커널이라고 증명할 필요는 없지만, 좋은 유사성 측정법으로 도망 갈 수는 있습니다.

시퀀스의 유사성을 어떻게 평가 하시겠습니까? 데이터가 무엇을 의미하는지 모르기 때문에 나는 당신을 도울 수 없다. 이는 사용자 (즉, 귀하)가 지정할 수 있습니다.

+0

답장을 보내 주셔서 감사합니다. 현재 저는 RBF 커널을 사용하고 있습니다. 제가 선택한 방법은 10 교차 배율 검증을 수행하고 오류 비율을 줄이는 것입니다. 데이터는 금융 시장을 겨냥한 것으로, 바 최대 = 1, 바 아래 = 0, 그 다음에 트렌드의 순서를 시작합니다. Data1은 트렌드의 종류를 지정합니다. 1 = Trend Up, -1 = Trend Down. Data2 = 막대의 양, Data3 = 막대의 양 Up, Data4 = 막대의 양. –