问题描述
我正在尝试使用5星级(1-5)在singup转换(0,1)上使用python进行二项逻辑回归。我成功地将csv上传到Jupyter Notebook,检查了数据以确认没有空值和数据类型正确(int64),并且一切正常。我将模型设置为:
X_train,X_test,y_train,y_test = train_test_split(df[['rating']],df.RETENTION_FLAG,test_size=0.1)
然后运行:
model = LogisticRegression()
model.fit(X_train,y_train)
但是输出只是LogisticRegression(),没有实际结果。
我的笔记本和原始数据可以在https://github.com/calebgrisell/Binomial-Regression-Python
中找到我敢肯定有一个简单的解释,但是我已经用尽了堆栈溢出和youtube,因此非常感谢您能提供的任何帮助!
解决方法
我将在此答案中说明两点:
-
model.fit(X_train,y_train)
返回LogisticRegression()
: 该模型属于LogisticRegression()
类,对模型进行拟合不会改变它。因此,它将保留为类类型LogisticRegression()
- 所有类归为0: 这可能是由于数据所致。该数据集将所有类别为1的数据点同时分类为类别0。
尽管不建议这样做,但可以通过删除0类重复项来解决。
我已将路径更改为read_csv
。希望解决方案有所帮助! :)