Machine learning 将管道中的矢量化特征标记为原始阵列名称(PySpark)

Machine learning 将管道中的矢量化特征标记为原始阵列名称(PySpark),machine-learning,pyspark,apache-spark-ml,Machine Learning,Pyspark,Apache Spark Ml,与此问题非常相似:但使用数组而不是类别值 我正在我的最终模型上运行一个特性重要性测试。这些特性是我使用CountVectorizer编码的阵列(例如,具有“移动”或“桌面”元素的设备)和城市(元素是访问过的城市,例如:伦敦、纽约等) 之后,我运行了一个管道并构建了featureImportances(与此类似:) 最终结果如下: idx name score 17 device_vector_0 0.

与此问题非常相似:但使用数组而不是类别值

我正在我的最终模型上运行一个特性重要性测试。这些特性是我使用CountVectorizer编码的阵列(例如,具有“移动”或“桌面”元素的设备)和城市(元素是访问过的城市,例如:伦敦、纽约等)

之后,我运行了一个管道并构建了featureImportances(与此类似:)

最终结果如下:

idx                      name           score

17                device_vector_0  0.483894

693                city_vector_69  0.001882

649               city_vector_25  0.001292

1172             city_vector_548  0.000000

1176             city_vector_552  0.000000

1177             city_vector_553  0.000000
我的问题是,如何将名称(我想是基于数组元素的)映射到数组值(device\u vector\u 0=mobile,city\u vector\u 69=London,…)

已清除的代码

vector\u list=list(set(['mobile','country']))
向量器=[CountVectorizer(inputCol=列,outputCol=列+“\u向量”)。为向量\u列表中的列拟合(df)
管道向量=管道(阶段=向量器)
pipeline=pipeline().setStages([pipeline_向量,汇编程序,rf])
bestModel=rf_model.bestModel
ExtractFeatureImportance(bestModel.stages[-1]。featureImportances,resultDF,“features”)

请花点时间看看如何正确格式化您的代码块(这次为您完成);另外,请明确包含您的导入内容(根据您的标记,它是真正的Spark MLlib,还是Spark ML?)。有点太快,它是Spark ML(更改了标记)。我认为问题是关于ConventVectorizer循环的,因为我需要在循环中的某个地方包含get_功能_名称(对于多个输入/输出)。请花一点时间看看如何正确格式化代码块(这次为您完成);另外,请显式包含您的导入(根据您的标签,它真的是Spark MLlib还是Spark ML?)。速度有点太快了,它是Spark ML(更改了标签)。我认为问题是关于ConventVectorizer循环的,因为我需要在循环中的某个地方包含get_特性_名称(对于多个输入/输出)。