【发布时间】:2016-01-12 14:01:16
【问题描述】:
我有一个文件:
data = pd.read('data.csv')
该文件包含有关数字用户的分类文本数据,例如:(source = 'google', 'facebook', 'twitter') 和 (country = 'US', 'FR', 'GER')。
使用sklearn.feature_extraction.DictVectorizer() 类,我设法将这些类别转换为numpy 数组。然后我创建了一个字典,其中包含作为键的文本类别,以及作为值的相关类别的矢量化 numpy 数组,即:
{'google': np.array([0., 0., 0., 0., 1.])}
{'facebook': np.array([1., 0., 0., 0., 0.])}
{'FR': np.array([0., 0., 1.])}
我最理想的做法是用向量化的 numpy 数组值(例如 np.array([0., 0., 0., 0., 1.])替换每个文本类别(例如“google”),这样我就可以使用特征缩减算法来减少特征低至 2,用于可视化目的。
因此,理想情况下,数据中的一行显示为:
source | country
google | FR
twitter| US
会读:
source | country
np.array([0., 0., 0., 0., 1.]) | np.array([0., 0., 1.])
np.array([1., 0., 0., 0., 0.]) | np.array([1., 0., 0.])
有人可以推荐最好的方法吗?
【问题讨论】:
标签: pandas scikit-learn