Я хотел бы изучить настройку различных параметров для стадии конвейера StringIndexer. Начиная с версии 2.3.0 это можно сделать, используя setStringIndexerOrderType (value) . Однако мне не совсем понятно, как должен выглядеть синтаксис. Это код, который у меня есть. Как я могу это исправить, чтобы он работал?
def stringindexer(df, input_cols):
'''
Converts non-numeric data to numeric.
:param data: the dataframe
:param categoricalCols: the name list of the categorical data
'''
StringIndexer = StringIndexer()\
.setStringIndexerOrderType(frequencyDesc)
#string index all categorical columns. Output columns have a column name that end in _indexed
indexers = [StringIndexer(inputCol=c, outputCol="{0}_indexed".format(c))
for c in input_cols]
#create indexer pipeline
pipeline = Pipeline(stages=indexers)
#fit pipeline to the data
model=pipeline.fit(df)
#get model labels
#labels = model.labels
#transform data using indexer pipeline
data = model.transform(df)
#return data and the indexers
return data, indexers
Кроме того, вы знаете, возможно ли каким-либо образом настроить тип indexorder или можно только заданные параметры (например, частотыDes c, частоты As c) использоваться ?