用Python做了1个逻辑回归模型:结合用户的3项信息,判断他是否会在这次活动中使用优惠券。
比如有个用户A,他3项信息分别是(0,1,1),那怎么算出来对应的y值,从而判断他会不会使用优惠券。
把公式提取出来就可以了。
代码给你:
from sklearn.datasets import load_breast_cancer
from sklearn.linear_model import LogisticRegression
import numpy as np
#----数据加载------
data = load_breast_cancer()
X = data.data[:,4:8]
y = data.target
#-----训练模型--------------------
clf = LogisticRegression(random_state=0)
clf.fit(X,y)
#------模型预测-------------------------------
pred_y = clf.predict(X)
pred_prob_y = clf.predict_proba(X)[:,1]
#------------提取系数w与阈值b-----------------------
w = clf.coef_[0] # 模型系数(对应归一化数据)
b = clf.intercept_ # 模型阈值(对应归一化数据)
self_prob_y = 1/(1+np.exp(-(X.dot(w)+ b) )) # 用公式预测
#------------打印信息--------------------------
print("\n------模型参数-------")
print( "模型系数:",w)
print( "模型阈值:",b)
print("提取公式计算的概率与sklearn自带预测概率的最大误差", abs(pred_prob_y-self_prob_y).max())