【问题标题】:Encode categorical data编码分类数据
【发布时间】:2019-03-12 19:51:13
【问题描述】:

我正在尝试在我的数据集中编码company_names,我尝试使用 pd.get_dummies(Data['Company_share_code']) 也有

# X=data.iloc[:,0].values
from sklearn.preprocessing import LabelEncoder,OneHotEncoder

labelencoder=LabelEncoder()
Data['Company_share_code']=labelencoder.fit_transform(Data['Company_share_code'])

#One hot encoding

Onehotencoder=OneHotEncoder(categorical_features=[0])
Onehotencoder.fit_transform(Data['Company_share_code'])

但我收到了这个错误 -

/opt/conda/lib/python3.6/site-packages/sklearn/preprocessing/_encoders.py in _handle_deprecations(self, X)
    392                     "use the ColumnTransformer instead.", DeprecationWarning)
    393                 # Set categories_ to empty list if no categorical columns exist
--> 394                 n_features = X.shape[1]
    395                 sel = np.zeros(n_features, dtype=bool)
    396                 sel[np.asarray(self.categorical_features)] = True

IndexError: tuple index out of range

【问题讨论】:

  • 你在OneHotEncoder或LabelEncoder遇到这个问题
  • @jeril in oneHotencoder

标签: python machine-learning encoding scikit-learn


【解决方案1】:

你必须这样做

Onehotencoder=OneHotEncoder(categorical_features=[0])
Onehotencoder.fit_transform(Data['Company_share_code'].values.reshape(-1, 1))

这会给你一个稀疏矩阵。您可以使用 todense() 将其转换为密集型

以下是玩具示例

from sklearn.preprocessing import LabelEncoder,OneHotEncoder


Data = pd.DataFrame({'Company_share_code' : ['A', 'B', 'C', 'B', 'B', 'A']})

labelencoder=LabelEncoder()
Data['Company_share_code']=labelencoder.fit_transform(Data['Company_share_code'])

#One hot encoding

Onehotencoder=OneHotEncoder(categorical_features=[0])
h = Onehotencoder.fit_transform(Data['Company_share_code'].values.reshape(-1, 1))

h.todense()

# Output
matrix([[1., 0., 0.],
        [0., 1., 0.],
        [0., 0., 1.],
        [0., 1., 0.],
        [0., 1., 0.],
        [1., 0., 0.]])

【讨论】:

    猜你喜欢
    • 2020-12-21
    • 2017-11-06
    • 1970-01-01
    • 1970-01-01
    • 2021-03-30
    • 2019-10-24
    • 2020-09-30
    • 1970-01-01
    • 2019-07-17
    相关资源
    最近更新 更多