文档章节

模型训练

KYO4321
 KYO4321
发布于 2017/09/10 22:06
字数 283
阅读 21
收藏 0
点赞 0
评论 1

##随机森林调整参数 https://spark.apache.org/docs/2.1.0/ml-tuning.html https://stackoverflow.com/questions/32769573/how-to-cross-validate-randomforest-model K折交叉检验

##计算AUC https://weiminwang.blog/2016/06/09/pyspark-tutorial-building-a-random-forest-binary-classifier-on-unbalanced-dataset/

cross-validation与Train-Validation Split两者的区别 https://spark.apache.org/docs/2.1.0/ml-tuning.html

https://stackoverflow.com/questions/41902360/random-forest-in-spark

##批量计算各种率 https://docs.microsoft.com/en-us/azure/machine-learning/machine-learning-data-science-spark-advanced-data-exploration-modeling

Each model building code section is split into steps: + 1、Model training data with one parameter set 2、Model evaluation on a test data set with metrics 3、Saving model in blob for future consumption

保存最好的那个模型,后续加载应用

####################################################

CV USING ELASTIC NET FOR LINEAR REGRESSION

RECORD START TIME

timestart = datetime.datetime.now()

LOAD PYSPARK LIBRARIES

from pyspark.ml.regression import LinearRegression from pyspark.ml import Pipeline from pyspark.ml.evaluation import RegressionEvaluator from pyspark.ml.tuning import CrossValidator, ParamGridBuilder

DEFINE ALGORITHM/MODEL

lr = LinearRegression()

DEFINE GRID PARAMETERS

paramGrid = ParamGridBuilder().addGrid(lr.regParam, (0.01, 0.1))
.addGrid(lr.maxIter, (5, 10))
.addGrid(lr.tol, (1e-4, 1e-5))
.addGrid(lr.elasticNetParam, (0.25,0.75))
.build()

DEFINE PIPELINE

SIMPLY THE MODEL HERE, WITHOUT TRANSFORMATIONS

pipeline = Pipeline(stages=[lr])

DEFINE CV WITH PARAMETER SWEEP

cv = CrossValidator(estimator= lr, estimatorParamMaps=paramGrid, evaluator=RegressionEvaluator(), numFolds=3)

CONVERT TO DATA FRAME, AS CROSSVALIDATOR WON'T RUN ON RDDS

trainDataFrame = sqlContext.createDataFrame(oneHotTRAINreg, ["features", "label"])

TRAIN WITH CROSS-VALIDATION

cv_model = cv.fit(trainDataFrame)

EVALUATE MODEL ON TEST SET

testDataFrame = sqlContext.createDataFrame(oneHotTESTreg, ["features", "label"])

MAKE PREDICTIONS ON TEST DOCUMENTS

cvModel uses the best model found (lrModel).

predictionAndLabels = cv_model.transform(testDataFrame)

CONVERT TO DF AND SAVE REGISER DF AS TABLE

predictionAndLabels.registerTempTable("tmp_results");

PRINT ELAPSED TIME

timeend = datetime.datetime.now() timedelta = round((timeend-timestart).total_seconds(), 2) print "Time taken to execute above cell: " + str(timedelta) + " seconds";

© 著作权归作者所有

共有 人打赏支持
KYO4321
粉丝 3
博文 34
码字总数 40660
作品 0
深圳
程序员
加载中

评论(1)

KYO4321
KYO4321
https://weiminwang.blog/2016/06/09/pyspark-tutorial-building-a-random-forest-binary-classifier-on-unbalanced-dataset/
偏差(Bias)与方差(Variance)

含义 Bias 和 Variance 是针对模型的泛化来讲的。 首先如果我们能够获得所有可能的数据集合,并在这个数据集合上将 loss 最小化,这样学习到的模型就可以称之为“真实模型”,当然,我们是无...

农大鲁迅 ⋅ 01/26 ⋅ 0

机器学习--第六讲--K折交叉验证

1.K折交叉验证 在之前的任务中,我们学习了交叉验证,是一个在新的数据集上来检验机器学习模型的精确性,该模型没有受过训练。具体的说,我们将专注于保持验证技术,它涉及: 。 将所有的数据...

Betty__ ⋅ 2016/10/27 ⋅ 0

如何用学习曲线降低偏差和方差?

摘要: 如何判断偏差和方差?我们应该如何降低误差?本文将就这两个问题探讨如何使用学习曲线降低这两个主要误差。 机器学习模型两个主要的误差来源:偏差和方差。在构建模型时,设法降低这两...

阿里云云栖社区 ⋅ 01/15 ⋅ 0

机器学习之机器学习库scikit-learn

一、 加载sklearn中的数据集datasets 查看数据的信息 二、训练集和分割集的分割 三、数据预处理 1. 缺失值处理 2. 特征值的归一化 归一化的好处: 当特征的数值范围差距较大时,需要对特征的...

cxmscb ⋅ 2017/02/11 ⋅ 0

机器学习算法中不得不知的欠拟合与过拟合问题

在长文|一文读懂什么是机器学习中,介绍了机器学习所解决的问题,以及哪些种类的机器学习方法。还有前面的历史文章中也分享一些机器学习的经典算法。 在机器学习或者训练深度神经网络的时候经...

m0epnwstyk4 ⋅ 2017/12/12 ⋅ 0

交叉验证(Cross Validation)原理小结

    交叉验证是在机器学习建立模型和验证模型参数时常用的办法。交叉验证,顾名思义,就是重复的使用数据,把得到的样本数据进行切分,组合为不同的训练集和测试集,用训练集来训练模型,...

张立达 ⋅ 2017/05/03 ⋅ 0

入门 | 简述迁移学习在深度学习中的应用

  选自MachineLearningMastery   作者:Jason Brownlee   机器之心编译   参与:Nurhachu Null、刘晓坤      本文介绍了迁移学习的基本概念,以及该方法在深度学习中的应用,引导...

机器之心 ⋅ 01/05 ⋅ 0

Caffe神经网络结构汇总

文章作者:Tyan 博客:noahsnail.com | CSDN | 简书 自2012年Alexnet赢得了ImageNet竞赛以来,深度学习(神经网络)得到了飞速发展,产生了许多的神经网络结构,本文主要总结Caffe中使用的神...

Quincuntial ⋅ 2017/06/01 ⋅ 0

资源 | textgenrnn:只需几行代码即可训练文本生成网络

本文是一个 GitHub 项目,介绍了 textgenrnn,一个基于 Keras/TensorFlow 的 Python 3 模块。只需几行代码即可训练文本生成网络。 项目地址:https://github.com/minimaxir/textgenrnn?reddi...

机器之心 ⋅ 04/23 ⋅ 0

入门 | 简述迁移学习在深度学习中的应用

本文介绍了迁移学习的基本概念,以及该方法在深度学习中的应用,引导构建预测模型的时候使用迁移学习的基本策略。 迁移学习是一种机器学习方法,就是把为任务 A 开发的模型作为初始点,重新使...

机器之心 ⋅ 01/05 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Cube、Cuboid 和 Cube Segment

1.Cube (或Data Cube),即数据立方体,是一种常用于数据分析与索引的技术;它可以对原始数据建立多维度索引。通过 Cube 对数据进行分析,可以大大加快数据的查询效率 2.Cuboid 在 Kylin 中特...

无精疯 ⋅ 29分钟前 ⋅ 0

github太慢

1:用浏览器访问 IPAddress.com or http://tool.chinaz.com 使用 IP Lookup 工具获得github.com和github.global.ssl.fastly.net域名的ip地址 2:/etc/hosts文件中添加如下格式(IP最好自己查一...

whoisliang ⋅ 31分钟前 ⋅ 0

非阻塞同步之 CAS

为解决线程安全问题,互斥同步相当于以时间换空间。多线程情况下,只有一个线程可以访问同步代码。这种同步也叫阻塞同步(Blocking Synchronization). 这种同步属于一种悲观并发策略。认为只...

长安一梦 ⋅ 42分钟前 ⋅ 0

云计算的选择悖论如何对待?

人们都希望在工作和生活中有所选择。但心理学家的调查研究表明,在多种选项中进行选择并不一定会使人们更快乐,甚至不会产生更好的决策。心理学家Barry Schwartz称之为“选择悖论”。云计算为...

linux-tao ⋅ 44分钟前 ⋅ 0

我的第一篇个人博客

虽然这是个技术博客,但是,我总是想写一些自己的东西,所有就大胆的在这里写下了第一篇非技术博客。技术博客也很久没有更新,个人原因。 以后自己打算在这里写一些非技术博客,可能个人观点...

Mrs_CoCo ⋅ 45分钟前 ⋅ 0

Redis 注册为 Windows 服务

Redis 注册为 Windows 服务 redis 注册为 windows 服务相关命令 注册服务 redis-server.exe –service-install redis.windows.conf 删除服务 redis-server –service-uninstall 启动服务 re......

Os_yxguang ⋅ 45分钟前 ⋅ 0

世界那么大,语言那么多,为什么选择Micropython,它的优势在哪?

最近国内MicroPython风靡程序界,是什么原因导致它这么火呢?是因为他功能强大,遵循Mit协议开源么? 错!因为使用它真的是太舒服了!!! Micropython的由来,这得益于Damien George这位伟大...

bodasisiter ⋅ 49分钟前 ⋅ 0

docker 清理总结

杀死所有正在运行的容器 docker kill $(docker ps -a -q) 删除所有已经停止的容器(docker rm没有加-f参数,运行中的容器不会删掉) docker rm $(docker ps -a -q) 删除所有未打 dangling 标...

vvx1024 ⋅ 59分钟前 ⋅ 0

关于学习

以前学车的时候,教练说了这样的一句话:如果一个人坐在车上一直学,一直学,反而不如大家轮流着学。因为一个人一直学,就没有给自己留空间来反思和改进。而轮流着学的时候大家下来之后思考上...

mskk ⋅ 今天 ⋅ 0

压缩工具之gzip-bzip2-xz

win下常见压缩工具:rar zip 7z linux下常见压缩工具:zip gz bz2 xz tar.gz tar.bz2 tar.xz gzip 不支持目录压缩 gzip 1.txt #压缩。执行后1.txt消失,生成1.txt.gz压缩文件 gzip -d 1.txt....

ZHENG-JY ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部