习题3.3 与 习题 3.5 编程实现对率回归、线性判别分析
原始数据:
其中‘+’表示好瓜,‘o'表示坏瓜
对率回归即线性判别分析原理见书。
以下为代码及结果,Matlab实现:
1、对率回归(逻辑斯蒂回归)
clear all; clc;
x = importdata('ex4x.txt');
y = importdata('ex4y.txt');
[m,n] = size(x);
sample_num = m;
x = [x,ones(m,1)];
figure; %画初始分布图
pos = find(y == 1);neg = find(y == 0);
plot(x(pos,1),x(pos,2),'+');
hold on;
plot(x(neg,1),x(neg,2),'o');
xlabel('density');
ylabel('sweet');
g = @(z)(exp(z) ./ (1.0 + exp(z)));
beta = zeros(n+1,1);
times = 500; %100次迭代
for i = 1:times
delta1 = 0;
delta2 = 0;
for j=1:m
tmp_x = x(j,:)';
p = g(beta' * tmp_x);
delta1 = delta1 - tmp_x * (y(j

本文介绍了如何使用Matlab实现对率回归(逻辑斯蒂回归)和线性判别分析。针对一组区分好瓜与坏瓜的数据,虽然逻辑斯蒂回归的效果仅属一般,但线性判别分析的结果并不理想。
&spm=1001.2101.3001.5002&articleId=79050144&d=1&t=3&u=9dd9c558563c4022a5a6517f479a699f)
490

被折叠的 条评论
为什么被折叠?



