国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

機器學習超參數調優總結(PySpark ML)

人工智能 機器學習
CrossValidator交叉驗證器首先將數據集分割為一組折疊數據集,這些折疊數據集用作單獨的訓練數據集和測試數據集。例如,當k=3次時,CrossValidator將生成3對(訓練,測試)數據集,每對數據集使用2/3的數據進行訓練,1/3的數據進行測試。

ML中的一個重要任務是模型選擇,或者使用數據為給定任務找到最佳的模型或參數。這也稱為調優??梢詫蝹€的估計器(如LogisticRegression?)進行調優,也可以對包括多種算法、特性化和其他步驟的整個pipeline?進行調優。用戶可以一次調優整個Pipeline?,而不是分別調優 Pipeline 中的每個元素。

ML中的一個重要任務是模型選擇,或者使用數據為給定任務找到最佳的模型或參數。這也稱為調優??梢詫蝹€的Estimator?(如LogisticRegression?)進行調優,也可以對包括多種算法、特性化和其他步驟的整個pipeline?進行調優。用戶可以一次調優整個Pipeline?,而不是分別調優Pipeline中的每個元素。

MLlib支持使用CrossValidator和TrainValidationSplit等工具進行模型選擇。這些工具需要具備以下條件:

  • 估計器:要調優的算法或管道pipeline
  • 一組參數:可選擇的參數,有時稱為搜索的“參數網格”
  • 評估者:度量擬合模型在測試數據上的表現

這些模型選擇工具的工作方式如下:

  • 他們將輸入數據拆分為單獨的訓練和測試數據集。
  • 對于每個(訓練、測試)對,它們遍歷ParamMap 集合:

對于每個ParamMap?,使用這些參數擬合Estimator?,得到擬合的Model?,并使用Evaluator? 評估Model的性能。

  • 他們選擇Model由表現最好的一組參數產生。

為了幫助構造參數網格,用戶可以使用ParamGridBuilder。默認情況下,參數網格中的參數集以串行方式計算。在使用CrossValidator或TrainValidationSplit運行模型選擇之前,可以通過將并行度設置為2或更多(1的值將是串行的)來并行地進行參數評估。并行度的值應該謹慎選擇,以便在不超過集群資源的情況下最大化并行度,較大的值不一定會提高性能。一般來說,10以上的值對大多數集群來說應該足夠了。

交叉驗證

CrossValidator交叉驗證器首先將數據集分割為一組折疊數據集,這些折疊數據集用作單獨的訓練數據集和測試數據集。例如,當k=3次時,CrossValidator將生成3對(訓練,測試)數據集,每對數據集使用2/3的數據進行訓練,1/3的數據進行測試。為了評估一個特定的ParamMap, CrossValidator通過在3個不同的(訓練,測試)數據集對上擬合Estimator產生的3個模型計算平均評估度量。

在確定最佳ParamMap之后,CrossValidator最終使用最佳ParamMap和整個數據集重新匹配Estimator。

from pyspark.ml import Pipeline
from pyspark.ml.classification import LogisticRegression
from pyspark.ml.evaluation import BinaryClassificationEvaluator
from pyspark.ml.feature import HashingTF, Tokenizer
from pyspark.ml.tuning import CrossValidator, ParamGridBuilder

# 準備訓練文件,并做好標簽。
training = spark.createDataFrame([
(0, "a b c d e spark", 1.0),
(1, "b d", 0.0),
(2, "spark f g h", 1.0),
(3, "hadoop mapreduce", 0.0),
(4, "b spark who", 1.0),
(5, "g d a y", 0.0),
(6, "spark fly", 1.0),
(7, "was mapreduce", 0.0),
(8, "e spark program", 1.0),
(9, "a e c l", 0.0),
(10, "spark compile", 1.0),
(11, "hadoop software", 0.0)
], ["id", "text", "label"])

# 配置一個ML管道,它由樹stages組成:tokenizer、hashingTF和lr。
tokenizer = Tokenizer(inputCol="text", outputCol="words")
hashingTF = HashingTF(inputCol=tokenizer.getOutputCol(), outputCol="features")
lr = LogisticRegression(maxIter=10)
pipeline = Pipeline(stages=[tokenizer, hashingTF, lr])

# 我們現在將Pipeline作為一個Estimator,將其包裝在CrossValidator實例中。
# 這將允許我們共同選擇所有管道階段的參數。
# 交叉驗證器需要一個Estimator、一組Estimator ParamMaps和一個Evaluator。
# 我們使用ParamGridBuilder來構造一個用于搜索的參數網格。
# hashingTF.numFeatures 的3個值, lr.regParam的2個值,
# 這個網格將有3 x 2 = 6的參數設置供CrossValidator選擇。


paramGrid = ParamGridBuilder() \
.addGrid(hashingTF.numFeatures, [10, 100, 1000]) \
.addGrid(lr.regParam, [0.1, 0.01]) \
.build()

crossval = CrossValidator(estimator=pipeline,
estimatorParamMaps=paramGrid,
evaluator=BinaryClassificationEvaluator(),
numFolds=2) # 使用3+ folds

# 運行交叉驗證,并選擇最佳參數集。
cvModel = crossval.fit(training)

# 準備測試未標注的文件
test = spark.createDataFrame([
(4, "spark i j k"),
(5, "l m n"),
(6, "mapreduce spark"),
(7, "apache hadoop")
], ["id", "text"])

# 對測試文檔進行預測, cvModel使用發現的最佳模型(lrModel)
prediction = cvModel.transform(test)
selected = prediction.select("id", "text", "probability", "prediction")
for row in selected.collect():
print(row)

訓練驗證拆分

除了 CrossValidator 之外,Spark 還提供了用于超參數調優的 TrainValidationSplit。TrainValidationSplit 只計算每個參數組合一次,而在 CrossValidator 的情況下是k次。因此,它的成本較低,但當訓練數據集不夠大時,它不會產生可靠的結果。

與 CrossValidator 不同,TrainValidationSplit 創建單個(訓練、測試)數據集對。它使用 trainRatio 參數將數據集分成這兩部分。例如,當trainRatio=0.75 時,TrainValidationSplit 將生成一個訓練和測試數據集對,其中 75% 的數據用于訓練,25% 用于驗證。

像 CrossValidator 一樣,TrainValidationSplit 最終使用最佳 ParamMap 和整個數據集匹配 Estimator。

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

# Prepare training and test data.
data = spark.read.format("libsvm")\
.load("data/mllib/sample_linear_regression_data.txt")
train, test = data.randomSplit([0.9, 0.1], seed=12345)

lr = LinearRegression(maxIter=10)

# 我們使用ParamGridBuilder來構造一個用于搜索的參數網格。
# TrainValidationSplit將嘗試所有值的組合,并使用評估器確定最佳模型。
paramGrid = ParamGridBuilder()\
.addGrid(lr.regParam, [0.1, 0.01]) \
.addGrid(lr.fitIntercept, [False, True])\
.addGrid(lr.elasticNetParam, [0.0, 0.5, 1.0])\
.build()

# 在這種情況下,估計器是簡單的線性回歸。
# TrainValidationSplit需要一個Estimator、一組Estimator ParamMaps 和一個 Evaluator。
tvs = TrainValidationSplit(estimator=lr,
estimatorParamMaps=paramGrid,
evaluator=RegressionEvaluator(),
# 80%的數據將用于培訓,20%用于驗證。
trainRatio=0.8)

# 運行TrainValidationSplit,并選擇最佳參數集。
model = tvs.fit(train)

# 對測試數據進行預測。模型是參數組合后性能最好的模型。
model.transform(test)\
.select("features", "label", "prediction")\
.show()

責任編輯:武曉燕 來源: 數據STUDIO
相關推薦

2021-01-22 11:18:58

Python機器學習超參數

2024-07-16 16:13:14

2025-01-07 12:55:28

2024-11-25 08:20:35

2022-08-09 13:44:37

機器學習PySpark M數據分析

2010-09-25 13:05:07

JVM參數

2022-08-30 00:31:12

機器學習超參數調優算法

2012-01-10 14:35:08

JavaJVM

2021-03-17 11:35:11

JVM代碼Java

2023-06-06 15:42:13

Optuna開源

2012-01-10 15:13:56

JavaJVM

2017-11-07 11:00:59

數據庫調優DBMS

2023-11-10 11:23:20

JVM內存

2021-03-26 06:05:17

Tomcat

2010-03-04 10:56:52

JVM參數

2012-01-10 14:18:40

JavaJVM

2023-07-28 14:49:00

黑盒優化機器學習

2010-09-26 13:48:51

JVM調優

2019-12-20 14:21:26

JVM調優垃圾回收

2011-03-31 13:40:34

點贊
收藏

51CTO技術棧公眾號

f2c人成在线观看免费视频| 欧美在线影院| 调教+趴+乳夹+国产+精品| 三年中文高清在线观看第6集| 四虎成人精品一区二区免费网站| 精品美女永久免费视频| 国产经典久久久| 亚洲伦伦在线| 国产日韩av在线| 6080成人| 亚洲毛茸茸少妇高潮呻吟| 国产裸舞福利在线视频合集| 中文字幕亚洲区| 国产淫片免费看| 国产乱码精品一区二区三区av| 91网站在线看| 日本一区二区三区视频| 97久久精品人人澡人人爽缅北| 中文在线中文资源| 精品精品欲导航| 黄色网页网址在线免费| 欧美性猛交视频| 黄色直播在线| 一区二区三区欧美在线观看| av免费观看网| av激情综合网| 国产黄色激情视频| 欧美aa在线视频| 你懂的视频在线一区二区| 国产精品国产三级国产在线观看| 欧美激情欧美狂野欧美精品| 91精品国产66| 一区二区三区国产视频| av在线最新| 日韩av在线最新| 欧美13videosex性极品| 亚洲成人三级在线| 草草视频在线| 亚洲欧美制服中文字幕| 蜜桃视频m3u8在线观看| 亚洲第一精品夜夜躁人人躁| 女囚岛在线观看| 精品国免费一区二区三区| 国产在线更新| 精品电影一区二区| 中文字幕不卡三区视频| 中文字幕久久精品| 警花av一区二区三区| 欧美激情视频三区| 伊人久久大香线蕉综合网站| 国产精品va在线播放| 热久久天天拍国产| caoporn国产精品免费公开| 亚洲国产一区二区三区a毛片| 国产一区二区三区91| 波多野结衣在线中文| 精品欠久久久中文字幕加勒比| 久久久久久久999| 不卡的看片网站| 在线看片国产福利你懂的| 国产精品久久久亚洲| 午夜精品一区二区三区国产| 日韩欧美久久一区| 亚洲超碰在线| 三区精品视频| 日韩一二三四区| 中文在线资源在线| 成年丰满熟妇午夜免费视频| 欧美日韩美女在线观看| 精品国产乱码久久久久久郑州公司 | 欧美国产一级| 国产精品xxx在线观看www| 一区二区日本视频| 在线国产精品网| 久久久久久**毛片大全| 国外亚洲成av人片在线观看| 91激情在线视频| 国产蜜臀在线| 欧美激情国产高清| 国产精品久久观看| 中文字幕在线中文字幕日亚韩一区| 99久久久精品| 国产传媒视频在线观看| 欧美一级高清大全免费观看| 欧美影视资讯| 国产美女精品免费电影| 免费看欧美美女黄的网站| 免费大片在线观看| 欧洲一区在线电影| 色999韩欧美国产综合俺来也| 91精品国产综合久久香蕉最新版 | 久久久精品国产亚洲| 国产欧美日韩精品一区二区三区| 国产在线播放一区二区| 久久综合狠狠综合久久综合88| 少妇激情av一区二区| 视频在线一区二区| 亚洲午夜极品| 亚欧在线免费观看| 精品裸体舞一区二区三区| 噜噜噜狠狠夜夜躁精品仙踪林| 欧美日韩国产精品一卡| 国产精品福利在线播放| 日本在线视频网址| 国产精品视频大全| 成人精品视频.| 麻豆av在线免费看| 欧洲精品毛片网站| 国产成人精品免费一区二区| 手机看片福利在线观看| 中文综合在线观看| 99精品视频网| 老鸭窝av在线| 色香阁99久久精品久久久| 亚洲欧洲一级| 日本免费视频| 日韩一区二区三区xxxx| 国产日韩欧美在线播放不卡| 国产jizz| 久久精品亚洲一区| 蜜桃一区二区三区在线观看| 中文字幕亚洲精品视频| 久久久免费在线观看| 国产精品456| av在线麻豆| 99理论电影网| 亚洲精品中文字幕在线观看| 成人免费在线观看视频| 日韩三级电影免费观看| 色婷婷一区二区三区四区| 亚洲影院天堂中文av色| 日本xxxxxxx免费视频| 亚洲精品午夜精品| 日韩不卡一区二区三区| av在线中文| 国产欧美一区二区三区四区| 国产精品无遮挡| 福利一区和二区| 色哟哟免费网站| 精品视频一区在线视频| 美女视频黄a大片欧美| 日本综合在线| 亚洲va码欧洲m码| 精品国产成人在线| 久久精品不卡| 日韩午夜影院| 91免费的视频在线播放| 亚洲美女视频在线| 久操国产精品| igao视频网在线视频| 国产成人涩涩涩视频在线观看| 国产精品五月天| 亚洲人成网亚洲欧洲无码| 成人黄色网页| 国产日韩在线观看av| 狠狠躁夜夜躁人人爽天天天天97| 成人免费a**址| 理论视频在线| 久久亚洲综合网| 亚洲精品suv精品一区二区| 日欧美一区二区| 精品国产第一福利网站| 成年人看的毛片| 欧美极品少妇xxxxⅹ裸体艺术| 亚洲国产精品国自产拍av| 日韩深夜影院| 神马久久高清| 日本一区视频在线| 国产亚洲日本欧美韩国| 久久久久久影视| 欧美老女人另类| 91se在线| 久久久成人精品一区二区三区| 伊人久久久久久久久久久| www国产成人免费观看视频 深夜成人网 | 精品一区二区电影| 粉嫩嫩av羞羞动漫久久久| www一区二区三区| 男女免费网站| 3d动漫精品啪啪一区二区三区免费 | 欧美人与禽性xxxxx杂性| 亚洲欧洲三级| 久久精品视频导航| 亚洲精品视频免费观看| 2023国产精品久久久精品双| 免费黄网站在线播放| 欧美a级免费视频| 欧美性受xxxx白人性爽| 日本精品视频一区二区| 日韩精品视频网站| 日本久久一区| 欧美12一14sex性hd| 欧美日韩电影一区二区| 中文字幕日韩在线观看| 亚洲欧美一区二区三区孕妇| 亚洲精选在线| 国产精品国产亚洲精品| 国产三级视频在线看| 欧日韩免费视频| 亚洲一区亚洲二区亚洲三区|