Sklearn Logistic回归,绘制概率曲线图

Ton*_*ony 5 python scatter-plot pandas scikit-learn

我正在尝试创建类似于ISLR的示例的逻辑回归,但改用python

data=pd.read_csv("data/Default.csv")

#first we'll have to convert the strings "No" and "Yes" to numeric values
data.loc[data["default"]=="No", "default"]=0
data.loc[data["default"]=="Yes", "default"]=1
X = data["balance"].values.reshape(-1,1)
Y = data["default"].values.reshape(-1,1)

LogR = LogisticRegression()
LogR.fit(X,np.ravel(Y.astype(int)))

#matplotlib scatter funcion w/ logistic regression
plt.scatter(X,Y)
plt.xlabel("Credit Balance")
plt.ylabel("Probability of Default")
Run Code Online (Sandbox Code Playgroud)

但是当我想要右边的图形时,我一直在左边得到图形:

在此处输入图片说明

编辑:plt.scatter(x,LogR.predict(x))是我的第二个,也是错误的猜测。

chr*_*821 8

你使用predict(X)它给出了类的预测。替换predict(X)predict_proba(X)[:,1]which 将给出数据属于第 1 类的概率。


Woo*_*ide 6

您可以通过以下语法使用seaborn regplot

import seaborn as sns
sns.regplot(x='balance', y='default', data=data, logistic=True)
Run Code Online (Sandbox Code Playgroud)