【问题标题】:Trying to create dummy variables using OnehotEncoder尝试使用 OnehotEncoder 创建虚拟变量
【发布时间】:2020-03-26 14:20:27
【问题描述】:

我正在学习机器学习,并尝试对数据进行预处理。我遇到了一个错误。 X[:, 1] = X_label_encoder_1.fit_transform(X[:,1]) IndexError: index 1 is out of bounds for axis 1 with size 1. 我尝试了所有方法,但我无法得到它。

# get the dependant and independent variables
X = dataset.iloc[:, 3:13].values
y = dataset.iloc[:, 13].values

X = X.reshape(-1, 1)
y = y.reshape(-1, 1)

# change the categorical values into numbers
X_label_encoder_1 = LabelEncoder()
X[:, 1] = X_label_encoder_1.fit_transform(X[:,1])
X_label_encoder_2 = LabelEncoder()
X[:, 2] = X_label_encoder_2.fit_transform(X[:,2])

onehotencoder = OneHotEncoder(categories=X[1])
X = onehotencoder.fit_transform(X).toarray()

【问题讨论】:

    标签: python dataframe machine-learning scikit-learn artificial-intelligence


    【解决方案1】:

    这是我的处理方法:

    # load 'pandas' library
    import pandas as pd
    
    # One-hot encode categorical variable
    one_hot_column_name = pd.get_dummies(dataset_name['column_to_encode']
    
    # Drop original categorical variable after it has been encoded
    dataset_name = dataset_name.drop('categorical_column', axis = 1)
    
    # join codings together
    dataset_name = dataset_name.join([one_hot_column_name])
    

    希望这可行,欢迎使用机器学习!

    【讨论】:

      猜你喜欢
      • 2020-07-07
      • 1970-01-01
      • 2014-04-01
      • 1970-01-01
      • 2023-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-06
      相关资源
      最近更新 更多