Как нам переобучить модель XGBoost с помощью конвейера Spark ML?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как нам переобучить модель XGBoost с помощью конвейера Spark ML?

Сообщение Anonymous »

Наше требование — переобучить модель XGBoost, созданную конвейером Spark ML. Мы получаем огромные данные каждую неделю или месяц и хотим использовать ранее обученную модель для повторного обучения на дельте данных. Возможно ли это, и если возможно, нам будет очень полезно получить пример кода. Наши задания Spark написаны на Scala.
Я могу сделать это с помощью Pyspark, пример кода приведен ниже:

Код: Выделить всё

from pyspark.sql import SparkSession
from xgboost.spark import SparkXGBClassifier, SparkXGBClassifierModel
from pyspark.ml.feature import VectorAssembler, StringIndexer
from pyspark.ml import Pipeline
from pyspark.sql.functions import col

existing_model_path = "/home/geet/test/xgboostexp/testmodel/stages/2_SparkXGBClassifier_5adc1ebbc456"
xgb_model = SparkXGBClassifierModel.load(existing_model_path)

new_data_path = "/home/geet/test/xgboostexp/output_file.csv"
data = spark.read.option("header", True).csv(new_data_path)

for col_name in ["V1", "V2", "V3"]:
data = data.withColumn(col_name, col(col_name).cast('float'))

label_indexer = StringIndexer(inputCol="class", outputCol="indexedLabel").fit(data)
assembler = VectorAssembler(inputCols=["V1", "V2", "V3"], outputCol="features")
xgb_classifier = SparkXGBClassifier(
label_col="indexedLabel",
features_col="features",
num_workers=1,
xgb_model=xgb_model.get_booster()  # Use the previous model as the base
)

pipeline = Pipeline(stages=[label_indexer, assembler, xgb_classifier])
pipeline_model = pipeline.fit(data)
updated_model_path = "/home/geet/test/xgboostexp/testmodel2"
pipeline_model.write().overwrite()
.save(updated_model_path)

Подробнее здесь: https://stackoverflow.com/questions/790 ... l-pipeline
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»