数据分析:Task5-数据建模及模型评估

1.关于nan的问题

1.在pandas中有个另类的存在就是nan,解释是:not a number,不是一个数字,但是它的类型确是一个float类型。numpy中也存在关于nan的方法,如:np.nan
2.对于pandas中nan的处理,简单的说有以下几个方法。
查看是否是nan, s1.isnull() 和 s1.notnull()
丢弃有nan的索引项,s1.dropna()
将nan填充为其他值,df2.fillna()

不能用=,== !!!

2.分类变量自动编码
data = pd.get_dummies(data)

会将分类变量自动编码

3.混淆矩阵

在这里插入图片描述

  1. 真阳性(True Positive,TP):样本的真实类别是正例,并且模型预测的结果也是正例

  2. 真阴性(True Negative,TN):样本的真实类别是负例,并且模型将其预测成为负例

  3. 假阳性(False Positive,FP):样本的真实类别是负例,但是模型将其预测成为正例

  4. 假阴性(False Negative,FN):样本的真实类别是正例,但是模型将其预测成为负例

4.ROC曲线

假正率为不同阈值下的横坐标,召回率为不同阈值下的纵坐标。

sklearn.metrics.roc_curve (y_true, y_score, pos_label=None, sample_weight=None,drop_intermediate=True)

参数:
y_true : 数组,形状 = [n_samples],真实标签
y_score : 数组,形状 = [n_samples],置信度分数,可以是正类样本的概率值,或置信度分数,或者decision_function返回的距离
pos_label : 整数或者字符串, 默认None,表示被认为是正类样本的类别
sample_weight : 形如 [n_samples]的类数组结构,可不填,表示样本的权重
drop_intermediate : 布尔值,默认True,如果设置为True,表示会舍弃一些ROC曲线上不显示的阈值点,这对于计算一个比较轻量的ROC曲线来说非常有用。这个类依次返回:FPR,Recall以及阈值。

模型在捕获少数类的能力变强的时候,尽量不误伤多数类,也就是说,随着recall的变大,FPR的大小越小越好。所以我们希望找到的最优点,其实是Recall和FPR差距最大的点。这个点,又叫做约登指数

过程:先计算概率predict_proba——然后给出阈值,判定所属类别——给出置信度decision_function——画出roc曲线。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值