이 정보를 사용 fitted
Transformers
거슬러 올라간다으로 Pipeline
하나 이런 :.
from pyspark.ml.feature import *
from pyspark.ml import Pipeline
import numpy as np
data = spark.createDataFrame(
[(1, ["spark", "foo", "bar"]), (0, ["kafka", "bar", "foo"])],
("label", "rawFeatures"))
model = Pipeline(stages = [
CountVectorizer(inputCol="rawFeatures", outputCol="features"),
ChiSqSelector(outputCol="selectedFeatures", numTopFeatures=2)
]).fit(data)
당신은 Transformers
추출 할 수 있습니다 :
vectorizer, chisq = model.stages
과 비교 selectedFeatures
vocabulary
과 :
np.array(vectorizer.vocabulary)[chisq.selectedFeatures]
array(['spark', 'kafka'], dtype='<U5')
불행하게도 Transformers
의 조합이 유지되지 않는 라벨 메타 데이터 :
features_meta, selected_features_meta = (f.metadata for f in model
.transform(data).select("features", "selectedFeatures")
.schema
.fields)
features_meta
{}
selected_features_meta
{'ml_attr': {'attrs': {'nominal': [{'idx': 0}, {'idx': 1}]}, 'num_attrs': 2}}