假设我们有一份用户安装的软件列表作为特征,例如,
Microsoft_VC80_DebugCRT_x86_x64 1.0.0
Microsoft_VC80_DebugCRT_x86 1.0.0
Windows UPnP Browser 0.1.01
Adobe Acrobat Professional 10
我想预测学生是否会购买某产品。
现在的问题是:如何将软件列表转化为机器学习算法可以学习的内容?
回答:
最简单的方法是使用scikit learn中的向量化器。
from sklearn.feature_extraction.text import CountVectorizer#min_df是包含在特征集中的软件必须被至少这个数量的学生安装的最小值vectorizer = CountVectorizer(min_df=1)X = vectorizer.fit_transform(data)
向量化器将构建一个向量,其中每一列对应数据集中的一个“术语”(这里指的是一个软件),其值是该术语在特定学生中出现的次数。现在,每个学生都可以用一个向量来表示。这些向量可以作为特征输入到scikit-learn支持的大多数算法中。