나는 베이 스 기반 스팸 탐지에 대해 이해하려고 노력하고 있으며이를 코딩하는 방법을 이해하는 데 어려움이 있습니다. 그것을 이해하기 위해, 나는 아래처럼 SpamAssassin 코드를 읽었습니다. http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Bayes/CombineChi.pm?view=markup카이 제곱 기반 스팸 탐지는 SpamAssassin에서 어떻게 작동합니까?
하지만 어떻게 chi2q 기능을 이해할 수 없었습니다.
# Chi-squared function (API changed; see comment above)
107 sub chi2q {
108 my ($x2, $halfv) = @_;
109
110 my $m = $x2/2.0;
111 my ($sum, $term);
112 $sum = $term = exp(0 - $m);
113
114 # replace 'for my $i (1 .. (($v/2)-1))' idiom, which creates a temp
115 # array, with a plain C-style for loop
116 my $i;
117 for ($i = 1; $i < $halfv; $i++) {
118 $term *= $m/$i;
119 $sum += $term;
120 }
121 return $sum < 1.0 ? $sum : 1.0;
122 }
Google에 읽거나 책을 읽으려고했지만 이론적으로 코드를 포함하여 완전한 설명을 찾을 수 없습니다.
왜 작동하는지 설명해 주시겠습니까?
2 세트의 숫자는이 관측 값과의 차이를 찾는 포함 내가 빨리 인터넷 검색으로 찾을 수있는 가장 좋은 explaination 여기 http://formulas.tutorvista.com/math/chi-square-formula.html
했다 "유사"하는 경우 카이 제곱 테스트 말할 수
어떻게 p 값을 계산하거나 비교할 수 있습니까? 프로그래밍 방식으로 p - 값 테이블을? 유효 숫자의 취소를 피하기 위해 대수 사용이 필요하다는 정보를 보았습니다. 그러나 나는 구체적인 생각이 없습니다. 실제 샘플 구현이 있습니까? –
이 페이지 http://easycalculation.com/statistics/p-value-t-test.php에는 p 값 계산기가 있습니다. 어떻게 작동하는지보고 싶다면 자바 스크립트 코드는 – Vorsprung
페이지의 소스 코드에 있습니다. 자바 스크립트 코드는 직접 구현되거나 이해하기 쉽지 않습니다. 마법의 숫자가 너무 많아 보이는 군 ... –