【发布时间】:2022-01-10 22:25:14
【问题描述】:
代码:
import itertools
import pandas as pd
from sklearn import preprocessing
data = pd.read_csv("data.csv")
feature_cols = ['country', 'city', 'pay_type']
X = data[feature_cols]
y = data.label
oe = preprocessing.OrdinalEncoder()
X = oe.fit_transform(X)
print(oe.categories_)
for element in itertools.product(oe.categories_):
print(element)
然后输出:
[array(['Saudi Arabia'], dtype=object), array(['Dammam', 'Jeddah', 'Madinah', 'Makkah', 'Riyadh', 'Taif'],
dtype=object), array(['COD', 'PREPAID'], dtype=object)]
(array(['Saudi Arabia'], dtype=object),)
(array(['Dammam', 'Jeddah', 'Madinah', 'Makkah', 'Riyadh', 'Taif'],
dtype=object),)
(array(['COD', 'PREPAID'], dtype=object),)
从输出中,我们有 3 个特征,取值范围是:
Country: 'Saudi Arabia'
City: 'Dammam', 'Jeddah', 'Madinah', 'Makkah', 'Riyadh', 'Taif'
Pay type: 'COD', 'PREPAID'
我想得到所有特征值的笛卡尔积,也就是说:
('Saudi Arabia', 'Dammam', 'COD')
('Saudi Arabia', 'Dammam', 'PREPAID')
('Saudi Arabia', 'Jeddah', 'COD')
...
我尝试itertools.product,但只输出3个元素而不是笛卡尔积。
谁能给我一些关于获得这些特征值的笛卡尔积的提示?
【问题讨论】:
标签: python scikit-learn