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>我对另一个例子也有同样的问题。我犯的错误是输入给定阈值的结果,而不是输入参数<code>y_score</code>中的概率。它也给出了一个三点图。</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何测试setup.py?
2 回答
如何测试Singleton\u del\u()方法?
1 回答
如何测试slack api团队加入活动
4 回答
如何测试soapweb服务的RPC?
7 回答
如何测试SocketIO服务器连接(使用pytest或任何其他包)?
10 回答
如何测试stanfordnlp是否在gpu上运行?
8 回答
如何测试stdin脚本“live”,通常程序在后台与之交互?
9 回答
如何测试tensorflow cifar10 cnn tutorial mod
2 回答
如何测试Tkinter标签调用
2 回答
如何测试Tornado处理程序正确调用另一个API?
3 回答
如何测试unittests中引发的命名CheckConstraint或ValidationError?
7 回答
如何测试URL是否被调用(从另一个线程内部)
1 回答
如何测试uuuu name_uuuuuuu==“uuuuuu main_uuuuuuuuuuuuuu”以增加覆盖率
10 回答
如何测试WindowStaysOnTopHint标志是否设置在windowFlags中?
5 回答
如何测试X是否像list/tup那样嘎嘎作响
7 回答
如何测试x是否是一个泛集的成员?
5 回答
如何测试一个numpy中的所有行是否相等
6 回答
如何测试一个Python对象是否为模块?
5 回答
如何测试一个函数,它返回的东西,并有副作用?
2 回答
如何测试一个函数只接受某个类型?
7 回答