이번역페이지는최신내용을담고있지않습니다。최신내용을영문으로보려면여기를클릭하십시오。
다중클래스분류를위한나이브베이즈분류
分类朴素贝叶斯
는 다중 클래스 학습을 위한나이브 베이즈(朴素的贝叶斯)분류기입니다。훈련된分类朴素贝叶斯
분류기는훈련데이터,모수값,데이터분포,사전확률을저장합니다。이러한분류기를사용하여재대입예측값추정(重新预订
참조) 및 새 데이터에 대한 레이블 또는 사후 확률 예측(预测
참조)등의작업을수행합니다。
分类朴素贝叶斯
객체는fitcnb
를사용하여생성할수있습니다。
PredictorNames
-예측변수이름.이속성은읽기전용입니다。
예측 변수 이름으로, 문자형 벡터로 구성된 셀형 배열로 지정됩니다.PredictorNames
에 포함된 요소의 순서는 예측 변수 이름이 훈련 데이터X
에 나타나는 순서와 일치합니다.
ExpandedPredictorNames
-확장예측변수이름이속성은읽기전용입니다。
확장예측변수이름으로,문자형벡터로구성된셀형배열로지정됩니다。
모델이 범주형 변수에 대한 가변수 인코딩을 사용하는 경우ExpandedPredictorNames
는확장변수를설명하는이름을포함합니다。그렇지않은경우,ExpandedPredictorNames
는PredictorNames
와 동일합니다.
CategoricalPredictors
-明确的형 예측 변수의 인덱스[]
|양의 정수로 구성된 벡터이속성은읽기전용입니다。
범주형범주형예측변수의,양양정수로구성된벡터로지정。CategoricalPredictors
는 범주형 예측 변수를 포함하는 예측 변수 데이터로 구성된 열에 대응되는 인덱스 값을 포함합니다. 범주형 예측 변수가 없는 경우 이 속성은 비어 있습니다([]
)。
데이터형:仅有一个的
|双
类别威胁
-다변량다항수준이속성은읽기전용입니다。
다변량 다항 수준으로, 셀형 배열로 지정됩니다.类别威胁
의 길이는 예측 변수의 개수와 같습니다(尺寸(X,2)
)。
类别威胁
의 셀은 훈련 중에 사용자가'mvmn'
으로 지정하는 예측 변수, 즉 다변량 다항 분포를 갖는 예측 변수에 대응됩니다. 다변량 다항 분포에 대응되지 않는 셀은 비어 있습니다([]
)。
예측변j수가다변량다항인경우分类级别{
j}
는표본에예측변수j의의모든고유고유한값목록목록목록목록목록南
은唯一(X(:,j))
에서제거되었습니다。
X
-표준화되지않은예측변수이속성은읽기전용입니다。
나이브베이즈분류기를시키는데사용되는되는표준화되지않은변수변수,숫자형행렬로지정됩니다。X
의각행은하나의관측값에대응되고,각열은하나의변수에대응됩니다。소프트웨어는하나이상의누락값을포함하는관측값을제외시키고,Y에서대응되는요소를제거합니다。
分配名称
-예측변수분포'普通的'
(디폴트값)|“内核”
|'MN'
|'mvmn'
|문자형벡터로구성된셀형배열이속성은읽기전용입니다。
예측변수분포로,문자형벡터또는문자형벡터로구성된셀형배열로지정됩니다。fitcnb
는는변수분포를사용하여하여예측변수변수모델링모델링다음표에는사용가능한가나열되어있습니다。
값 | 설명 |
---|---|
“内核” |
커널평활화밀도추정값 |
'MN' |
다항 분포.锰 을 지정할 경우 모든 특징이 다항 분포의 성분입니다. 따라서 一串형 배열이나 문자형 벡터로 구성된 셀형 배열의 요소로'MN' 을포함시킬수없습니다。자세한내용은다항다항분포에대해대해추정된항목을 참조하십시오. |
'mvmn' |
다변량다항분포。자세한내용은다변량다항분포에대해추정된확률항목을 참조하십시오. |
'普通的' |
정규(가우스)분포 |
分配名称
이 문자형 벡터로 구성된 1×P셀형 배열이면fitcnb
는 셀형 배열의 요소 J의 분포를 사용하여 특징 J를 모델링합니다.
예:'MN'
예:{'kernel','normal','kernel'}
데이터형:字符
|一串
|细胞
分布参数
-분포모수추정값이속성은읽기전용입니다。
분포모수추정값으로,셀형배열로지정됩니다。分布参数
는K×D셀형입니다。여기서셀(k,d)는k클래스클래스의예측변수값인스턴스에대한분포모수을포함포함포함을포함행순서는속성Classnames.
에있는클래스순서와일치하고,예측변수순서는X
의열순서와일치합니다。
K.
클래스에예측변수j
에대한관측값이없으면分配{
는 비어 있습니다(K.
那j
}[]
)。
分布参数
의 요소는 예측 변수의 분포에 따라 달라집니다. 다음 표에서는分发参数{
의값을설명합니다。K.
那j
}
예측 변수 J의 분포 | 예측 변수j 및K. 클래스클래스에대한셀형셀형배열의 |
---|---|
核心 |
KernelDistribution 모델. 셀 인덱싱과 점 표기법을 사용하여 속성을 표시합니다. 예를 들어, 세 번째 클래스의 예측 변수 2.에 대한 커널 밀도의 추정된 대역폭을 표시하려면Mdl.DistributionParameters {3 2} .BandWidth 를 사용합니다. |
锰 |
토큰j가k클래스에나타날확률을나타내는스칼라。자세한내용은다항다항분포에대해대해추정된항목을 참조하십시오. |
MVMN. |
k클래스의예측변수j의가능한각수준대한확률을포함하는숫자형벡터。속성类别威胁 에 저장된 예측 변수 J의 모든 고유한 수준의 정렬된 순서로 확률을 정렬합니다. 자세한 내용은다변량다항분포에대해추정된확률항목을 참조하십시오. |
典型的 |
2×1숫자형숫자형。첫첫요소는표본이고두번째요소는표본표준편차입니다。 |
内核
-커널평활화방법의유형'普通的'
(디폴트값)|“盒子”
|셀형 배열| ...이속성은읽기전용입니다。
커널평활화방법의유형으로,커널의이름또는커널이름으로구성된셀형배열로지정됩니다。内核
의 길이는 예측 변수의 개수와 같습니다(尺寸(X,2)
)。内核{
j}
는 예측 변수 J에 대응되고, 커널 평활화 방법의 유형을 설명하는 문자형 벡터를 포함합니다. 어떤 셀이 비어 있으면([]
)fitcnb
가의분포분포를그그에대응되는예측변수에않은않은것것않은않은않은것것않은않은않은것
다음 표에서는 지원되는 커널 평활화 방법의 유형을 설명합니다. I{u}는 표시 함수를 나타냅니다.
값 | 커널 | 공식 |
---|---|---|
“盒子” |
상자(균일) |
|
“epanechnikov” |
Epanechnikov. |
|
'普通的' |
가우스 |
|
'三角形' |
삼각 |
|
예:“盒子”
예:{'epanechnikov','normal'}
데이터형:字符
|一串
|细胞
万博1manbetx
-커널 평활화 방법 밀도 지지 범위이속성은읽기전용입니다。
커널평활화방법밀도지지범위로,셀형배열로지정됩니다。万博1manbetx
의 길이는 예측 변수의 개수와 같습니다(尺寸(X,2)
)。셀은fitcnb
가커널밀도를적용하는영역을나타냅니다。어떤셀이비어있으면([]
)fitcnb
가의분포분포를그그에대응되는예측변수에않은않은것것않은않은않은것것않은않은않은것
다음표에서는지원되는옵션을설명합니다。
값 | 설명 |
---|---|
1×2숫자형행벡터 | 밀도 지지 범위가 지정된 범위(예:(L U) )에 적용됩니다. 여기서L. 과你 는각각유한한하한과입니다입니다。 |
“肯定的” |
밀도밀도범위가모든양의실수값에적용적용됩니다。 |
'无限制' |
밀도지지범위가모든실수값에적용됩니다。 |
宽度
-커널평활화방법의윈도우너비이속성은읽기전용입니다。
커널커널평활화방법에서의윈도우너비,숫자형행렬로지정됩니다。宽度
는 K×P행렬입니다. 여기서 K는 데이터에 있는 클래스 개수이고 P는 예측 변수의 개수(尺寸(X,2)
)입니다。
宽度(
는K.
那j
)K.
클래스내의예측변수j
의 커널 평활화 밀도에 대한 커널 평활화 방법의 윈도우 너비입니다.j
열에있는南
은fitcnb
가커널커널밀도사용하여하여예측j
를피팅하지않았음을나타냅니다。
Classnames.
-고유한클래스이름이속성은읽기전용입니다。
훈련모델에사용되는고유한클래스이름으로,直言형배열또는문자형배열,논리형벡터또는숫자형벡터,문자형벡터로구성된셀형배열로지정됩니다。
Classnames.
는y
와와이터형이동일하며,문자형배열의경우경우의요소또는행을。(소프트웨어소프트웨어字符串형형배열을문자형벡터로구성된셀형배열처리처리처리처리처리처리처리처리
데이터형:分类
|字符
|一串
|逻辑
|双
|细胞
ractraceame.
-응답 변수 이름이속성은읽기전용입니다。
응답 변수 이름으로, 문자형 벡터로 지정됩니다.
데이터형:字符
|一串
y
-클래스클래스이블이속성은읽기전용입니다。
나이브 베이즈 분류기를 훈련시키는 데 사용되는 클래스 레이블로, 明确的형 배열이나 문자형 배열, 논리형 벡터나 숫자형 벡터, 또는 문자형 벡터로 구성된 셀형 배열로 지정됩니다.y
의 각 행은 이에 대응되는X
행의 관측된 분류를 나타냅니다.
y
는y
에서 모델을 훈련시키는 데 사용되는 데이터와 데이터형이 동일합니다.(소프트웨어소프트웨어字符串형형배열을문자형벡터로구성된셀형배열처리처리처리처리처리처리처리처리
데이터형:仅有一个的
|双
|逻辑
|字符
|一串
|细胞
|分类
模特分析者
-모델을훈련시키는데사용되는되는모수이속성은읽기전용입니다。
分类朴素贝叶斯
모델을 훈련시키는 데 사용되는 모수 값으로, 객체로 지정됩니다.模特分析者
는 모수 값(예: 나이브 베이즈 분류기 훈련에 사용되는 이름-값 쌍의 인수 값)을 포함합니다.
점표기법을사용하여模特分析者
의속성에액세스할수있습니다。예를들어,mdl.modelparameters.万博1manbetxsupport.
를사용하여커널지지범위에액세스합니다。
numobservations.
-훈련관측값개수이속성은읽기전용입니다。
X
및y
에저장된훈련데이터에포함포함된훈련관측값,숫자형숫자형스칼라로지정。
先前的
-사전확률사전확률로,숫자형벡터로지정됩니다。先前的
의 요소 순서는Mdl.ClassNames
의요소순서와일치합니다。
fitcnb
는金额(以前)
=1
이 되도록 사용자가“之前”
이름——값쌍의인수를사용하여설정한사전확률을정규화합니다。
先前的
의의값은최적최적피팅모델영향을주지주지에영향을주지따라서先前的
는Mdl
을훈련시킨후에점을사용하여하여할수있습니다있습니다。
예:mdl.prior = [0.2 0.8]
데이터형:双
|仅有一个的
W.
-관측값 가중치이속성은읽기전용입니다。
관측값가중치로,y
와동일한행개수를,음이아닌아닌값으로구성된벡터로지정W.
의각요소는이에대응되는y
의 관측값의 상대적 중요도를 지정합니다.fitcnb
는특정클래스내의가중치합이해당클래스의사전확률이되도록사장가'重量'
이름——값쌍의인수에대해설정한값을정규화합니다。
成本
-오분류비용오분류오분류비용,숫자형숫자형사각각지정지정。여기서成本(i,j)
가는어떤의실제클래스가一世
인경우이점을j
클래스로 분류하는 데 드는 비용입니다. 행은 실제 클래스에 대응되고, 열은 예측 클래스에 대응됩니다.成本
의 행과 열 순서는Classnames.
의클래스순서와일치합니다。
오분류비용행렬의대각선상요소는0이어야합니다。
成本
의 값은 훈련에 영향을 주지 않습니다.成本
는Mdl
을훈련시킨후에점을사용하여하여할수있습니다있습니다。
예:mdl.cost = [0 0.5;1 0]
데이터형:双
|仅有一个的
HyperParameterOptimationResults.
-하이퍼파라미터에대한교차검증최적화贝叶斯优化
객체|表형이속성은읽기전용입니다。
하이퍼파라미터에 대한 교차 검증 최적화로,贝叶斯优化
객체또는하이퍼파라미터및관련값으로구성된테이블로지정됩니다。이속성은모델을생성할때'OptimizeHyperParameters'
이름 - 값값의인수가비어있지않은경우비어있지않습니다。HyperParameterOptimationResults.
의의값은모델모델을생성당시당시超参数优化选项
구조체내优化器
필드의설정에따라달라집니다。
优化器 필드의값 |
HyperParameterOptimationResults. 의값 |
---|---|
'Bayesopt' (디폴트 값) |
贝叶斯优化 클래스의객체 |
'gridsearch' 또는“随机搜索” |
사용된하이퍼파라미터,관측된목적함수값(교차교차손실),그리고그리고값가가장낮은값(최상)에서가장높은값(최하) |
ScoreTransform
-분류 점수 변환 방식'没有任何'
(디폴트값)|“双重逻辑”
|“invlogit”
|“ismax”
|'logit'
|함수핸들| ...분류 점수 변환 방식으로, 문자형 벡터 또는 함수 핸들로 지정됩니다. 다음 표에는 사용 가능한 문자형 벡터가 요약되어 있습니다.
값 | 설명 |
---|---|
“双重逻辑” |
1/(1+e)–2倍) |
“invlogit” |
日志(x /(1 - x)) |
“ismax” |
최대 점수를 갖는 클래스의 점수를 1.로 설정하고, 다른 모든 클래스의 점수를 0으로 설정합니다. |
'logit' |
1/(1+e)–x) |
'没有任何' 또는“身份” |
x(변환없음) |
“标志” |
x <0의경우-1 x = 0의경우0 x > 0의경우1 |
“对称” |
2x–1 |
“symmetricismax” |
최대 점수를 갖는 클래스의 점수를 1.로 설정하고, 다른 모든 클래스의 점수를 -1.로 설정합니다. |
“symmetriclogit” |
2/(1+e)–x) - 1 |
MATLAB®함수나 사용자가 직접 정의하는 함수의 경우, 이에 대한 함수 핸들을 점수 변환에 사용하십시오. 함수 핸들은 행렬(원래 점수)을 받아 동일한 크기의 행렬(변환된 점수)을 반환합니다.
예:Mdl.ScoreTransform='logit'
데이터형:字符
|一串
|功能手柄
紧凑的 |
减少机器学习模型的尺寸 |
CompareHoldout. |
使用新数据比较两个分类模型的准确性 |
横梁 |
交叉验证机器学习模型 |
边 |
朴素贝叶斯分类器的分类边缘 |
递增学习器 |
将朴素贝叶斯分类模型转化为增量学习器 |
石灰 |
本地可解释模型 - 不可知的解释(石灰) |
logp |
朴素贝叶斯分类器的对数无条件概率密度 |
损失 |
朴素贝叶斯分类器的分类损失 |
边缘 |
天真贝叶斯分类器的分类利润 |
部分竞争 |
计算部分相关性 |
plotPartialDependence |
创建部分依赖图(PDP)和个人有条件期望(ICE)情节 |
预测 |
使用Naive Bayes Classifier进行分类观察 |
重新提交 |
重新提交分类边缘 |
resubloss. |
重新提交分类损失 |
resubMargin |
重新取款分类保证金 |
重新预订 |
使用培训的分类器对培训数据进行分类 |
福芙 |
夏普利值 |
testckfold |
通过重复交叉验证比较两种分类模型的准确性 |
피셔(费舍尔)의붓꽃데이터세트에사용할나이브베이즈분류기를생성합니다。그런다음,분류기를훈련시킨후에사전확률을지정합니다。
F伊舍里里斯
데이터세트세트를불러。X
를150개붓꽃에대한4개의꽃잎측정값포함하는숫자형행렬로생성합니다。y
이이에대응되는붓꽃종을하는문자형벡터로구성된셀형배열생성생성합니다。
加载渔民X =量;Y =物种;
예측 변수X
와 클래스 레이블y
를사용하여나이브베이즈분류기분류기를。fitcnb
는각예측변수가독립적이라고가정하며기본적으로정규분포를사용하여각예측변수를피팅합니다。
Mdl = fitcnb (X, Y)
Mdl = ClassificationNaiveBayes ResponseName: 'Y' CategoricalPredictors: [] ClassNames: {'setosa' 'versicolor' 'virginica'} ScoreTransform: 'none' NumObservations: 150 DistributionNames: {'normal' ' 'normal' ' 'normal'} DistributionParameters: {3x4 cell}属性,方法
Mdl
은훈련된分类朴素贝叶斯
분류기입니다。Mdl
속성 중 일부는 명령 창에 나타납니다.
점표기법을사용하여Mdl
의속성을표시합니다。예를들어,클래스이름과사전을표시합니다。
Mdl.ClassNames
ans =.3x1细胞{'setosa'} {'versicolor'} {'virginica'}
Mdl.优先
ans =.1×30.3333 0.3333 0.3333
Mdl.优先
에서 클래스 사전 확률의 순서는Mdl.ClassNames
에포함된클래스의순서와일치합니다。기본적으로,사전확률은데이터에서이러한클래스클래스가나타날각각의상대빈도。또는事先的'
이름——값쌍의인수를사용하여fitcnb
를호출할때사전확률을설정할수있습니다。
분류기분류기를훈련시킨후후에표기법사용하여사전확률을합니다。예예들어,사전확률을각각0.5,0.2,0.3으로으로설정。
Mdl.优先=[0.5 0.2 0.3];
이제이훈련된분류기를사용하여가적적작업을수행할있습니다수수수예를들어,预测
를 사용해 새 측정값에 레이블을 지정하거나横梁
을사용해분류기를교차검증할수있습니다。
나이브베이즈분류기분류기를훈련시키고교차검증검증fitcnb
는기본적으로10겹교차검증을구현합니다。그런다음교차검증된분류오차를추정합니다。
电离层
데이터 세트를 불러옵니다. 안정성을 위해 처음 두 개의 예측 변수를 제거합니다.
加载电离层X=X(:,3:end);rng(“默认”)重复性的%
예측 변수X
와 클래스 레이블y
를사용하여나이브베이즈분류기분류기를훈련시키고검증검증권장되는방법은클래스이름을지정하는것。fitcnb
는각예측변수가조건부분포및정규분포된다고가정합니다。
CVMdl = fitcnb (X, Y,“类名”,{“b”那‘g’},'横向'那'在')
cvmdl = classificationededmodel crossvalidatedmodel:'naivebayes'predictornames:{1x32 cell} racatectename:'y'numobservations:351 kfold:10分区:[1x1 cvpartition] classnames:{'b'g'} scoreTransform:'无'属性,方法
CVMdl
은ClassificationededModel.
모델로 교차 검증된 나이브 베이즈 분류기입니다. 또는, 훈련된分类朴素贝叶斯
모델을横梁
로 전달하여 교차 검증할 수 있습니다.
점표기법을사용하여CVMdl
의첫번째훈련겹을합니다합니다。
CVMdl.Trained{1}
ans = CompactClassificationNaiveBayes ResponseName: 'Y' CategoricalPredictors: [] ClassNames: {'b' ' 'g'} ScoreTransform: 'none' DistributionNames: {1x32 cell} DistributionParameters: {2x32 cell}属性,方法
각각의 겹은 데이터의 90%에 대해 훈련된紧分类朴素贝叶斯
모델입니다。
새데이터에대해예측을수행할때에는전체나이브베이즈모델이나간소나이브베이즈모델이사용되지않습니다。대신,CVMdl
을kfoldLoss
에전달하여일반화오차를추정하는데사용하십시오。
genError=kfoldLoss(CVMdl)
generror = 0.1852
평균적으로일반화오차는약19%입니다。
예측예측변수에대해서로다른조건부분포를지정,일반화오차를줄이기위해위해조건부분포모수를조정수수수수
bag-of-tokens모델에서,예측변j의수값은이관측값에서토큰j의음이아닌발생횟수입니다。다항모델의범주(本)개수는고유한토큰의개수(예측변수의개수)입니다。
나이브베이즈는 데이터에 밀도 추정을 적용하는 분류 알고리즘입니다.
이 알고리즘은 베이즈 정리를 사용하며, 주어진 클래스에 대해 예측 변수가 조건부 독립이라고 낙관적으로(天真地)가정합니다. 이 가정은 실제로는 보통 위반되지만, 나이브 베이즈 분류기는 편향된 클래스 밀도 추정값의 영향을 덜 받는(稳健)사후 분포를 산출하는 경향이 있습니다(특히 사후분포가 0.5인 경우(결정 경계))[1]。
나이브 베이즈 분류기는 가장 가능성이 높은 클래스에 관측값을 할당합니다(이는 다른 말로 하면최대사후확률결정규칙임)。이알고리즘알고리즘은명시적적으로단계를수행
각클래스내의예측변수의밀도를추정합니다。
베이즈규칙에따라사후확률을모델링합니다。즉,모든k = 1,……那K.에 대해 다음과 같습니다.
여기서
Y는 관측값의 클래스 인덱스에 대응되는 확률 변수입니다.
X1,…,XP.는는관측값의의확률예측변수변수
는클래스인덱스가K인사전확률확률。
각 클래스에 대해 사후 확률을 추정하여 관측값을 분류한 다음, 최대 사후 확률을 산출하는 클래스에 관측값을 할당합니다.
예측 변수가 다항 분포를 구성하는 경우 사후 확률은 입니다. 여기서 는 다항 분포의 확률 질량 함수입니다.
fitcnb
를사용하여Mdl
을 훈련시킬 때'分发名称','mvmn'
을 지정하면 다음 단계가 수행됩니다.
각예측변수에대해,고유한수준의목록이수집수집,정렬정렬목록이类别威胁
에 저장되고, 각 수준이 箱子으로 간주됩니다. 예측 변수와 클래스의 각 조합은 개별적이고 독립적인 다항 확률 변수입니다.
클래스 K의 예측 변수j
에대해,分类级别{
에저장된된목록에에각범주형수준의의인스턴스를세게j
}
分类级别{
에있는모든수준에대해,클래스j
}K.
의예측변수j
가수준수준가질확률이속성分发参数{
에에됩니다。가산성평활평활.[2]를 사용하여 추정한 확률은 다음과 같습니다.K.
那j
}
여기서
입니다。이는클래스k에서예측변j L과가수동일한관측값의가중개수입니다。
NK.는 클래스 K의 관측값 개수입니다.
XIJ.= L이면 이고,그렇지않으면0입니다。
는 관측값 我에 대한 가중치입니다. 클래스 내의 가중치 합이 해당 클래스의 사전 확률이 되도록 가중치가 정규화됩니다.
mj는예측변j의수고유한수준개수입니다。
mK.는클래스k의관측값의가중개수입니다。
[1] 《统计学习的要素:数据挖掘、推理和预测》。第二版。统计学中的斯普林格系列。纽约:斯普林格,2009年。https://doi.org/10.1007/978-0-387-84858-7.
[2] 《信息检索导论》,纽约:剑桥大学出版社,2008年。
사용법관련참고및제한사항:
预测
함수가코드생성을지원합니다。
fitcnb
를사용하여나이브베이즈모델을훈련시키는경우다음제한사항이적용됩니다。
“DistributionNames”
이름-값 쌍의 인수의 값은'MN'
을 포함할 수 없습니다.
'scoretransform'
이름——값쌍의인수의값은익명함수일수없습니다。
자세한내용은代码生成简介항목을 참조하십시오.
다음MATLAB명령에해당하는링크를클릭했습니다。
명령을실행하려면matlab명령창에입력。웹브라우저는matlab명령명령지원하지않습니다。
您还可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。