3

roc 曲線と対応する auc を表示するためのチュートリアルに従いました。ggplot ライブラリを使用したことがないため、エラーがどこにあるのかわかりません。ここで以下のコード:

    from sklearn import metrics
    import pandas as pd
    from ggplot import *

    preds = clf.predict_proba(Xtest)[:,1]
    fpr, tpr, _ = metrics.roc_curve(ytest, preds)

    df = pd.DataFrame(dict(fpr=fpr, tpr=tpr))
    ggplot(df, aes(x='fpr', y='tpr')) + geom_line() + geom_abline(linetype='dashed')

これはエラーです:

   slope needed for <ggplot.geoms.geom_abline.geom_abline object at 0x7fae7e7f8d90>

どうすればこれを修正できますか?

4

3 に答える 3

0
ggplot(df, aes(x='fpr', y='tpr',ymin=0, ymax='tpr'))+ \
geom_area(alpha=0.2)+\
geom_line(x,y,aes(y='tpr'))+\
ggtitle("ROC Curve w/ AUC=%s" % str(auc))
import matplotlib.pyplot as plt
plt.plot(x,y,'--',color='grey')
于 2016-08-12T07:09:21.523 に答える
0

これは、一連のグラウンド トゥルース ラベルと予測確率が与えられた場合に、ROC 曲線をプロットする最も簡単な方法です。最良の部分は、すべてのクラスの ROC 曲線をプロットするため、複数の見栄えの良い曲線も得られることです。コードを変更しています...

import scikitplot.plotters as skplt
import matplotlib.pyplot as plt

preds = clf.predict_proba(Xtest)
skplt.plot_roc_curve(ytest, preds)
plt.show()

文字通り、必要なのは予測確率と真のラベルだけです。

これは、plot_roc_curve によって生成されたサンプル カーブです。scikit-learn のサンプル数字データセットを使用したため、10 個のクラスがあります。クラスごとに 1 つの ROC 曲線がプロットされていることに注意してください。

ROC曲線

免責事項:これは私が構築したscikit-plotライブラリを使用していることに注意してください。

于 2017-02-22T13:34:27.983 に答える
0
ggplot(df, aes(x='fpr', y='tpr'))+\
geom_line()+\
geom_abline(linetype='dashed',slope=1,intercept=0)

エラーは、引数slope =?を追加する必要があると言っていました。そしてintercept=?.afterそれは動作します

于 2016-08-12T08:54:17.180 に答える