斜决策树 OC1算法 matlab实现

本文介绍了OC1算法在构建斜决策树中的应用,该算法是一种基于贪婪策略并结合随机扰动的线性分类器选择方法。在MATLAB中,通过设计结点划分平面,对数据集进行线性组合划分。实验结果显示,OC1算法能够有效地处理多个属性的线性组合,避免局部最优,并具有良好的时间复杂度。
摘要由CSDN通过智能技术生成

一、结点划分平面的设计
oc1算法是一种贪婪算法,先贪心的选择每个属性的最优权值,在加入随机扰动试图找到更好的边界。
寻找属性最优权值的算法如下:
在这里插入图片描述
加入随机扰动,产生随机边界进行搜索算法:
在这里插入图片描述
二、matlab实验

%寻找最优轴平行划分超平面
melondata = [0.697	0.46	1
0.774	0.376	1
0.634	0.264	1
0.608	0.318	1
0.556	0.215	1
0.403	0.237	1
0.481	0.149	1
0.437	0.211	1
0.666	0.091	0
0.23	0.267	0
0.245	0.057	0
0.343	0.099	0
0.639	0.161	0
0.657	0.198	0
0.36	0.37	0
0.593	0.042	0
0.719	0.103	0];

%划分属性和标签
x_axis = melondata(:,1);
y_axis = melondata(:,2);
label_axis = melondata(:,3);
%样本数量
count = length(label_axis);

a_coemax = [0, 1, -0.2045];
%扰动a1
%计算Vj
d_data = [melondata(:,1:2), ones(count, 1)]';

for m = 1 : 500
for i = 1 : 3
    v_j = (a_coemax * d_data);
    u_j =
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值