熊猫分类变量转换

用户名

Data.csv: param1,param2,param3,result 1,2,cat1,12 2,3,cat2,13 1,6,cat1,6 1,1,cat2,12

假设我从文件中读取数据并将类别变量转换为伪变量,如下所示:

import pandas as pd
from sklearn.cross_validation import train_test_split
from sklearn.linear_model import LinearRegression

data = pd.read_csv('data.csv')

type_dummies = pd.get_dummies(data.house_type)
data = pd.concat([data, type_dummies], axis=1)

我收到了数据帧:

1,2,1,0,..
1,6,0,1,..

我对该数据集进行了简单的线性回归并获得了系数。我如何使用熊猫在线性模型中转换新记录(new_data = np.array([12,19,cat1]))for new_data = np.array([12,19,1,0))?(这样,新的数据类别变量将被转换为虚拟变量)

汤姆·奥格斯·普格

通常,您需要设置一个管道来记录正确的category:code映射。

class CategoricalTransformer(TransformerMixin):

    def fit(self, X, y=None, *args, **kwargs):
        self.columns_ = X.columns
        self.cat_columns_ = X.select_dtypes(include=['category']).columns
        self.non_cat_columns_ = X.columns.drop(self.cat_columns_)

        self.cat_map_ = {col: X[col].cat.categories
                         for col in self.cat_columns_}
        self.ordered_ = {col: X[col].cat.ordered
                         for col in self.cat_columns_}

        self.dummy_columns_ = {col: ["_".join([col, v])
                                     for v in self.cat_map_[col]]
                               for col in self.cat_columns_}
        self.transformed_columns_ = pd.Index(
            self.non_cat_columns_.tolist() +
            list(chain.from_iterable(self.dummy_columns_[k]
                                     for k in self.cat_columns_))
        )

    def transform(self, X, y=None, *args, **kwargs):
        return (pd.get_dummies(X)
                  .reindex(columns=self.transformed_columns_)
                  .fillna(0))

这里更多

通过管道sklearn.pipeline.make_pipeline(CategoricalTransformer(), LinearRegression()),您的predict方法应该正确地从分类转换house_type为变量。

本文收集自互联网,转载请注明来源。

如有侵权,请联系debugcn@gmail.com 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从大熊猫中的假人重构分类变量

来自分类Dev

使用熊猫根据键变量将多行转换为单行

来自分类Dev

熊猫的分类变量

来自分类Dev

如何为Sci-kit Learn重新格式化分类熊猫变量

来自分类Dev

R-将各种虚拟变量/逻辑变量从其名称转换为单个分类变量/因子

来自分类Dev

如何使用熊猫read_csv加载分类变量?

来自分类Dev

将列中的字符串转换为分类变量

来自分类Dev

绘制时将熊猫(python)分类x轴转换为连续值

来自分类Dev

熊猫中分类变量的顺序

来自分类Dev

如何对熊猫中的多值分类变量进行二进制编码?

来自分类Dev

将分类熊猫系列转换为字符串的快速方法

来自分类Dev

如何将熊猫数据框的某些列转换为分类列?

来自分类Dev

将分类列转换为单个虚拟变量列

来自分类Dev

R-如何转换频率中的分类变量

来自分类Dev

从熊猫数据框中提取(转换)变量和相关值

来自分类Dev

将整数列转换为熊猫中的分类标签

来自分类Dev

将分类变量转换为数字PowerQuery

来自分类Dev

将分类变量转换为数字PowerQuery

来自分类Dev

将分类变量转换为数字PowerQuery

来自分类Dev

将分类变量转换为数字PowerQuery

来自分类Dev

将数值变量转换为分类和分组

来自分类Dev

绘制时将熊猫(python)分类x轴转换为连续值

来自分类Dev

如何在熊猫中转换分类数据框

来自分类Dev

如何将分类变量转换为其频率。

来自分类Dev

如何转换分类特征

来自分类Dev

将多个分类变量转换为 R 中的因子

来自分类Dev

如何在不增加数据大小的情况下将熊猫中的分类变量转换为数值?

来自分类Dev

有没有办法用 Pandas 的字典将分类变量转换为虚拟变量?

来自分类Dev

如何将连续变量转换为分类变量?

Related 相关文章

  1. 1

    从大熊猫中的假人重构分类变量

  2. 2

    使用熊猫根据键变量将多行转换为单行

  3. 3

    熊猫的分类变量

  4. 4

    如何为Sci-kit Learn重新格式化分类熊猫变量

  5. 5

    R-将各种虚拟变量/逻辑变量从其名称转换为单个分类变量/因子

  6. 6

    如何使用熊猫read_csv加载分类变量?

  7. 7

    将列中的字符串转换为分类变量

  8. 8

    绘制时将熊猫(python)分类x轴转换为连续值

  9. 9

    熊猫中分类变量的顺序

  10. 10

    如何对熊猫中的多值分类变量进行二进制编码?

  11. 11

    将分类熊猫系列转换为字符串的快速方法

  12. 12

    如何将熊猫数据框的某些列转换为分类列?

  13. 13

    将分类列转换为单个虚拟变量列

  14. 14

    R-如何转换频率中的分类变量

  15. 15

    从熊猫数据框中提取(转换)变量和相关值

  16. 16

    将整数列转换为熊猫中的分类标签

  17. 17

    将分类变量转换为数字PowerQuery

  18. 18

    将分类变量转换为数字PowerQuery

  19. 19

    将分类变量转换为数字PowerQuery

  20. 20

    将分类变量转换为数字PowerQuery

  21. 21

    将数值变量转换为分类和分组

  22. 22

    绘制时将熊猫(python)分类x轴转换为连续值

  23. 23

    如何在熊猫中转换分类数据框

  24. 24

    如何将分类变量转换为其频率。

  25. 25

    如何转换分类特征

  26. 26

    将多个分类变量转换为 R 中的因子

  27. 27

    如何在不增加数据大小的情况下将熊猫中的分类变量转换为数值?

  28. 28

    有没有办法用 Pandas 的字典将分类变量转换为虚拟变量?

  29. 29

    如何将连续变量转换为分类变量?

热门标签

归档