如何将logistic回归结果的计数图添加到散点图中?我想要彩色的0/1区域,用来描绘分类器的决策边界。
import pandas as pd
import numpy as np
import pylab as pl
import statsmodels.api as sm
# Build X, Y from file
f = open('ex2data2.txt')
lines = f.readlines()
x1 = []
x2 = []
y = []
for line in lines:
line = line.replace("\n", "")
vals = line.split(",")
x1.append(float(vals[0]))
x2.append(float(vals[1]))
y.append(int(vals[2]))
x1 = np.array(x1)
x2 = np.array(x2)
y = np.array(y)
x = np.vstack([x1, x2]).T
# Scatter plot 0/1s
pos_mask = y == 1
neg_mask = y == 0
pos_x1 = x1[pos_mask]
neg_x1 = x1[neg_mask]
pos_x2 = x2[pos_mask]
neg_x2 = x2[neg_mask]
pl.clf()
pl.scatter(pos_x1, pos_x2, c='r')
pl.scatter(neg_x1, neg_x2, c='g')
# Run logistic regression
logit = sm.Logit(y, x)
result = logit.fit()
result.params
result.predict([1.0, 1.0])
# Now I want to add a countour for 0/1 regression results to the scatter plot.
我会尽力回答,但对于我的回答,您必须理解一些假设,这些假设可能适用于您的代码,也可能不适用于您的代码:
我的导入:
X
包含您的功能它看起来像这样:是102.2,如图所示:
ytrain
包含基本的真值,在本例中是布尔值,但您可以做0/1。现在是51
最后
clf
包含您的模型,在我的例子中是一个拟合模型 另外,我使用的是scikit learn中的logisticcreturnation,这依赖于我的clf.predict_proba
提供我需要的信息来建立标签和轮廓。我不熟悉 你正在使用的确切软件包,但请记住这一点。结果如下:
相关问题 更多 >
编程相关推荐