基本信息
源码名称:贝叶斯基本分类
源码大小:0.11M
文件格式:.zip
开发语言:C#
更新时间:2017-03-24
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 3 元×
微信扫码支付:3 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
基本的贝叶斯分类方法
/* ====================================================================
* Copyright (c) 2006 Erich Guenther (erich_guenther@hotmail.com)
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. This code must not be used in commercial products
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
* OF THE POSSIBILITY OF SUCH DAMAGE.
*/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace BayesClassifierDemo
{
public partial class Form1 : Form
{
BayesClassifier.Classifier m_Classifier = new BayesClassifier.Classifier();
public Form1()
{
InitializeComponent();
}
private void buttonTest_Click(object sender, EventArgs e)
{
string file = @"..\..\Test.txt";
// Cat1 is a match with the file itself
m_Classifier.TeachCategory("Cat1", new System.IO.StreamReader(file));
// Cat2 is a match with totally different Data
m_Classifier.TeachPhrases("Cat2", new string[] { "Hi", "Ho Ho" });
// Cat3 is again a perfect match and should give the same results as cat1
m_Classifier.TeachCategory("Cat3", new System.IO.StreamReader(file));
// Cat4 is a match with double the original data
m_Classifier.TeachCategory("Cat4", new System.IO.StreamReader(file));
m_Classifier.TeachCategory("Cat4", new System.IO.StreamReader(file));
// Cat5 does not match (but trained with less Data then Cat2
m_Classifier.TeachPhrases("Cat5", new string[] { "B" });
this.listBox1.Items.Clear();
Dictionary<string, double> score = m_Classifier.Classify(new System.IO.StreamReader(file));
foreach (string c in score.Keys)
{
this.listBox1.Items.Add(c ":" score[c].ToString());
}
}
}
}