• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

pyspark LogisticRegressionModel用法示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

类用法简介

class pyspark.mllib.classification.LogisticRegressionModel(weights, intercept, numFeatures, numClasses)

LogisticRegressionModel: 使用多元/二元逻辑回归训练的分类模型。

参数说明

  • weights – 每个特征的权重。
  • intercept – 为此模型计算的截距。 (仅用于二元逻辑回归,在多项Logistic回归中,截距不会是单一值,所以截距将是权重的一部分。)
  • numFeatures – 特征的维度。
  • numClasses – 多项Logistic回归中k类分类问题的可能结果的数量。默认情况下,它是二元logistic回归,所以numClasses将被设置为2。

示例一

###训练样本数据,注意LabelPoint中的Label是用浮点数表示的
>>> data = [
...     LabeledPoint(0.0, [0.0, 1.0]),
...     LabeledPoint(1.0, [1.0, 0.0]),
... ]

>>> lrm = LogisticRegressionWithSGD.train(sc.parallelize(data), iterations=10)
>>> lrm.predict([1.0, 0.0])
1
>>> lrm.predict([0.0, 1.0])
0
>>> lrm.predict(sc.parallelize([[1.0, 0.0], [0.0, 1.0]])).collect()
[1, 0]
### 清空阈值,输出概率值
>>> lrm.clearThreshold()
>>> lrm.predict([0.0, 1.0])
0.279...

示例二


>>> sparse_data = [
...     LabeledPoint(0.0, SparseVector(2, {0: 0.0})),
...     LabeledPoint(1.0, SparseVector(2, {1: 1.0})),
...     LabeledPoint(0.0, SparseVector(2, {0: 1.0})),
...     LabeledPoint(1.0, SparseVector(2, {1: 2.0}))
... ]
### 模型训练,使用SGD
>>> lrm = LogisticRegressionWithSGD.train(sc.parallelize(sparse_data), iterations=10)
>>> lrm.predict(array([0.0, 1.0]))
1
>>> lrm.predict(array([1.0, 0.0]))
0
>>> lrm.predict(SparseVector(2, {1: 1.0}))
1
>>> lrm.predict(SparseVector(2, {0: 1.0}))
0
### 保存模型文件, 加载模型文件
>>> import os, tempfile
>>> path = tempfile.mkdtemp()
>>> lrm.save(sc, path)
>>> sameModel = LogisticRegressionModel.load(sc, path)
>>> sameModel.predict(array([0.0, 1.0]))
1
>>> sameModel.predict(SparseVector(2, {0: 1.0}))
0
### 清除临时文件(rmtree可以删除文件夹及文件夹下的文件)
>>> from shutil import rmtree
>>> try:
...    rmtree(path)
... except:
...    pass
### 多分类模型训练和预测
>>> multi_class_data = [
...     LabeledPoint(0.0, [0.0, 1.0, 0.0]),
...     LabeledPoint(1.0, [1.0, 0.0, 0.0]),
...     LabeledPoint(2.0, [0.0, 0.0, 1.0])
... ]
>>> data = sc.parallelize(multi_class_data)
### 模型训练,使用LBFGS
>>> mcm = LogisticRegressionWithLBFGS.train(data, iterations=10, numClasses=3)
>>> mcm.predict([0.0, 0.5, 0.0])
0
>>> mcm.predict([0.8, 0.0, 0.0])
1
>>> mcm.predict([0.0, 0.0, 0.3])
2

pyspark中LogisticRegressionModel类的更多介绍详见:LogisticRegressionModel


鲜花

握手

雷人

路过

鸡蛋
专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap