構建機器學習工作流

2022-07-28 21:00:28 字數 1671 閱讀 2306

#匯入相關庫

from pyspark import sparkcontext

from pyspark.sql import sparksession

from pyspark.ml import pipeline

from pyspark.ml.classification import logisticregression

from pyspark.ml.feature import hashingtf, tokenizer

#為spark的sparksession物件

#構建訓練資料集

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)],["id","text","label"])

#定義 pipeline 中的各個工作流階段pipelinestage,包括轉換器和評估器,具體的,包含tokenizer, hashingtf和lr三個步驟。

tokenizer = tokenizer(inputcol="text",outputcol="words")

hashingtf = hashingtf(inputcol=tokenizer.getoutputcol(), outputcol="features")

lr = logisticregression(maxiter =10, regparam=0.001)

#按照具體的處理邏輯有序的組織pipelinestages 並建立乙個pipeline。

#現在構建的pipeline本質上是乙個estimator,在它的fit()方法執行之後,它將產生乙個pipelinemodel,它是乙個transformer

#model的型別是乙個pipelinemodel

pipeline = pipeline(stages=[tokenizer, hashingtf, lr])

model = pipeline.fit(training)

#先構建測試資料。

test = spark.createdataframe([

(4,"spark i j k"),

(5," l m n"),

(6,"spark hadoop spark"),

(7,"apache hadoop")],["id","text"])

#呼叫我們訓練好的pipelinemodel的transform()方法,讓測試資料按順序通過擬合的工作流,生成我們所需要的**結果

prediction =model.transform(test)

selected = prediction.select("id","text","probability","prediction")

for row in selected.collect():

rid, text, prob, prediction =row

print("(%d, %s) --> prob=%s, prediction=%f" % (rid, text, str(prob), prediction))

效果圖

工作流學習(一)

本人為了處理軟體的工作流,而學習工作流。在概略的學習了一下後,從這幾個方面對概略的學習做個總結。首先要明白什麼是工作流,然後要知道工作流引擎,最後要選擇乙個優秀的開源工作流來學習。學習 osworkflow 首先要知道它有哪些表,哪些包,哪些介面,這些介面提供什麼功能。然後要明白它的工作原理,最後要...

工作流的學習

恢復內容開始 首先明確下概念,工作流是抽象一件工作由開始到結束,當中需要經過的節點,並按照約定的順序將這件工作做完。是計算機實現工作自動化的一種體現,現在方方面面都用到了工作流。比如oa辦公系統中的審批流程,釘釘中的辦公用品申請等都是工作流在日常辦公中給予的幫助。那它是怎麼實現的呢?工作流的實施需要...

工作流建模 工作流概念

工作流建模 工作流概念 1 案例 工作流系統得基本目的是處理案例。每個案例都有乙個唯一標識,而且每個案例的生命週期都是有限的。案例生命週期都處於某個特定狀態,該狀態由三個元素組成 1 案例相關的屬性的值 案例屬性是一系列同案例相關的變數。能夠用來管理案例。正是通過這些變數,才有可能指出在特定條件下某...