<<机器学习实战>>12-14节笔记:机器学习模型可信度、逻辑回归模型及多分类问题处理

12机器学习模型可信度

是否检验模型的指标好就一定说明模型可用?不是,必须得保证训练的样本和整天基本满足同一分布。

统计学习和机器学习区别:统计学习是根据样本模拟总体规律进而去预测(当然要比对样本和总体的统计量是否一致,),而机器学习则会取不同阶段的数据分别做训练集和验证集,不涉及整体。可见机器学习的检验过程更简单。

介绍了如何切分训练集和测试集的code

首先介绍vsplit函数,它可以将数组按行切分

a=np.arange(10).reshape(5,2)

np.vsplit(a,[4,])

得到结果:1——4行一个数组,第5行一个数组

再写数据集切分函数

def array_split(features,labels,rate=0.7,random_state=24):

    np.random.seed(random_state)

    np.random.shuffle(features)

    np.random.seed(random_state)

    np.random.shuffle(labels)#总数据量,用来算要在多少个数据处划分

    num_input=len(labels)

    split_indices=int(num_input*rate)

    xtrain,xtest=np.vsplit(features,[split_indices,])

    ytrain,ytest=np.vsplit(labels,[split_indices,])

return xtrain,xtest,ytrain,ytest

#测试上述函数:

f=np.arange(10).reshape(-1,1)

l=np.arange(1,11).reshape(-1,1)

array_split(f,l)

发现测试结果确实是对应切分的。

训练集、验证集、测试集:训练集调参,验证集调超参,测试集严格不能带入模型训练中。如果想进一步提升参数准确度,还可用交叉验证。

13逻辑回归与多分类

广义线性模型:在线性模型两侧加函数,使得它能捕捉更一般的规律

一个小技巧:在x后面加一列1可以方便后续求出截距项

几率与对数几率:

而对于y=wTx,如果将左侧调整为lny/(1-y)则变为对数几率模型

逻辑回归的输出y是否是概率?

如果自变量的分布通过检验,则为概率

14多分类学习

两种思路:将逻辑回归改为多分类形式/将二分类学习器推广到多分类情况中

总体思路:先拆分后集成,即先将数据集拆分成读个、训练多个模型,后续进来的数据用这多个模型进行预测。一般分为三类方法:一对一(OvO)、一对剩余(OvR)和多对多(MvM)

OvO:

把同一分类的变量作为一个集合,然后两两组合

融合:根据每个分类器的结果按照少数服从多数的原则融合

OvR:每次将一类样例作为正例,其余作为反例,训练四个分类器

融合:若仅有一个分类器将新数据预测为正例,则属于它;如果有多个将新数据预测为正例,则选择概率最高的那个分类结果。

两者比较:OvO由于每个数据集更小,因此整体训练时间较短;性能方面两者类似。

MvM:

思路:将任意1/2/3。。。类作为正类,其余作为父类,穷尽所有划分方法,然后挑选几个

融合:根据四个子模型算出新数据编码,然后看离哪个的距离最近

距离计算采用闵可夫斯基距离,公式为

Python实现:

def dist(x,y,cat=2):#cat表示计算几次方的距离

    d1=np.abs(x-y)

    if x.ndim>1 or y.ndim>1:#这个if为了防止一个数组有多行,要按行求和

        res1=np.power(d1,cat).sum(1)#按行求和,power是算几次方

    else:

        res1=np.power(d1,cat).sum()

        res=np.power(res1,1/cat)

return res

测试:

x=np.array([1,2])

y=np.array([[2,3],[4,5]])

dist(x,y)

结果:

array([1.41421356, 4.24264069])

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值