Python 如何根据线性回归结果绘制S形曲线?
我有一个线性回归分类器。我想用线性回归模型的参数(斜率和插入率)实现并绘制一条S形曲线,但我得到了一些错误 代码: 错误消息: TypeError回溯(最近一次调用上次) 在() 28返回a 29 --->30 sig=sigmoid(LR.intercept_uux,LR.coef_ux) 31 32 plt.图(X,sig) 乙状结肠(b0,b1,x) 25 a=[] 26对于x中的项目: --->27 a.附加(1/(1+数学表达式(-(b0+b1*x))) 28返回a 二十九 TypeError:只有大小为1的数组才能转换为Python标量 x中项目的Python 如何根据线性回归结果绘制S形曲线?,python,regression,Python,Regression,我有一个线性回归分类器。我想用线性回归模型的参数(斜率和插入率)实现并绘制一条S形曲线,但我得到了一些错误 代码: 错误消息: TypeError回溯(最近一次调用上次) 在() 28返回a 29 --->30 sig=sigmoid(LR.intercept_uux,LR.coef_ux) 31 32 plt.图(X,sig) 乙状结肠(b0,b1,x) 25 a=[] 26对于x中的项目: --->27 a.附加(1/(1+数学表达式(-(b0+b1*x))) 28返回a 二十九 TypeE
:
a、 追加(1/(1+数学表达式(-(b0+b1*x)))
归还
我想你有打字错误x
是一个数组,但您要将它乘以b1并加上b0math.exp
在标量上工作,而不是在数组上。对于x中的项:
a、 追加(1/(1+数学表达式(-(b0+b1*x)))
归还
我想你有打字错误
x
是一个数组,但您要将它乘以b1并加上b0math.exp
在标量上工作,而不是在数组上。谢谢,但是我得到的曲线看起来更像一条直线。不是S形曲线,但我得到的曲线看起来更像一条直线。不是一个S形曲线你能发布数据或数据链接吗?你能发布数据或数据链接吗?
import pandas as pd
import seaborn as sb
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
import math
glucose1 = [i for i in range(100,123)]
glucose2 = [i for i in range(130,140)]
glucose = glucose1 + glucose2
diabetes = [1 if i>126 else 0 for i in glucose]
Data = pd.DataFrame(list(zip(glucose,diabetes)), columns = ['Glucose','Diabetes'])
Data.head()
Y = Data['Diabetes'].values
X = Data['Glucose'].values
LR = LinearRegression()
LR.fit(X.reshape(-1,1),Y)
def sigmoid(b0,b1,x):
a = []
for item in x:
a.append(1/(1 + math.exp(-(b0 + b1 * x))))
return a
sig = sigmoid(LR.intercept_, LR.coef_, X)
plt.plot(X,sig)
plt.show()