python - 如何用一个热编码变量拟合统计模型
问题描述
我的数据框最初看起来像这样:
item_id title user_id gender .....
0 1 Toy Story (1995) 308 M
1 4 Get Shorty (1995) 308 M
2 5 Copycat (1995) 308 M
比我运行混合效果回归,效果很好:
import statsmodels.api as sm
import statsmodels.formula.api as smf
md = smf.mixedlm("rating ~ C(gender) + C(genre) + C(gender)*C(genre)", data, groups=data["user_id"])
mdf=md.fit()
print(mdf.summary())
但是,之后我对性别变量进行了一次热编码,数据框变成了这样:
item_id title user_id gender_M gender_F .....
0 1 Toy Story (1995) 308 1 0
1 4 Get Shorty (1995) 308 1 0
2 5 Copycat (1995) 308 1 0
像这样运行模型是否正确(用gender_M和gender_F改变性别)?是一样的吗?或者,还有更好的方法?
md = smf.mixedlm("rating ~ gender_M + gender_F + C(genre) + C(gender)*C(genre)", data, groups=data["user_id"])
mdf=md.fit()
print(mdf.summary())
解决方案
推荐阅读
- c# - 如果调用方法,则使用我的代码将切换按钮设置为 false
- r - R apply() 函数返回多个元素的列表
- java - 为什么反射 api 在测试用例中不起作用
- ios - HomeKit 委托 API 在 iOS 颤振插件中不起作用
- php - 重写规则 .htaccess 不适用于在 ULR 中获取 PHP 变量
- amcharts - amCharts 带有值的自定义图例(正确的方法和对齐方式)
- java - NullPointerException 尝试检索 @ManyToOne 父字段 - Spring Boot
- python - 如何在 HTML 输入表单中保持文本格式?
- python - 使用训练有素的神经网络,图像显示更广泛的周围环境
- javascript - 使用虚拟列表和不同大小的项目拖放