日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

iris流程图_如何搭建一个简单的机器学习流水线?

發布時間:2025/3/20 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 iris流程图_如何搭建一个简单的机器学习流水线? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

閱讀此分步教程,學會通過導入scikit-learn包來搭建一個簡單的機器學習流水線(pipeline)

一個機器學習模型中,有很多可移動的組件需要被組合在一起,模型才能被執行并成功的得到結果。把機器學習過程的各個部分結合在一起的過程就被稱作一條 pipeline(管道,流水線)。

Pipeline是一個很籠統廣義的概念,但對于數據科學家來說卻尤為重要。在軟件工程領域,人們通過建立pipeline來開發軟件,并且從源代碼到軟件發布都遵循該流程。

同樣的,在機器學習中,構建pipeline,使數據沿pipeline“流動”,從原始格式,最終得到有用的信息。這使我們能夠建立多種機器學習方法并行的pipeline系統,從而來比較各種方法的性能。

Pipeline的每一步輸入的數據,都是經過前一步處理過的,也就是某一數據處理單元的輸出,是下一步的輸入。

數據在pipeline中流動,就像水在水管中流動。精通pipeline思想,能讓我們有效的創建一個無差錯的機器學習模型,另外,pipeline也是自動化機器學習系統中非常重要的組成部分。

一條簡單的pipeline

我們首先導入一個名為 Iris 的數據集,該數據集可以在 scikit-learn 的簡單數據集庫中找到(http://scikit-learn.org/stable/auto_examples/datasets/plot_iris_dataset.html)。

該數據集包含 4 個特征和 150 條數據。我們會用以下幾步來構建pipeline,并使用Iris數據集, 來訓練我們的模型。對于該數據集,我們考慮的問題是:用四個特征來預測一個給定的 Iris 數據的種類,如圖一所示的流程圖。

在該pipeline中,我們使用 MinMaxScaler 方法對輸入數據進行預處理,用 logistic 回歸方法來預測 Iris 的種類。然后,根據準確性來評估模型:

1.第一步是從 scikit-learn 中導入所需的包,這些包提供很多函數來幫助我們完成該任務。

我們必須從 sklearn.pipline 中添加 pipline 方法,該方法會提供一些建立機器學習pipeline的一些必要方法:

from sklearn.datasets import load_iris

from sklearn.preprocessing import MinMaxScaler

from sklearn.linear_model import LogisticRegression

from sklearn.model_selection import train_test_split

from sklearn.pipeline import Pipeline

2.接下來導入 Iris 數據集,并將其分為訓練和測試集兩部分。

在本次示例中,我們用原數據集的80%來訓練模型,保留20%的數據來測試模型的準確率。我們能用 shape 函數來查看數據集的維度信息:

# Load and split the data

iris = load_iris()

X_train, X_test, y_train, y_test = train_test_split(iris.data,iris.target, test_size = .2, )

X_train.shape

3.結果顯示訓練集有4列和120行,符合 Iris 數據集 80% 的比例,結果如下:

4.接下來,我們輸出該數據集:

print(X_train)以下是譯者運行代碼得到的結果:

[[5.1 3.8 1.5 0.3]

[7.7 3. 6.1 2.3]

[6.7 3.1 5.6 2.4]

[5.9 3. 4.2 1.5]

[6.3 2.5 4.9 1.5]

[6.3 3.4 5.6 2.4]

[6.8 3.2 5.9 2.3]

[4.8 3. 1.4 0.3]

[6.7 3. 5. 1.7]

......

5.下一步是創建一個 pipeline 對象,該對象的格式是 (key , value) 對。Key 包含每一步的名字,用字符串表示;value 是函數名或者實際的方法名稱。下面的代碼片段中,我們將 MinMaxScaler() 方法命名為 minmax,LogisticRegression() 方法命名為 lr:pipe_lr = Pipeline([('minmax', MinMaxScaler()), ('lr'LogisticRegression())])

6.然后,我們將 pipeline 對象 pipe_lr 在訓練集上進行擬合:

pipe_lr.fit(X_train, y_train)

7.執行完上述代碼后,你會得到下面的輸出,該輸出展示了擬合后的模型的最終結構:

8.最后一步是用評價函數在測試集上對模型進行評分:

score = pipe_lr.score(X_test, y_test)

print('Logistic Regression pipeline test accuracy: %.3f' % score)

如下圖所示,模型的準確率是 0.867,也即 86.7%。

(譯注:該準確率和數據集的劃分有關系,每次運行,數據集的隨機劃分不同,準確率也不同)

在該示例中,我們創建了一個包含 minmax 標準化和 Logistic 回歸兩步的pipeline。當我們在 pipe_lr 上進行擬合時,MinMaxScaler 對輸入數據執行了 fit 和 transform 方法,然后數據流向預測函數, logistic回歸函數。pipeline中的這些中間步驟被稱為 transformers,而最后一步被稱作 estimator。

關注集智AI學園公眾號

獲取更多更有趣的AI教程吧!

搜索微信公眾號:swarmAI

集智AI學園QQ群:426390994

學園網站:http://campus.swarma.org

總結

以上是生活随笔為你收集整理的iris流程图_如何搭建一个简单的机器学习流水线?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。