2024-05-23 19:01:29 发布
网友
下面是UCI数据存储库中的数据集。我想建立一个回归模型,将血小板计数作为因变量(y),其余作为特征/输入
然而,在数字形式的数据集中,很少有分类变量,如贫血、性别、吸烟和死亡事件
我的问题是:
如果这些是真正的二进制类别,你不需要一个热编码。它们已经被编码了
1.Should I perform 'one-hot encoding' on these variables before building a regression model?
是的,你应该对分类变量进行热编码。您可以像下面这样使用:
columns_to_category = ['sex', 'smoking','DEATH_EVENT'] df[columns_to_category] = df[columns_to_category].astype('category') # change datetypes to category df = pd.get_dummies(df, columns=columns_to_category) # One hot encoding the categories
2.If so, only one hot encoding is sufficient or should I perform even label encoding?
我想一个热编码就足够了
3.Also, I observe the values are in various ranges, so should I even scale the data set before applying the regression model?
是的,您可以使用StandardScaler()或MinMaxScaler()获得更好的结果,然后反向缩放预测。此外,请确保您单独缩放测试和训练,而不是合并,因为在现实生活中,您的测试将无法实现,因此您需要相应地缩放以避免此类错误
StandardScaler()
MinMaxScaler()
您不必使用一个热编码,因为这些列已经有了数值。虽然如果这些数值实际上是string而不是int或float,那么您应该对它们使用一种热编码。关于缩放数据,变化是相当大的,因此您应该缩放它以避免回归模型偏向于高值
如果这些是真正的二进制类别,你不需要一个热编码。它们已经被编码了
是的,你应该对分类变量进行热编码。您可以像下面这样使用:
我想一个热编码就足够了
是的,您可以使用
StandardScaler()
或MinMaxScaler()
获得更好的结果,然后反向缩放预测。此外,请确保您单独缩放测试和训练,而不是合并,因为在现实生活中,您的测试将无法实现,因此您需要相应地缩放以避免此类错误您不必使用一个热编码,因为这些列已经有了数值。虽然如果这些数值实际上是string而不是int或float,那么您应该对它们使用一种热编码。关于缩放数据,变化是相当大的,因此您应该缩放它以避免回归模型偏向于高值
相关问题 更多 >
编程相关推荐