Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
处理分类变量的Python策略_Python_Python 3.x_Pandas_Scikit Learn_Classification - Fatal编程技术网

处理分类变量的Python策略

处理分类变量的Python策略,python,python-3.x,pandas,scikit-learn,classification,Python,Python 3.x,Pandas,Scikit Learn,Classification,我目前正在从事一项二进制分类任务,其中类是不平衡的 我有以下不同级别的category属性: time_slot: 8 levels product_type: 3 levels state: 40 levels due_day: 6 levels (Mon - Sat) lead_time: numerical in days (0-100) 现在,我计划首先使用三种算法: Logistic Regression, Decision Tree and Random Forest 当涉及到分

我目前正在从事一项
二进制分类
任务,其中类是
不平衡的

我有以下不同级别的
category
属性:

time_slot: 8 levels
product_type: 3 levels
state: 40 levels
due_day: 6 levels (Mon - Sat)
lead_time: numerical in days (0-100)
现在,我计划首先使用三种算法:

Logistic Regression, Decision Tree and Random Forest
当涉及到分类变量时,我很困惑什么样的编码策略是最好的

LabelEncoder, OneHot, BinaryEncoding?
此外,我正在考虑为
lead\u time


任何提示都是有用的。

我相信你的问题没有简明的答案,特别是因为你的数据集的细节还不清楚。通常最好尝试不同的方法,看看哪种方法在特定情况下效果最好。使用
scikit-learn
,您可能需要查看库

总的来说,所有的策略都有其优点和缺点。通常不鼓励对分类特征进行标签编码,因为它可能会人为引入一个顺序(特别是对于计算权重的算法,如
逻辑回归
)。另一方面,一种热编码通常会增加维数,因为所有类别都转换为二进制特征。在你的例子中,可能没有那么戏剧性,但如果你有几个具有高基数的分类特征,那肯定是个坏主意

最后,您还可以查看一些能够处理开箱即用的分类特征的算法,如or


“试一试”听起来可能不尽如人意,但我认为这是一个可靠的方法。

看看一个热门的enconding(OHE),它可以将您的分类数据转换为能够为您的模型提供支持的功能