微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

逻辑回归 - 如何拟合具有多个特征的模型并显示系数

如何解决逻辑回归 - 如何拟合具有多个特征的模型并显示系数

我拟合了具有 1 或 2 个特征的逻辑回归:

X = df[["decile_score","age"]]
X_train,X_test,y_train,y_test = model_selection.train_test_split(
    X,y,test_size=0.20,random_state=100
)

logistic_age_model = linear_model.LogisticRegression()
logistic_age_model.fit(X_train,y_train)

beta_0 = logistic_age_model.intercept_[0]
beta_1,beta_2 = logistic_age_model.coef_[0]

print(f"Fit model: p(recid) = L({beta_0:.4f} + {beta_1:.4f} decile_score + {beta_2:.4f} age)") 

我有超过 2 个特征(例如 15 个),如何编写拟合模型以查看更改?

例如

拟合模型:p(recid) = L(-0.8480 + 0.2475 decile_score + -0.0135 age) 我想看看每 15 个特征将如何影响结果。

我是否需要为每个系数声明一个 beta,如果是这样,我该怎么做?

解决方法

我认为您正在寻找一种更有效的方法来打印许多变量的 Logistic 公式。

# Initialize model
logistic_age_model = LogisticRegression()
# Fit model (X now has 15 features)
logistic_age_model.fit(X,y)

# List of coeficient values
coefs = np.union1d(logistic_age_model.intercept_,logistic_age_model.coef_[0]).tolist()
# List of names
betas = ['beta_' + str(i) for i in range(len(coefs))]
# Combine `coefs` & `betas` to form a dictionary
d = dict(zip(betas,coefs))
# Print as formula
print('L(' + str(d) + ')')

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。