下面的这个KNN算法的图片来自于这个B栈的老师—5分钟机器学习,这个视频做的真的是非常好,我们可以通过这个5分钟的介绍,让这个高深的理论知识建立起来一个大致的印象,知道这个算法是解决什么问题的,以及这个算法和我们的这个日产生活之间又是如何建立联系的,有助于我们对于这个算法的了解,我认为对于这些发杂的理论计算以及这个严谨的数学推导,不应该成为我们学习这个数学建模道路上面的这个拦路虎,而是应该以一个更加通俗易懂的方式学习这个算法,然后逐步地进行深入;
因此这个5分钟机器学习的这个up主制作的这个视频非常有利于我们的这个零基础入门者的学习;
就是需要划分这个录入多少个样本点,再看看这个录入的这些样本店里面的这个大致特征,在这个里面找到这个类比最多的这个样本特征作为我们的这个已知的点的数据特征;
这个算法应用就是我们的这个电影网站的这个推荐系统,其实这个就是智能过滤算法,就是根据这个相关的相似喜好的用户决定我们应该给这个用户推送怎么样的数据,这个其实和我们的这个日常生活就是密不可分的;
1)优点:只需要考虑这个局部分布的情况,不需要考虑这个总体情况,不需要了解这个总体分布;
2)缺点:和我们的这个录入的这个样本点的数量有关,即和我们的这个k的取值有很大的关系,这个k的取值会影响我们对于这个已知点的特征的定义;
决策树就是一个树状结构,我们在每一个点针对于这个对应的特征进行拆分这个分支,得到的这个最后一个节点就是我们的叶子节点,这个节点就是我们的结论(这个和我们的这个二叉树里面的内容是一样的);
硬间隔就是一个理想的情况:有一个超平面可以把我们的这个数据集合话分为两个组别,每一个样本点到这个平面的距离是最小的;
但是现实情况就是大部分情况下我们很难找到这样的一个平面,我们需要允许一定的这个误差存在,这个时候我们希望这个误差越小越好,也就是这个出错的这个样本的数量越少越好,这样的这个分类的方式就是我们的这个间隔最大化;
非线性支持向量机就是使用的这个转换函数类似的这个技巧,把原来的这个特征映射到新的这个特征空间;通过这个映射我们数据这个时候就会变得线性可分;
1)我们熟知的这个随机森林算法就是这个装袋的改进版本;
2)两个方法的区别就是我们的这个个体学习机器之间是不是存在着强依赖关系(并行化还是序列化);
这个题目之所以值得学习,因为我之前是不会进行吧计算之后的这个数据导入到这个表格里面的,因此我认为这个题目是值得我们进行学习的;
clc;clear;
//读取这个表格里面的数据
data=xlsread('shuishou.xls');%导入当前目录下的待计算所得税的数据 shuishou.xls
dataincome=data(:,2);%提取待计算所得税的数据,也即第二列。
[tax2011,tax2018]=tax(dataincome);%代入所得税计算函数,求得两种税率下的所得税。
A=[tax2011,tax2018,tax2011-tax2018];%将两种税率下的所得税,以及节约的钱数(前面二者相减),合并为一个数组(或矩阵)。
//下面的这个就是把我们的这个计算结果写入到这个表格里面去
xlswrite('shuishou.xls',A,'C2:E11');%将A保存到原来的shuishou.xls对应的位置,保存将两种税率下的所得税,以及节约钱数。
A
我们上面的这个调用了tax函数:
function [tax2011,tax2018]=tax(income)
%导入数据待写
%%2011年个税计算 起征点3500元
jishu2011=income-3500;
if jishu2011>80000
rate2011=0.45;
tax2011=jishu2011*rate2011-13505; //这个13505是这个速算扣除数,计算出来的,下面的这个5505之类的也使得,具体的这个计算的方法可以自行了解
elseif 55000<jishu2011
rate2011=0.35;
tax2011=jishu2011*rate2011-5505;
elseif 35000<jishu2011
rate2011=0.30;
tax2011=jishu2011*rate2011-2755;
elseif 9000<jishu2011
rate2011=0.25;
tax2011=jishu2011*rate2011-1005;
elseif 4500<jishu2011
rate2011=0.20;
tax2011=jishu2011*rate2011-555;
elseif 1500<jishu2011
rate2011=0.10;
tax2011=jishu2011*rate2011-105;
elseif 0<jishu2011&&jishu2011<=1500
rate2011=0.03;
tax2011=jishu2011*rate2011-0;
else
tax2011=0;
end
%%2018年10月个税计算 起征点5000元
jishu2018=income-5000;
if jishu2018>80000
rate2018=0.45;
tax2018=jishu2018*rate2018-15160;
elseif 55000<jishu2018
rate2018=0.35;
tax2018=jishu2018*rate2018-7160;
elseif 35000<jishu2018
rate2018=0.30;
tax2018=jishu2018*rate2018-4410;
elseif 25000<jishu2018
rate2018=0.25;
tax2018=jishu2018*rate2018-2660;
elseif 12000<jishu2018
rate2018=0.20;
tax2018=jishu2018*rate2018-1410;
elseif 3000<jishu2018
rate2018=0.10;
tax2018=jishu2018*rate2018-210;
elseif 0<jishu2018
rate2018=0.03;
tax2018=jishu2018*rate2018-0;
else
tax2018=0;
end
end
下面的这个就是我们计算之后,把这个数据写回到我们的这个表格里面之后的这个情况: