小编Mic*_*nel的帖子

朴素贝叶斯分类(垃圾邮件过滤) - 哪种计算是正确的?

我正在实施朴素贝叶斯分类器进行垃圾邮件过滤.我对某些计算有疑问.请澄清我该怎么做.这是我的问题.

在这种方法中,你必须计算

替代文字

P(S | W) - >消息是垃圾邮件的概率,因为字W出现在其中.

P(W | S) - >垃圾邮件中出现单词W的概率.

P(W | H) - >在Ham消息中出现字W的概率.

所以要计算P(W | S),以下哪项是正确的:

  1. (垃圾邮件中出现W的次数)/(所有邮件中出现W的总次数)

  2. (垃圾邮件中出现W字的次数)/(垃圾邮件中的字总数)

那么,要计算P(W | S),我应该做(1)还是(2)?(我认为是(2),但我不确定.)

我顺便提一下http://en.wikipedia.org/wiki/Bayesian_spam_filtering的信息.

我必须在本周末完成实施:(


不应该重复出现'W'字样增加邮件的垃圾邮件分数?在你的方法中它不会,对吧?

可以说,我们有100条培训信息,其中50条是垃圾邮件,50条是火腿.并说每条消息的word_count = 100.

并且假设,在垃圾邮件中,单词W在每个消息中出现5次,单词W在Ham消息中出现1次.

因此,在所有垃圾邮件中出现的总W次数= 5*50 = 250次.

并且所有Ham消息中出现的总W次数= 1*50 = 50次.

所有训练消息中W的总出现次数=(250 + 50)= 300次.

那么,在这种情况下,你如何计算P(W | S)和P(W | H)?

当然我们应该期待,P(W|S) > P(W|H)对吧?

algorithm math statistics spam-prevention bayesian

1
推荐指数
1
解决办法
4524
查看次数

Linux - 将用户空间文件系统(模仿一个:-))安装为FileSystem

我有一块C代码,它有一块内存(静态数组)可以模仿文件操作(它有类似于fopen/ fcloseetc的API ).因此,使用这个模仿FileSystem编译的任何代码都可以将这些API用作FileSystem以满足他们的所有需求:)

但我想知道,如果可能以某种方式将这些API注册到Linux系统/ mouning这个文件系统,从而使任何客户端能够通过使用普通的FileSystem调用来使用这个FS(无需任何静态链接它与My_FileSystem).

在寻找解决方案时,我遇到了将my_FileSystem作为驱动程序的想法!=>是否可以将我的代码编译为设备驱动程序(使用驱动程序中的内存块)并安装此File_system @ say "/mnt/MyFs",并转移文件系统调用,如USB驱动程序吗?(如果可以这样做,请你解释它是如何完成的,或者指出我可以阅读的内容).

我不想将这些添加为新的系统调用并重新编译内核(并使ppl的生活想要使用这个困难).

这主要适用于运行Linux的嵌入式系统......但也欢迎其他建议.:)

谢谢,

MicroKernel :)

linux filesystems device-driver linux-device-driver linux-kernel

1
推荐指数
1
解决办法
894
查看次数

模板构造函数中的C++链接器错误:"未解析的外部符号"

我试图用C++编写一个模板类并得到这个奇怪的链接器错误而无法找出原因,请让我知道这有什么问题!

以下是我在Visula C++ 2010中收到的错误消息.

1>------ Rebuild All started: Project: FlashEmulatorTemplates, Configuration: Debug Win32 ------
1>  main.cpp
1>  emulator.cpp
1>  Generating Code...
1>main.obj : error LNK2019: unresolved external symbol "public: __thiscall flash_emulator<char>::flash_emulator<char>(char const *,struct FLASH_PROPERTIES *)" (??0?$flash_emulator@D@@QAE@PBDPAUFLASH_PROPERTIES@@@Z) referenced in function _main
1>C:\Projects\FlashEmulator_templates\VS\FlashEmulatorTemplates\Debug\FlashEmulatorTemplates.exe : fatal error LNK1120: 1 unresolved externals
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========
Run Code Online (Sandbox Code Playgroud)

g ++中的错误消息

main.cpp: In function âint main()â:
main.cpp:8: warning: deprecated conversion from string constant to âchar*â
/tmp/ccOJ8koe.o: In function `main':
main.cpp:(.text+0x21): undefined …
Run Code Online (Sandbox Code Playgroud)

c++ templates linker-errors

1
推荐指数
1
解决办法
2175
查看次数

HTML-5:视频标签.视频没有播放

我正在尝试HTML-5的使用/测试视频标签.这是代码

<!DOCTYPE HTML>
<html>
<body>

<video src="./Pilot.avi" controls="controls">
your browser does not support the video tag
</video>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

Pilot.avi存储在与此HTML页面相同的目录中.

问题是,我看到控件正在显示但无法播放视频.

我试过了,

1)Mozilla Firefox 3.6.13

2)谷歌Chrome 8.0.552.224

可能是什么问题呢?

此致,Microkernel

html html5 html5-video

0
推荐指数
1
解决办法
1万
查看次数

理论上对数复杂但实际上是线性的

看看下面的代码来找到X ^ y.

/* Find exponent in logarithmic complexity */
int findPower(int base, exponent){
     if( 1 == exponent ) return base;
     return (findPower(base, exponent/2)*findPower(base, exponent-exponent/2));
}

int main(int argc, char *argv[]){
    if(argc < 3) {
        printf("Usage :: logpow baseNumber power\n");
        return -1;
    }
    printf("%s ^ %s  =  %d\n", argv[1], argv[2], findPow( atoi(argv[1]),
                                                          atoi(argv[2])) );
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

分析表明,这具有theta(log(n))的复杂性.但是我用它来测量时间,这是结果

Run 1: (calculating 1^500_million)
user-lm Programming # time ./a.out 1 500000000
1 ^ 500000000  =  1

real    0m5.009s
user    0m5.000s
sys 0m0.000s …
Run Code Online (Sandbox Code Playgroud)

theory algorithm performance big-o time-complexity

-1
推荐指数
1
解决办法
203
查看次数