我有 5+ 百万数据来预测人们的种族。一个文本特征会产生数以万计的特征。例如,名称“Smith”会产生“sm”、“mi”、“it”等。然后我需要将其转换为一些稀疏矩阵
from sklearn.feature_extraction import DictVectorizer
vec = DictVectorizer()
X2= vec.fit_transform(measurements)
由于生成的特征数以万计,我不能使用以下给我一个数组,否则我会收到内存不足的错误。
X = vec.fit_transform(measurements).toarray()
据我所知,scikilearn 中的许多其他功能/模块只允许拟合数组格式数据。例如:http ://scikit-learn.org/stable/modules/generated/sklearn.decomposition.PCA.html#sklearn.decomposition.PCA和http://scikit-learn.org/stable/modules/feature_selection.html用于降维和特征选择。
pca = PCA(n_components=2)
pca.fit(X) # X works but not X2, though I can't get X with my big data set because of out-of-memory error