2013-11-22 2 views
0

현재 이진 SVM Java 구현의 교육 단계를 테스트 중입니다. 등SVM 교육 세트 구축에 혼란이 있음

  1. 내 SVM은 숫자 값을 읽을 수있다, 나는 다음과 같이 작은 데이터를 테스트했습니다,하지만 난/스팸 스팸과 같은 알려진 데이터 세트, 이미지 내 SVM을 적용 할 필요가 그래서 필요 실제 데이터로 테스트 해보십시오.
  2. 나중에 이미지로 이동하고 싶습니다.

내가 다른 REPOS을 통해 검색, 실제 데이터 세트를 찾으려면,하지만 난 찾을 수있는 모든 등

수치 + 문자, 텍스트이었다 그리고 나는 spam Archive을 발견했다.

  1. 어떻게 진행하나요?
  2. 텍스트를 tfidf를 사용하여 숫자 데이터로 변환 한 다음 내 SVM을 적용해야한다고 생각합니다.
  3. 그러나 어떻게 그들을 1/-1 클래스로 표시합니까?

일반적으로 입력 형식이 올바 릅니까?

0 0 1 
3 4 1 
5 9 1 
12 1 1 
8 7 1 
9 8 -1 
6 12 -1 
10 8 -1 
8 5 -1 
14 8 -1 

스팸 아카이브 데이터를 위의 형식으로 가져 오려면 어떻게해야합니까?

+0

사전 준비된 테스트 데이터를 찾고있는 경우 LIBSVM 그룹에 여러 가지 테스트 데이터가 있습니다. – tmyklebu

+0

응답 해 주셔서 감사합니다. tmyklebu : 해당 데이터 세트에 대한 나와 링크를 공유 할 수 있습니까? –

답변

2

모든 기능에 대한 선택입니다. 입력은 물론 문서와 레이블의 쌍입니다. 그러나 피쳐 추출은 교육 과정에 포함됩니다. 가장 간단한 방법은 특정 단어가 특정 문서에 나타나는지 확인하는 2 진 표현입니다. 또한 용어 빈도라고도 부릅니다. 특징 벡터의 i 번째 구성 요소는 한 문서에서 wi가 발생하는 시간 단어입니다. 여기서 벡터는 훈련 문서의 모든 단어를 포함하는 확립 된 사전입니다. 또한 역 문서 빈도를 고려할 수 있습니다. 모든 문서에서 wi가 발생한 횟수를 총 문서 수로 나눈 값입니다. FYI, 스팸에 대한 SVM에 관한 연구 보고서 중 하나 : http://classes.soe.ucsc.edu/cmps290c/Spring12/lect/14/00788645-SVMspam.pdf

+0

메시지 당 하나의 기능 벡터. 모든 메시지를 TFIDF로 변환하면 수치 값을 얻게 될 것입니다. 그러나 나는 스팸에 대해 label.1을, 스팸이 아닌 경우에 -1을 넣는 방법을 혼동합니다. archicev 스팸 텍스트 데이터가 아닌 스팸의 조합입니까? –

+1

@Sree, 교육 세트에서 가장 자주 나타나는 단어, 예를 들어 1000 개의 문서 빈도 용어를 선택할 수 있습니다. 그리고 그들이 말하기를 20 번 미만이라면 그 단어를 사용하지 마십시오. 그리고 보통 훈련 세트는 ~ 10^5 (문서 또는 이메일)입니다. – lennon310

+0

그래서 스팸 archieve에 대한 tfidf 일을 한 후 1로 모든 데이터를 라벨해야하고 스팸 메일 레이블 -1로 다음 svm로 snd ... –