Python 逻辑回归和连续回归与scikit学习相结合

Python 逻辑回归和连续回归与scikit学习相结合,python,machine-learning,scikit-learn,regression,Python,Machine Learning,Scikit Learn,Regression,在我的数据集X中,我有两个连续变量a、b和两个布尔变量c、d,总共4列。 我有一个多维目标y,由两个连续变量a、B和一个布尔变量C组成 我想在X列上训练一个模型,以预测y列。然而,在X上尝试了LinearRegression之后,它的性能并没有那么好(我的变量变化了几个数量级,我必须应用合适的变换来获得对数,我在这里不太详细)。 我想我需要在布尔列上使用LogisticRegression 我真正想做的是将连续变量的LinearRegression和布尔变量的LogisticRegression

在我的数据集
X
中,我有两个连续变量
a、b
和两个布尔变量
c、d
,总共4列。 我有一个多维目标
y
,由两个连续变量
a、B
和一个布尔变量
C
组成

我想在
X
列上训练一个模型,以预测
y
列。然而,在
X
上尝试了
LinearRegression
之后,它的性能并没有那么好(我的变量变化了几个数量级,我必须应用合适的变换来获得对数,我在这里不太详细)。 我想我需要在布尔列上使用
LogisticRegression

我真正想做的是将连续变量的
LinearRegression
和布尔变量的
LogisticRegression
组合到一个管道中。请注意,
y
的所有列都依赖于
X
的所有列,因此我不能简单地单独训练连续变量和布尔变量


这可能吗?如果可能,我该怎么做?

我使用了一种称为“模型树”(见下面的链接)的方法来解决同样的问题

但它需要为您的应用程序定制。如果您在使用中遇到困难,请提出更多问题

这是它的屏幕截图


如果您的目标数据
Y
有多个列,则需要使用多任务学习方法。Scikit learn包含一些用于回归的多任务学习算法,如
多任务弹性网络
,但不能将逻辑回归与线性回归结合起来,因为这些算法使用不同的损失函数进行优化。另外,你可以尝试用神经网络来解决你的问题。

据我所知,你想做的是训练一个既能预测连续变量又能预测类的单一模型。你需要将两个损失合并成一个损失,才能做到我认为在scikit learn中不可能做到的事情。但是,我建议您使用一个深度学习框架(tensorflow、pytorch等)来实现您自己的模型,该模型具有所需的属性,这将更加灵活。此外,您还可以使用神经网络修补解决上述问题,这将改善您的结果