Python中文
首页
教程
问答
标签
搜索
登录
注册
在scikit中绘制ROC曲线只得到3个点
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p><strong>TLDR:scikit的<code>roc_curve</code>函数只返回特定数据集的3个点。 为什么会这样,我们又如何控制要赢多少分呢?</strong></p> <p>我试着画一个ROC曲线,但始终得到一个“ROC三角形”。</p> <pre><code>lr = LogisticRegression(multi_class = 'multinomial', solver = 'newton-cg') y = data['target'].values X = data[['feature']].values model = lr.fit(X,y) # get probabilities for clf probas_ = model.predict_log_proba(X) </code></pre> <p>为了确保长度合适:</p> <pre><code>print len(y) print len(probas_[:, 1]) </code></pre> <p>两个都返回13759。</p> <p>然后运行:</p> <pre><code>false_pos_rate, true_pos_rate, thresholds = roc_curve(y, probas_[:, 1]) print false_pos_rate </code></pre> <p>返回[0。0.28240129 1。]</p> <p>如果我调用threasholds,我得到数组([0.4822225,-0.5177775,-0.84595197])(总是只有3个点)。</p> <p>因此,我的ROC曲线看起来像三角形也就不足为奇了。</p> <p>我不能理解的是,为什么scikit的{<cd1>}只返回了3分。</strong>非常感谢帮助。</p> <p><img src="https://i.stack.imgur.com/EpVkI.png" alt="enter image description here"/></p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>点数取决于输入中唯一值的数目。因为输入向量只有2个唯一的值,所以函数给出正确的输出。</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
jupyter运行一个旧的pytorch版本
8 回答
Jupyter运行不同版本的卸载库?
7 回答
Jupyter运行指定的键盘快捷键
9 回答
Jupyter通过.local文件“逃逸”virtualenv。我该如何缓解这种情况?
1 回答
Jupyter重新加载自定义样式
5 回答
Jupyter错误:“没有名为Jupyter_core.paths的模块”
3 回答
jupyter错误:无法在随机林中将决策树视为png
10 回答
Jupyter错误'内核似乎已经死亡,它将自动重新启动'为一个给定的代码块
9 回答
Jupyter错误地用阿拉伯语和字母数字元素显示Python列表
6 回答
Jupyter隐藏数据帧索引,但保留原始样式
4 回答
Jupyter集线器:启动器中出现致命错误。。。系统找不到指定的文件
1 回答
Jupyther中相同值的相同哈希,但导出到Bigquery时不相同
8 回答
Jupy上Python的读/写访问问题
7 回答
jupy上没有模块cv
7 回答
Jupy上的排序错误
4 回答
Jupy中bqplot图形的紧凑布局
7 回答
Jupy中matplotlib plot的连续更新
9 回答
Jupy中Numpy函数的文档
6 回答
Jupy中Pandas的自动完成问题
5 回答
jupy中Qt后端的Matplotlib动画
6 回答