gpt4 book ai didi

python - 如何在 PySpark MLlib 中将分类特征传递给线性回归建模?

转载 作者:行者123 更新时间:2023-12-04 02:14:55 24 4
gpt4 key购买 nike

我在做 Linear Regression建模PySpark并怀疑重新分级。我拥有的数据有categorical features .我浏览了 PySpark 上的文档以及 Linear Regression 的示例显示这个:

model = LinearRegressionWithSGD.train(parsedData)

它没有显示如何通过 categorical featuresLinear Regression .我曾在 Random ForestPySpark之前我先在哪里 encoded categorical features然后将这些特征作为 Random Forest 传递给模型提供 parameter指定 categorical features . Linear Regression文档中没有显示任何此类参数。

任何人都可以通过为我提供通过的方式来帮助我 categorical featureLinear Regression建模 PySpark MLlib

最佳答案

您需要使用 '''VectorAssembler''' 来构建“功能”列。 “功能”是功能列的默认名称,因此在单变量情况下,您可以使用 LinearRegression(featurescol="catvar") .这是整个过程的演练,假设您从 strVar 开始在数据帧中 df .

第一步:构建一个映射到字符串变量的索引。

from pyspark.ml.feature import StringIndexer, OneHotEncoder
from pyspark.ml.feature import VectorAssembler

varIdxer = StringIndexer(inputCol='strVar',outputCol='varIdx').fit(df)
df = varIdxer.transform(df)

第 2 步:使用 OneHotEncoder 将分类变量编码为二进制变量序列
df = OneHotEncoder(inputCol="varIdx", outputCol="varCat").transform(df)

第 3 步:使用 VectorAssembler 创建“功能”列.
assembler = VectorAssembler(inputCols=["varCat"],outputCol="features")
df = assembler.transform(df)

第 4 步:拟合模型(我只用 LinearRegression 测试过)。
lr = LinearRegression(labelCol='y',featuresCol='features')

关于python - 如何在 PySpark MLlib 中将分类特征传递给线性回归建模?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34907117/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com