, Вы можете найти больше информации об этих двух в связанной документации.

у запустить алгоритм случайных лесов на Pyspark. Это упоминается вPyspark документация этот VectorAssembler принимает только числовые или логические типы данных. Итак, если мои данные содержат переменные типа String, например, названия городов, должен ли я их быстро кодировать, чтобы продолжить классификацию / регрессию случайных лесов?

Вот код, который я пытался, входной файлВот:

train=sqlContext.read.format('com.databricks.spark.csv').options(header='true').load('filename')
drop_list = ["Country", "Carrier", "TrafficType","Device","Browser","OS","Fraud","ConversionPayOut"]
from pyspark.sql.types import DoubleType
train = train.withColumn("ConversionPayOut", train["ConversionPayOut"].cast("double"))#only this variable is actually double, rest of them are strings
junk = train.select([column for column in train.columns if column in drop_list])
transformed = assembler.transform(junk)

Я продолжаю получать ошибку, чтоIllegalArgumentException: u'Data type StringType is not supported.'

П.С .: Извиняюсь за задание основного вопроса. Я родом из R фона. В R, когда мы делаем случайные леса, нет необходимости преобразовывать категориальные переменные в числовые переменные.

Ответы на вопрос(2)

Ваш ответ на вопрос