2024-09-24 00:21:14 发布
网友
dataset image我有一个交通数据集,它包含6个分类变量(即发送者、接收者、卡车名称、fromcity、tocity、vehicletype)和一个连续变量(即重量),我想预测销售量(这是连续变量)。我在数据集中有13000条记录。你知道吗
我已经尝试过一种热编码,但是每个变量中有300多个类别,这意味着(300*6=1800个变量) 对列进行编码还是有其他解决方案?你知道吗
在这里您可以看到示例数据集:
我学到了三种标签编码方法。你知道吗
删除包含分类数据的列 如果分类变量不多,那么从这个开始。你知道吗
标签编码 第二种可能性将把您的值转换为数字,例如:['tuesday'、'most'、'three']到[1,2,3]。但是,如果您已经将数据拆分为train和test,请检查test data和train data中的唯一值是否不同。你知道吗
# Apply label encoder encoderlab = LabelEncoder() for col in cols: label_X_train[col] = encoderlab.fit_transform(label_X_train[col]) label_X_valid[col] = encoderlab.transform(label_X_valid[col])
一个热编码 第三种可能性是,对于每个包含分类数据的列,检查列中唯一值的数量。如果有许多大于10的唯一值,最好对它们进行标签编码,而其他小于10个唯一值的则进行一次热编码。你知道吗
oh_encod = OneHotEncoder(handle_unknown='ignore', sparse=False) OH_X_train = pd.DataFrame(oh_encod.fit_transform(X_train[low_cardinality_cols])) OH_X_valid = pd.DataFrame(oh_encod.transform(X_valid[low_cardinality_cols]))
在Kagglehandling-categorical-variables(练习细节)或categorical-variables中了解更多信息
销售是你的目标变量,其余是自变量。你可以使用Logistic回归(有不同类型的回归)来预测与其他变量相关的销售额。你需要深入挖掘适合你需要的回归模型。你知道吗
我建议你做以下事情:
1-你需要找到相关性并决定需要哪些变量。这样您就可以删除像name这样的变量。因为他们对结果的贡献可能不大。只编码非常重要的变量。你知道吗
2-尝试通过对值进行分组来创建新的变量,如车辆类型/城市,并减少唯一值,找出其是否重要。这样就可以使用新值而不是旧列。你知道吗
3-尝试根据列中的值使用不同的编码,如序数编码。这可能有助于减少列数。你知道吗
我学到了三种标签编码方法。你知道吗
删除包含分类数据的列 如果分类变量不多,那么从这个开始。你知道吗
标签编码 第二种可能性将把您的值转换为数字,例如:['tuesday'、'most'、'three']到[1,2,3]。但是,如果您已经将数据拆分为train和test,请检查test data和train data中的唯一值是否不同。你知道吗
一个热编码 第三种可能性是,对于每个包含分类数据的列,检查列中唯一值的数量。如果有许多大于10的唯一值,最好对它们进行标签编码,而其他小于10个唯一值的则进行一次热编码。你知道吗
在Kagglehandling-categorical-variables(练习细节)或categorical-variables中了解更多信息
销售是你的目标变量,其余是自变量。你可以使用Logistic回归(有不同类型的回归)来预测与其他变量相关的销售额。你需要深入挖掘适合你需要的回归模型。你知道吗
我建议你做以下事情:
1-你需要找到相关性并决定需要哪些变量。这样您就可以删除像name这样的变量。因为他们对结果的贡献可能不大。只编码非常重要的变量。你知道吗
2-尝试通过对值进行分组来创建新的变量,如车辆类型/城市,并减少唯一值,找出其是否重要。这样就可以使用新值而不是旧列。你知道吗
3-尝试根据列中的值使用不同的编码,如序数编码。这可能有助于减少列数。你知道吗
相关问题 更多 >
编程相关推荐