文档章节

模型训练

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

##随机森林调整参数 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";

© 著作权归作者所有

共有 人打赏支持
上一篇: spark配置
下一篇: Sphinx生成PDF
KYO4321
粉丝 4
博文 85
码字总数 47544
作品 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
0
论文笔记:蒸馏网络(Distilling the Knowledge in Neural Network)

Distilling the Knowledge in Neural Network Geoffrey Hinton, Oriol Vinyals, Jeff Dean preprint arXiv:1503.02531, 2015 NIPS 2014 Deep Learning Workshop 简单总结 主要工作(What) ......

PilgrimHui
06/11
0
0
机器学习--第六讲--K折交叉验证

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

Betty__
2016/10/27
396
0
如何用学习曲线降低偏差和方差?

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

阿里云云栖社区
01/15
0
0
机器学习之机器学习库scikit-learn

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

cxmscb
2017/02/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Nginx/Apache/PHP Hidden Version Number

nginx隐藏版本号的方法 在nginx配置文件nginx.conf中,加入以下代码: server_tokens off; apache隐藏版本号的方法 在apache配置文件httpd.conf中,加入以下代码: ServerTokens ProdServer...

Linux就该这么学
13分钟前
1
0
iOS 滚动视图 UIScrollView 代理方法 相关属性 状态栏 滚动条 回弹 弹簧效果

iOS 滚动视图 UIScrollView 代理方法 相关属性 状态栏 滚动条 回弹 弹簧效果 #import "ViewController.h"@interface ViewController () <span style="color:#ff0000;"><UIScrollViewDel......

壹峰
19分钟前
0
0
【转】Hive 工作原理详解

什么是Hive? Hive是建立在 Hadoop 上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。...

hnairdb
19分钟前
2
0
开源 java CMS - FreeCMS2.8 微信管理 公众号设置

项目地址:http://www.freeteam.cn/ 公众号设置 管理员可以在这里设置微信公众号的相关配置,每个站点都可设置自己的微信公众号。 其中接口URL需要配置在微信公众号中,如下图所示 App Key ...

freeteam
21分钟前
2
0
MySQL中 replace 函数应用

将以下字段中的【忻州】替换为【洛阳】 Sql语句如下 UPDATE sys_organization SET org_name = REPLACE(org_name,'忻州','洛阳'); 执行结果如下...

karma123
23分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部