python中shuffle函数_科学网—Python中函数:pop()、sklearn中shuffle、classification_report - 张伟的博文...

(1) pop函数

pop() 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。语法:list.pop(obj=list[-1]) //默认为 index=-1,删除最后一个列表值。

obj -- 可选参数,要移除列表元素的对象。

该方法返回从列表中移除的元素对象。

sentence=['All', 'good', 'things', 'come', 'to' ,'those', 'who', 'wait.']

print("默认为 index=-1,删除最后一个列表值:",sentence.pop(-1),"\n")

print("默认删除最后一个列表值: ",sentence.pop(),"\n")

print("删除第一个元素:",sentence.pop(0),"\n")

print("删除第三个元素:",sentence.pop(2),"\n")

print("输出剩余元素:",sentence)

运行结果为:(该方法返回从列表中移除的元素对象。)

每执行print()一下就移除一个

1447456-20180725133401810-22553903.png

(2)sklearn中的shuffle

功能:shuffle打乱样本的顺序,它只会打乱样本的顺序,每个样本的数据维持不变。

示例代码:import numpy as np

from sklearn.utils import shuffle

#3.通过字典创建data

dic1 = {

'name': ['张三', '李四', '王二麻子', '小淘气'],

'age': [37, 30, 50, 16],

'gender': ['男', '男', '男', '女']}

df5 = pd.DataFrame(dic1)

print('df5', df5)

df5_shuff = shuffle(df5)

print('df5_shuff',df5_shuff)

(3)classification_report

分类模型的评估标准一般最常见使用的是准确率(estimator.score()),即预测结果正确的百分比。准确率是相对所有分类结果;

混淆矩阵:

home.php?mod=attachment&filename=image.png&id=586077

精确率、召回率、F1-score是相对于某一个分类的预测评估标准。

精确率(Precision):预测结果为正例样本中真实为正例的比例(查的准)(

gif.latex?%5Ctfrac%7BTP%7D%7BTP+FP%7D

home.php?mod=attachment&filename=image.png&id=586079

召回率(Recall):真实为正例的样本中预测结果为正例的比例(查的全)(

gif.latex?%5Cfrac%7BTP%7D%7BTP+FN%7D

home.php?mod=attachment&filename=image.png&id=586080

分类的其他评估标准:F1-score,反映了模型的稳健型

home.php?mod=attachment&filename=image.png&id=586081

具体示例代码见博客:

(4)kappa系数

python脚本代码:

def kappa(matrix):

n = np.sum(matrix)

sum_po = 0

sum_pe = 0

for i in range(len(matrix[0])):

sum_po += matrix[i][i]

row = np.sum(matrix[i, :])

col = np.sum(matrix[:, i])

sum_pe += row * col

po = sum_po / n

pe = sum_pe / (n * n)

# print(po, pe)

return (po - pe) / (1 - pe)

#其中,matrix是一个方阵,若共有i个类别,则matrix.shape = (i,i).

#用下面的代码进行测试:

import numpy as np

matrix = [

[239,21,16],

[16,73,4],

[6,9,280]]

matrix = np.array(matrix)

print(kappa(matrix))

概念说明:

分类是机器学习中监督学习的一种重要应用,基于统计的机器学习方法可以使用SVM进行二分类,可以使用决策书,梯度提升树等进行多分类。

对于二分类模型,我们通常可以使用ROC曲线来评估模型的预测效果。这里,我们介绍一下在多分类中衡量模型评估准确度的一种方法–kappa系数评估方法。

Kappa系数

kappa系数是用在统计学中评估一致性的一种方法,我们可以用他来进行多分类模型准确度的评估,这个系数的取值范围是[-1,1],实际应用中,一般是[0,1],与ROC曲线中一般不会出现下凸形曲线的原理类似。

这个系数的值越高,则代表模型实现的分类准确度越高。kappa系数的计算方法可以这样来表示:

895802-20190904162613804-725236553.png

home.php?mod=attachment&filename=image.png&id=586098

推荐:使用现成的函数

【参考】转载本文请联系原作者获取授权,同时请注明本文来自张伟科学网博客。

链接地址:http://blog.sciencenet.cn/blog-3428464-1246995.html

上一篇:分类问题中的过采样和欠采样

下一篇:numpy中的np.max 与 np.maximum区别以及 常用函数+实例代码(softmax)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值