作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在做 Linear Regression
建模PySpark
并怀疑重新分级。我拥有的数据有categorical features
.我浏览了 PySpark
上的文档以及 Linear Regression
的示例显示这个:
model = LinearRegressionWithSGD.train(parsedData)
categorical features
至
Linear Regression
.我曾在
Random Forest
在
PySpark
之前我先在哪里
encoded
categorical features
然后将这些特征作为
Random Forest
传递给模型提供
parameter
指定
categorical features
.
Linear Regression
文档中没有显示任何此类参数。
categorical feature
至
Linear 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)
OneHotEncoder
将分类变量编码为二进制变量序列
df = OneHotEncoder(inputCol="varIdx", outputCol="varCat").transform(df)
VectorAssembler
创建“功能”列.
assembler = VectorAssembler(inputCols=["varCat"],outputCol="features")
df = assembler.transform(df)
lr = LinearRegression(labelCol='y',featuresCol='features')
关于python - 如何在 PySpark MLlib 中将分类特征传递给线性回归建模?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34907117/
我是一名优秀的程序员,十分优秀!