91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 12KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-14
  • 語言: C/C++
  • 標簽: 機器學習??

資源簡介

C++實現樸素貝葉斯分類器, 代碼干凈, 整潔, 有示例, 有注釋, 具有良好的封裝性, 可直接遷移使用

資源截圖

代碼片段和文件信息


#include?“LBayesClassifier.h“

#include?

#include?
using?std::map;
#include?
using?std::vector;

///?@brief?貝葉斯分類器虛基類
class?CBayesClassifier
{
public:
????///?@brief?析構函數
????virtual?~CBayesClassifier()?=?0{}

????///?@brief?訓練模型
????///?@param[in]?problem?貝葉斯問題
????///?@return?成功返回true?失敗返回false?參數錯誤的情況下會返回false
????virtual?bool?TrainModel(IN?const?LBayesProblem&?problem)?=?0;

????///?@brief?使用訓練好的模型進行預測
????///??
????///?請保證需要預測的樣本的特征長度和訓練樣本的特征長度相同
????///?@param[in]?sample?需要預測的樣本
????///?@param[out]?pClassValue?存儲預測結果?不能為0
????///?@return?成功預測返回true?失敗返回false?參數錯誤或模型未訓練的情況下會返回false
????virtual?bool?Predict(IN?const?LBayesMatrix&?sample?OUT?int*?pClassValue)?=?0;
};

///?@brief?特征類別計數類
class?CFeatureClassCount
{
public:
????///?@brief?將指定特征的指定的類別計數加1
????///?@param[in]?featureValue?特征值
????///?@param[in]?classValue?類別值
????void?CountInc(IN?int?featureValue?IN?int?classValue)
????{
????????m_featureClassMap[featureValue][classValue]++;
????}

????///?@brief?獲取指定特征的指定類別的計數
????///?@param[in]?featureValue?特征值
????///?@param[in]?classValue?類別值
????///?@return?類別的計數
????unsigned?int?GetCount(IN?int?featureValue?IN?int?classValue)
????{
????????return?m_featureClassMap[featureValue][classValue];
????}

????///?@brief?獲取指定特征的總計數
????///?@param[in]?featureValue?特征值
????///?@return?特征值得總計數
????unsigned?int?GetTotalCount(IN?int?featureValue)
????{
????????auto?classMap?=?m_featureClassMap[featureValue];
????????unsigned?int?totalCount?=?0;
????????for?(auto?iter?=?classMap.begin();?iter?!=?classMap.end();?iter++)
????????{
????????????totalCount?+=?iter->second;
????????}

????????return?totalCount;
????}

????///?@brief?清除數據
????void?Clear()
????{
????????m_featureClassMap.clear();
????}

private:
????map>?m_featureClassMap;?///>
};

///?@brief?貝葉斯分類器(離散)實現類
class?CBayesClassifierDiscrete?:?public?CBayesClassifier
{????
public:
????///?@brief?構造函數
????CBayesClassifierDiscrete()
????{
????????m_featureCount?=?0;
????????m_sampleCount?=?0;
????}

????///?@brief?析構函數
????~CBayesClassifierDiscrete()
????{

????}

????///?@brief?訓練模型
????///?@param[in]?problem?貝葉斯問題
????///?@return?成功返回true?失敗返回false?參數錯誤的情況下會返回false
????virtual?bool?TrainModel(IN?const?LBayesProblem&?problem)
????{
????????//?進行參數檢查
????????if?(problem.XMatrix.ColumnLen?????????????return?false;
????????if?(problem.XMatrix.RowLen?????????????return?false;
????????if?(problem.YVector.ColumnLen?!=?1)
????????????return?false;
????????if?(problem.XMatrix.RowLen?!=?problem.YVector.RowLen)
????????????return?false;

????????m_sampleClassCount.clear();
????????m_featureClassCountList.clear();
????????m_sampleCount?=?problem.XMatrix.RowLen;
????????m_featureCount?=?problem.XMatrix.ColumnLen;
????????for?(unsigned?int?i?=?0;?i?????????{
????????????m_featureClassCount

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件??????14429??2015-12-29?16:14??NativeBayes\LBayesClassifier.cpp

?????文件???????3612??2016-03-17?10:57??NativeBayes\LBayesClassifier.h

?????文件??????14193??2016-02-29?15:00??NativeBayes\LMatrix.h

?????文件???????1245??2016-03-17?10:57??NativeBayes\main.cpp

?????文件????????888??2016-03-17?10:56??NativeBayes\NativeBayes.sln

????..A..H.?????12800??2016-03-17?10:58??NativeBayes\NativeBayes.suo

?????文件???????3393??2016-03-17?10:57??NativeBayes\NativeBayes.vcxproj

?????文件???????1280??2016-03-17?10:57??NativeBayes\NativeBayes.vcxproj.filters

?????文件????????143??2016-03-17?10:56??NativeBayes\NativeBayes.vcxproj.user

?????目錄??????????0??2016-03-17?10:58??NativeBayes

-----------?---------??----------?-----??----

????????????????51983????????????????????10


評論

共有 條評論