資源簡介
用身高體重數據進行性別分類的實驗 用本組采集的數據作訓練樣本,采用身高和體重為特征進行性別分類,在正 態分布假設下估計概率密度,建立最小錯誤率貝葉斯分類器,寫出得到的決 策規則;將分類器應用到訓練集上計算訓練錯誤率;把分類器應用到 dataset1.txt 上,計算測試錯誤率。在分類器設計時嘗試采用不同先驗概率(比如0.5 對0.5,0.24 對0.76 等),考查對決策和錯誤率的影響。 自行給出一個決策表,采用最小風險貝葉斯決策重復上面的實驗。 用題2 中得到的似然比或對數似然比為分類指標,粗略畫出ROC 曲線。
代碼片段和文件信息
%貝葉斯分類器
clear?;
N=20;
%%
%獲取訓練樣本
FID?=?fopen(‘mydata.txt‘);
mydata=fscanf(FID‘%f?%f?%f?%c‘[4inf]);
fclose(FID);
%男女分別數據
M_data=mydata(1:41:20);
F_data=mydata(1:421:40);
x=mydata(1:21:40);
%%
%最大似然估計
%男生均值
M_x=M_data(1:21:20);
M_miu=(1/N)*[sum(M_x(1:));sum(M_x(2:))];
%男生協方差
M_sigma=0;
for?i=1:20
M_sigma=(M_x(:i)-M_miu)*(M_x(:i)-M_miu)‘+M_sigma;
end
M_sigma=M_sigma/N;
%女生均值
F_x=F_data(1:21:20);
F_miu=(1/N)*[sum(F_x(1:));sum(F_x(2:))];
%女生協方差
F_sigma=0;
for?i=1:20
F_sigma=(F_x(:i)-F_miu)*(F_x(:i)-F_miu)‘+F_sigma;
end
F_sigma=F_sigma/N;
%%
%最小錯誤率貝葉斯決策
result=zeros(404);
%先驗概率0.5、0.5
F_M_111=0;%男生判為女生
M_F_111=0;%女生判為男生
for?i=1:40
result(i1)=mydata(4i);
pM=exp(-0.5*(x(:i)-M_miu)‘*(inv(M_sigma))*(x(:i)-M_miu))/(2*pi*det(M_sigma)^0.5);
pF=exp(-0.5*(x(:i)-F_miu)‘*(inv(F_sigma))*(x(:i)-F_miu))/(2*pi*det(F_sigma)^0.5);
if(pM/pF>1)
????result(i2)=77;
else?
????result(i2)=70;
end
if(result(i2)~=result(i1))
????if(resul
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????11333??2013-10-20?14:22??模式識別第一次作業\Bayes.m
?????文件???????3300??2010-10-10?19:47??模式識別第一次作業\dataset1.txt
?????文件????????526??2013-10-20?14:32??模式識別第一次作業\mydata.txt
?????文件??????49273??2013-09-29?21:42??模式識別第一次作業\problemset1_0930.pdf
?????文件????????732??2013-10-19?20:59??模式識別第一次作業\原數據.txt
?????目錄??????????0??2013-10-20?15:37??模式識別第一次作業
?????文件????????570??2013-10-20?15:22??模式識別第一次作業\my_min_Consideration_result.txt
?????文件????????570??2013-10-20?15:22??模式識別第一次作業\my_min_error_result.txt
?????文件???????3165??2013-10-20?15:22??模式識別第一次作業\teacher_min_Consideration_result.txt
?????文件???????3166??2013-10-20?15:22??模式識別第一次作業\teacher_min_error_result.txt
-----------?---------??----------?-----??----
????????????????72635????????????????????10
評論
共有 條評論