#匯入相關庫
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 案例相關的屬性的值 案例屬性是一系列同案例相關的變數。能夠用來管理案例。正是通過這些變數,才有可能指出在特定條件下某...