处理多元线性回归Python中的分类和数值变量

问题描述 投票:0回答:1

所以我已经使用sklearn中的LinearRegression在Python中执行了多元线性回归。

我的自变量都是数字的(我的依赖变量也是如此)

但是现在我想进行一个结合数值和非数值独立变量的多元线性回归。

因此我有几个问题:

  • 如果我使用虚拟变量或One-Hot用于非数字变量,那么我是否能够从sklearn执行LinearRegression?
  • 如果是,我是否必须更改一些参数?
  • 如果没有,我该如何进行线性回归?
  • 困扰我的一件事是虚拟/单热方法不处理序数变量,对吧? (因为在我看来它不应该以相同的方式编码)
  • 问题是:即使我想编码不同的名义和序数变量,Python似乎也无法区分它们两者之间的区别?

这个东西对你来说可能很容易,但现在你可以说我有点困惑,所以我真的可以使用你的帮助!

提前致谢,

亚历克斯

pandas python-2.7 scikit-learn linear-regression
1个回答
1
投票
  • 如果我使用虚拟变量或One-Hot用于非数字变量,那么我是否能够从sklearn执行LinearRegression?

事实上,模型必须专门用数字数据输入,因此必须使用OneHot向量作为输入要素中的分类数据。为此你可以看看Scikit-Learn的LabelEncoderOneHotEncoder

  • 困扰我的一件事是虚拟/单热方法不处理序数变量,对吧? (因为在我看来它不应该以相同的方式编码)

是。正如你所提到的,一个热门方法不处理序数变量。使用序数特征的一种方法是创建比例映射,并将这些特征映射到该比例。 Ordinal是这些案件非常有用的工具。您可以根据所提到的预定义比例映射为它提供映射字典。否则,显然它会随机将整数分配给不同的类别,因为它不知道推断任何订单。从文档:

序数编码使用单个整数列来表示类。可以传入一个可选的映射字典,在这种情况下,我们使用的知识是类本身有一些真正的顺序。否则,假定类没有真正的顺序,并且随机选择整数。

希望这可以帮助。

© www.soinside.com 2019 - 2024. All rights reserved.