Tout d'abord, j'utilise spark 1.6.0. Je veux utiliser la pénalité L1 dans pyspark.ml.regression.LinearRegressionModel pour la sélection des fonctionnalités.Comment utiliser la pénalité L1 dans pyspark.ml.regression.LinearRegressionModel pour la sélection de fonctionnalités?
Mais je ne peux pas obtenir les coefficients détaillés lorsque vous appelez la fonction:
lr = LogisticRegression(elasticNetParam=1.0, regParam=0.01,maxIter=100,fitIntercept=False,standardization=False)
model = lr.fit(df_one_hot_train)
print model.coefficients.toArray().astype(float).tolist()
Je n'obtenir la liste clairsemés comme:
[0,0,0,0,0,..,-0.0871650387514,..,]
Alors que lorsque j'utilise sklearn.linear_model.LogisticRegression modèle, je peux obtenir la liste détaillée sans valeur zéro dans la liste coef_ comme:
[0.03098372361467529,-0.13709075166114365,-0.15069548597557908,-0.017968044053830862]
Avec la meilleure performance en étincelle, je pourrais finir mon travail plus rapidement. Je veux juste utiliser la pénalité L1 pour la sélection des caractéristiques.
Je pense que je devrais utiliser des valeurs de coefficients plus détaillées pour mon travail de sélection de fonctionnalités, tout comme le fait sklearn, comment puis-je résoudre mon problème?