1.lasso(下面的case实验成功,在6w+,163维度上未实验成功,可能由于特征的区分度不足引发)
from sklearn.linear_model import RandomizedLasso
from sklearn.datasets import load_boston
boston = load_boston()
#using the Boston housing data.
#Data gets scaled automatically by sklearn's implementation
X = boston["data"]
Y = boston["target"]
names = boston["feature_names"]
rlasso = RandomizedLasso(alpha=0.025)
rlasso.fit(X, Y)
print "Features sorted by their score:"
print sorted(zip(map(lambda x: round(x, 4), rlasso.scores_),
names), reverse=True)
2.通过模型设置特征
2.1 通过logistic进行筛选:linear_model.LogisticRegression(C=0.4,penalty='l1',solver='liblinear') C为正则项目,C值约小,特征中为0的项目约多,反之越少