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问题
Python中两个字典的交集
3 回答
python中两个字符串上的异或操作数?
10 回答
Python中两个字符串中的类似句子
3 回答
Python中两个字符串之间的Hamming距离
2 回答
python中两个字符串之间的匹配模式
4 回答
python中两个字符串之间的按位或
1 回答
python中两个字符串之间的数据(字节)切片
2 回答
python中两个字符串之间的模式
7 回答
python中两个字符串作为子字符串的区别
5 回答
Python中两个字符串元组的比较
2 回答
Python中两个字符串列表中的公共字符串
6 回答
python中两个字符串的Anagram测试
9 回答
Python中两个字符串的正则匹配
2 回答
python中两个字符串的笛卡尔乘积
5 回答
Python中两个字符串相似性的比较
3 回答
python中两个字符串语义相似度的求法
2 回答
Python中两个字符置换成固定长度的字符串,每个字符的数目相等
1 回答
Python中两个对数方程之间的插值和平滑数据
1 回答
Python中两个对象之间的And/Or运算符
9 回答
python中两个嵌套字典中相似键的和值
8 回答