Как установить классификатор MultiLayerPerceptron в Pyspark? - PullRequest
1 голос
/ 29 апреля 2020

Привет. Я пытаюсь установить MultiLayerPerceptron с PySpark 2.4.3 Library для машинного обучения. Но каждый раз, когда я пытаюсь соответствовать алгоритму, я получаю следующую ошибку:

Py4JJavaError: Ошибка при вызове o4105.fit. : org. apache .spark.SparkException: задание прервано из-за сбоя этапа: задание 0 на этапе 784.0 не выполнено 4 раза, последний сбой: потерянное задание 0.3 на этапе 784.0 (TID 11663, hdpdncwy87013.dpp.acxiom. net , исполнитель 1): org. apache .spark.SparkException: не удалось выполнить пользовательскую функцию ($ anonfun $ org $ apache $ spark $ ml $ feature $ OneHotEncoderModel $$ encoder $ 1: (double, int) => struct, значения: массив>) в орг. apache .spark. sql .catalyst.expressions.GeneratedClass $ GeneratedIteratorForCodegenStage1.processNext (неизвестный источник)

    df = sqlContext.read.format("csv").options(header='true', sep=",", inferschema='true').load(location)



    exclude = ["Target"]
    inputs = [column for column in df.columns if (column not in exclude)]
    vectorAssembler = VectorAssembler(inputCols=inputs, outputCol='Features')
    vdf = vectorAssembler.transform(df)
    vdf = vdf.select(['Features'] + exclude)

    # Feature Scaling
    scaler = MinMaxScaler(inputCol="Features", outputCol="scaledFeatures")
    scalerModel = scaler.fit(vdf)
    scaledData = scalerModel.transform(vdf)

    # train-test split
    splits = scaledData.randomSplit([0.7, 0.3], seed=2020)
    train_df = splits[0]
    test_df = splits[1]

    layers = [len(inputs), 3, 3, 3,  5]
    mlpc = MultilayerPerceptronClassifier(labelCol="Target", featuresCol="scaledFeatures", layers=layers,
                                          blockSize=128, stepSize=0.03, seed=2020, maxIter=1000)
    model = mlpc.fit(train_df)

У вас есть идея? Заранее спасибо. Количество входов 1902, количество классов для прогнозирования 5.

...