美文网首页
pyspark模型自定义参数

pyspark模型自定义参数

作者: 米斯特芳 | 来源:发表于2021-08-05 14:06 被阅读0次

以逻辑回归为例

from pyspark.ml.linalg import Vectors
from pyspark.ml.classification import LogisticRegression
from pyspark.sql import SparkSession

spark = SparkSession\
    .builder\
    .appName("EstimatorTransformerParamExample")\
    .getOrCreate()

training = spark.createDataFrame([
    (1.0, Vectors.dense([0.0, 1.1, 0.1])),
    (0.0, Vectors.dense([2.0, 1.0, -1.0])),
    (0.0, Vectors.dense([2.0, 1.3, 1.0])),
    (1.0, Vectors.dense([0.0, 1.2, -0.5]))], ["label", "features"])
# threshold:推断所用阈值。2分类,默认0.5;thresholds:多分类
# family:描述label分布,默认atuo,可选binomial和multinomial
lr = LogisticRegression(featuresCol='features',labelCol='label',predictionCol='prediction',
                        probabilityCol='probability',maxIter=10, regParam=0.01,elasticNetParam=0,tol=1e-6,
                       standardization=True,fitIntercept=True)
# 解释模型参数:这个方法很有用,因为上面LogisticRegression没有参数文档
print("LogisticRegression parameters:\n" + lr.explainParams() + "\n")

model1 = lr.fit(training)
print(model1.extractParamMap())# 提取参数map

# 自定义参数map
paramMap = {lr.maxIter: 20}
paramMap[lr.maxIter] = 30  # Specify 1 Param, overwriting the original maxIter.
paramMap.update({lr.regParam: 0.1, lr.threshold: 0.55})  # Specify multiple Params.
# 合并参数map
paramMap2 = {lr.probabilityCol: "myProbability"}  # Change output column name
paramMapCombined = paramMap.copy()
paramMapCombined.update(paramMap2)

model2 = lr.fit(training, paramMapCombined)# 使用自定义参数

# Prepare test data
test = spark.createDataFrame([
    (1.0, Vectors.dense([-1.0, 1.5, 1.3])),
    (0.0, Vectors.dense([3.0, 2.0, -0.1])),
    (1.0, Vectors.dense([0.0, 2.2, -1.5]))], ["label", "features"])

prediction = model2.transform(test)# 预测
result = prediction.select("features", "label", "myProbability", "prediction") \
    .collect()

for row in result:
    print("features=%s, label=%s -> prob=%s, prediction=%s"
          % (row.features, row.label, row.myProbability, row.prediction))

相关文章

  • pyspark模型自定义参数

    以逻辑回归为例

  • PyTorch学习笔记1

    训练过程 自定义模型 自定义激活函数 LSTM参数说明 torch.nn.LSTM(*arg, **kwarg)

  • (5)keras函数式API

    一、目录1、多输入模型2、多输出模型3、模块inception残差链接共享参数4、自定义模块5、模型集成6、回调函...

  • mysql-自定义函数

    创建自定义无参数函数 调用自定义函数 创建有参数的自定义函数 调用有参数的自定义函数 创建具有复合结构的自定义函数...

  • Spark Python API Docs(part one)

    pyspark package subpackages pyspark.sql module pyspark.st...

  • MLeap demo参考

    pyspark环境下如何使用mleap对模型进行序列化 任务提交脚本 spark-submit --package...

  • springboot配置文件

    在配置文件中使用自定义参数 在代码里面使用自定义参数 通过注解@Value来加载自定义参数 PlaceHolder...

  • .netCore webApi相关

    controller: 输入参数模型绑定接口的输入参数就是通过模型绑定将 HTTP 请求中的值映射到参数中,模型绑...

  • pyspark整理

    pyspark入门资料 公众号回复:pyspark (会有pyspark资料大礼包:Learning PySpar...

  • presto 0.217 提升kudu connector查询性

    一、添加自定义参数 在KuduClientConfig中,添加自定义参数,如下 public long getSp...

网友评论

      本文标题:pyspark模型自定义参数

      本文链接:https://www.haomeiwen.com/subject/wkqrvltx.html