Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/284.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_Machine Learning_Categorical Data_Feature Engineering - Fatal编程技术网

Python 如何对特征值为数字范围的有序特征进行预处理,并对其进行相应的排序或编码

Python 如何对特征值为数字范围的有序特征进行预处理,并对其进行相应的排序或编码,python,machine-learning,categorical-data,feature-engineering,Python,Machine Learning,Categorical Data,Feature Engineering,我的数据集中有以下功能列: +-----------+ | size | +-----------+ | 10-90 | | <10 | | 100-200 | | 10-90 | | 500-800 | | 10000+ | | <10 | | 1000-4999 | +-----------+ y的输出为: [10-90, <10, 100-200, 10-90, 500-800, 10000+, <1

我的数据集中有以下功能列:

+-----------+
|   size    |
+-----------+
| 10-90     |
| <10       |
| 100-200   |
| 10-90     |
| 500-800   |
| 10000+    |
| <10       |
| 1000-4999 |
+-----------+
y的输出为:

[10-90, <10, 100-200, 10-90, 500-800, 10000+, <10, 1000-4999]
Categories (6, object): [10-90 < 100-200 < 1000-4999 < 10000+ < 500-800 < <10]

[10-90,熊猫解决方案也指定了
类别
的预期顺序:

cats= ['<10', '10-90' , '100-200','500-800', '1000-4999', '10000+']
y = pd.Categorical(train['size'],ordered=True, categories=cats)
print (y)
[10-90, <10, 100-200, 10-90, 500-800, 10000+, <10, 1000-4999]
Categories (6, object): [<10 < 10-90 < 100-200 < 500-800 < 1000-4999 < 10000+]

cats=['Pandas解决方案也指定了
类别
的预期顺序:

cats= ['<10', '10-90' , '100-200','500-800', '1000-4999', '10000+']
y = pd.Categorical(train['size'],ordered=True, categories=cats)
print (y)
[10-90, <10, 100-200, 10-90, 500-800, 10000+, <10, 1000-4999]
Categories (6, object): [<10 < 10-90 < 100-200 < 500-800 < 1000-4999 < 10000+]

cats=['R解决方案:

cats = c('<10', '10-90' , '100-200','500-800', '1000-4999', '10000+')

 factor(train$size,levels = cats,ordered = TRUE)
[1] 10-90     <10       100-200   10-90     500-800   10000+    <10       1000-4999
Levels: <10 < 10-90 < 100-200 < 500-800 < 1000-4999 < 10000+

cats=c('R解决方案:

cats = c('<10', '10-90' , '100-200','500-800', '1000-4999', '10000+')

 factor(train$size,levels = cats,ordered = TRUE)
[1] 10-90     <10       100-200   10-90     500-800   10000+    <10       1000-4999
Levels: <10 < 10-90 < 100-200 < 500-800 < 1000-4999 < 10000+

cats=c('我不是
r
coder,但如何工作
y=factor(train$size,levels=c('我不是
r
coder,但如何工作
y=factor(train$size,levels=c('x=np.unique(train_数据['size'])打印(x)数组(['10-90','100-200','1000-4999','10000+','500-800',您的代码是错误的,因为需要手动指定类别,因为
print(x)
创建了错误的顺序,因为像字符串一样按字典排序。对于排名使用
print(y.code)
-我的数据有很多层次。因此我想避免手动分类。我知道这是否是唯一的方法。有没有方法映射一个看不见的数据,比如说@rjdj-理论上很难回答。给我一些时间。x=np.unique(train_data['size'])print(x)数组(['10-90','100-200','1000-4999','10000+','500-800',您的代码是错误的,因为需要手动指定类别,因为
print(x)
创建了错误的顺序,因为像字符串一样按字典排序。对于排名使用
print(y.code)
-我的数据有很多层次。所以我想避免手动分类。我知道这是否是唯一的方法。有没有方法映射一个看不见的数据,比如说,@rjdj-理论上很难回答。给我一些时间。