对新传入数据使用哈希技巧

Using hashing trick for new incoming data

在训练和部署我的模型后,是否可以使用散列技巧?假设我有以下数据,并且按如下方式使用 Cat 功能:

from sklearn.feature_extraction import FeatureHasher 

D = {"ID": [1,2,3,4,5,6,7,8,9,10], "Cat": ["A", "A", "B", "A", "A", "B", "A", "B", "B", "B"]}
df = pd.DataFrame(D)
fh = FeatureHasher(n_features=1, input_type='string')
hashed_features = fh.fit_transform(df['Cat'])
hashed_features.toarray()

如何使用泰瑟枪对传入的新数据进行哈希处理?我正在寻找类似的东西:

fh.predict('A')

我是否应该只在训练期间从散列过程构建字典,然后将新传入数据映射到构建字典?有没有更好的办法?

使用FeatureHasher.transform()。例如,在您的代码中试试这个:

fh.transform(['A','B']).toarray()

# array([[ 1.], [-1.]])