【发布时间】:2015-09-25 10:16:45
【问题描述】:
标题说明了一切,我查看了 scikit 文档,这些文档对于这个特定任务来说非常糟糕,并且我查看了几个在线资源,包括 this 帖子。
但是,他们似乎错了。对于特征选择,我们可以这样做:
clf=LinearSVC(penalty="l1",dual=False,random_state=0)
X_reduced = clf.fit_transform(X_full,y_full)
现在,如果我们检查X_reduced 的形状,很清楚选择了多少特征。所以现在的问题是,哪些?
LinearSVC 的coef_ 属性非常重要,建议对其进行迭代,选择coef_ 不为零的特征。好吧,这是错误的,但您可以非常接近真实结果。
在检查X_reduced 之后,我注意到我选择了 310 个特征,这是肯定的,我的意思是,我正在检查结果矩阵,现在,如果我执行 coef_ 的事情,则选择了 414 个特征,来自一共2000,所以很接近实物。
根据 scikit LinearSVC docs,mean(X) 涉及到 Threshold=None,但我被困住了,不知道现在该做什么。
更新:这是一个link,其中包含重现错误的数据和代码,它只有几 KB
【问题讨论】:
标签: scikit-learn svm feature-selection