机器学习中的逻辑回归和线性回归的matlab程序实现

这篇博客介绍了如何在MATLAB中实现逻辑回归和线性回归。对于逻辑回归,详细展示了样本数据集的生成及分类程序,强调了梯度下降的学习率手动调节。线性回归部分同样涵盖数据集生成及拟合程序,并提到了学习率的调试。
摘要由CSDN通过智能技术生成

机器学习中的逻辑回归和线性回归的matlab程序实现

一、逻辑回归(用于分类)

1、逻辑回归样本数据集的生成程序:

clear all;
a = input('please input weights matrix:\n');
[row,col] =size(a);

num = input('how many numbers do you want"\n');
class = zeros(num,1);
rand_input = roundn(10*rand(num,col-1),-2);
rand_output = roundn(21*rand(num,1),-2);
output = roundn(rand_input(1:num,1:col-1)*a(1,2:col)' + ones(num,1)*a(1,1)+ wgn(num,1,0),-2);
for i = 1:num
    if rand_output(i,1) > output(i,1)
      class(i,1) = 1;
    else
      class(i,1) = 0;
    end
end
txt_data = [rand_input,rand_output,class];

data_base = fopen('Ldata.txt','w');
for j = 1:num
    for i = 1:col+1
    fprintf(data_base,'%4.2f\t',txt_data(j,i));
    end
    fprintf(data_base,'\n');
end

使用说明:
(1)由于在实现算法中使用的二维平面图来显示逻辑回归的分类效果,所以只能生成输入权重为2的测试矩阵,即一元一阶函数,如[5 2],y=2x+5(当然,也可以用于多元一阶函数;
(2)输入要生成的样本总数,样本数量越大,分类效果越好,但是处理时间越长。


例如:权重矩阵为[10 0.5],样本数量为5000,对应的二维图显示如下
这里写图片描述

2、用逻辑回归实现分类的程序

clear all;
%从文本文件输入数据
ex = importdata('Ldata.txt');
[row,col] = 
  • 0
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值