나는 R에 새로 온 사람과 나는 다음과 같은 코드를 사용 R에서 SVM의 예측 결과를 해석하는 방법?
R.
에서 SVM 분류에 대한e1071
패키지를 사용하고 있습니다 :
data <- loadNumerical()
model <- svm(data[,-ncol(data)], data[,ncol(data)], gamma=10)
print(predict(model, data[c(1:20),-ncol(data)]))
loadNumerical
로드 데이터를입니다, 데이터는 형태의 (제 8 열은 입력 및 마지막 열 분류이다)
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
1 39 1 -1 43 -1 1 0 0.9050497 0
2 23 -1 -1 30 -1 -1 0 1.6624974 1
3 50 -1 -1 49 1 1 2 1.5571429 0
4 46 -1 1 19 -1 -1 0 1.3523685 0
5 36 1 1 29 -1 1 1 1.3812029 1
6 27 -1 -1 19 1 1 0 1.9403649 0
7 36 -1 -1 25 -1 1 0 2.3360004 0
8 41 1 1 23 1 -1 1 2.4899738 0
9 21 -1 -1 18 1 -1 2 1.2989637 1
10 39 -1 1 21 -1 -1 1 1.6121595 0
데이터의 행의 수는 500이다
,745,위의 코드에서와 같이 예측을 위해 처음 20 개 행을 테스트했습니다. 그리고 출력은 다음과 같습니다
는 1 2 3 4 5 6 7
0.04906014 0.88230392 0.04910760 0.04910719 0.87302217 0.04898187 0.04909523
8 9 10 11 12 13 14
0.04909199 0.87224979 0.04913189 0.04893709 0.87812890 0.04909588 0.04910999
15 16 17 18 19 20
0.89837037 0.04903778 0.04914173 0.04897789 0.87572114 0.87001066
나는 결과가 0에 가까운 경우는 0 클래스를 의미 결과에서 직관적으로 알 수 있고, 1 가까이의 경우는 1 개 클래스입니다.
하지만 내 문제는 내가 정확하게 결과를 해석 할 수있는 방법입니다 의 내가 의 아래의 값이 0로 분류되어 의 위의 값을 1로 분류되도록 사용할 수있는 임계 값이?
이 있으면 어떻게 파생시킬 수 있습니까?
, 당신의 예 재현합니다. loadNumeric이있는 행은 미스테리 함수를 참조하기 때문에 유용하지 않습니다. 좋은 전략은 작은 예제에서 dput을 사용하여 질문에 붙여 넣는 것입니다. –
팁 @IanFellows 주셔서 감사합니다. –