国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

機器學習中的工作流機制

這篇具有很好參考價值的文章主要介紹了機器學習中的工作流機制。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

機器學習中的工作流機制

在項目開發(fā)的時候,經(jīng)常需要我們選擇使用哪一種模型。同樣的數(shù)據(jù),可能決策樹效果不錯,樸素貝葉斯也不錯,SVM也挺好。有沒有一種方法能夠讓我們用一份數(shù)據(jù),同時訓練多個模型,并用某種直觀的方式(包括模型得分),觀察到模型在既有數(shù)據(jù)上的效果?有的,管線工作流pipeline就是專門干這個的,再配上決策邊界,所有模型只用一眼,就能確定優(yōu)劣,選擇你的夢中情模。上效果圖。

機器學習中的工作流機制,機器學習,人工智能

分為兩行,上面是sklearn自帶數(shù)據(jù)集中的數(shù)據(jù),分兩類。從第二列開始,每一列是某種模型在當前數(shù)據(jù)集中的擬合效果。如何查看某種模型效果好壞?從兩個方面,左上角的模型得分,和圖中顏色深淺,兩種顏色的分解代表模型的決策邊界。

下面是筆者自己的數(shù)據(jù),分為4類。同樣不同顏色的分界代表兩種類型的判別邊界。如果只看模型得分,那得分為100%的模型有5個,選再根據(jù)決策邊界進一步確定更優(yōu)秀的模型,為工程所用。這里貼出筆者所用代碼供各位修改,也可以直接取官方代碼修改

def loadTrainData():
    df = pd.read_csv('./your/dataset/path/data.csv')
    trainDataLabel = df.values
    nodeData = trainDataLabel[:, :2], trainDataLabel[:, -1]
    return nodeData

def trainAnalySave():
    from matplotlib.colors import ListedColormap
    import joblib

    from sklearn.datasets import make_circles, make_classification, make_moons
    from sklearn.discriminant_analysis import QuadraticDiscriminantAnalysis
    from sklearn.ensemble import AdaBoostClassifier, RandomForestClassifier
    from sklearn.gaussian_process import GaussianProcessClassifier
    from sklearn.gaussian_process.kernels import RBF
    from sklearn.inspection import DecisionBoundaryDisplay
    from sklearn.model_selection import train_test_split
    from sklearn.naive_bayes import GaussianNB
    from sklearn.neighbors import KNeighborsClassifier
    from sklearn.neural_network import MLPClassifier
    from sklearn.pipeline import make_pipeline
    from sklearn.preprocessing import StandardScaler
    from sklearn.svm import SVC
    from sklearn.tree import DecisionTreeClassifier

    names = [
        "Nearest Neighbors",
        "Linear SVM",
        "RBF SVM",
        "Gaussian Process",
        "Decision Tree",
        "Random Forest",
        "Neural Net",
        "AdaBoost",
        "Naive Bayes",
        "QDA",
    ]

    classifiers = [
        KNeighborsClassifier(3),
        SVC(kernel="linear", C=0.025),
        SVC(gamma=2, C=1),
        GaussianProcessClassifier(1.0 * RBF(1.0)),
        DecisionTreeClassifier(max_depth=5),
        RandomForestClassifier(max_depth=5, n_estimators=10, max_features=1),
        MLPClassifier(alpha=1, max_iter=1000),
        AdaBoostClassifier(),
        GaussianNB(),
        QuadraticDiscriminantAnalysis(),
    ]

    # X, y = make_classification(
    #     n_features=2, n_redundant=0, n_informative=2, random_state=1, n_clusters_per_class=1
    # )
    # rng = np.random.RandomState(2)
    # X += 2 * rng.uniform(size=X.shape)
    # linearly_separable = (X, y)

    nodeData = loadTrainData()

    datasets = [
        # make_moons(noise=0.3, random_state=0),
        make_circles(noise=0.2, factor=0.5, random_state=1),
        # linearly_separable,
        nodeData,
    ]

    # figure = plt.figure(figsize=(27, 9))
    figure = plt.figure(figsize=(15, 4))
    i = 1
    # iterate over datasets
    for ds_cnt, ds in enumerate(datasets):
        # preprocess dataset, split into training and test part
        X, y = ds
        X_train, X_test, y_train, y_test = train_test_split(
            X, y, test_size=0.4, random_state=42
        )

        x_min, x_max = X[:, 0].min() - 0.5, X[:, 0].max() + 0.5
        y_min, y_max = X[:, 1].min() - 0.5, X[:, 1].max() + 0.5

        # just plot the dataset first
        cm = plt.cm.RdBu
        cm_bright = ListedColormap(["#FF0000", "#00FF00", "#FFFF00", "#0000FF"])
        ax = plt.subplot(len(datasets), len(classifiers) + 1, i)
        if ds_cnt == 0:
            ax.set_title("Input data")
        # Plot the training points
        ax.scatter(X_train[:, 0], X_train[:, 1], c=y_train, cmap=cm_bright, edgecolors="k")
        # Plot the testing points
        ax.scatter(
            X_test[:, 0], X_test[:, 1], c=y_test, cmap=cm_bright, alpha=0.6, edgecolors="k"
        )
        ax.set_xlim(x_min, x_max)
        ax.set_ylim(y_min, y_max)
        ax.set_xticks(())
        ax.set_yticks(())
        i += 1

        # iterate over classifiers
        for name, clf in zip(names, classifiers):
            ax = plt.subplot(len(datasets), len(classifiers) + 1, i)

            clf = make_pipeline(StandardScaler(), clf)
            clf.fit(X_train, y_train)
            score = clf.score(X_test, y_test)
            # DecisionBoundaryDisplay.from_estimator(
            #     clf, X, cmap=cm, alpha=0.8, ax=ax, eps=0.5
            # )

            # save satisfied model
            savedPath = r'..\models\sklearn\\'
            savedList = ["Nearest Neighbors", "RBF SVM", "Neural Net"]
            if name in savedList:
                joblib.dump(clf, savedPath + name + '.pkl')

            # Plot the training points
            ax.scatter(
                X_train[:, 0], X_train[:, 1], c=y_train, cmap=cm_bright, edgecolors="k"
            )
            # Plot the testing points
            ax.scatter(
                X_test[:, 0],
                X_test[:, 1],
                c=y_test,
                cmap=cm_bright,
                edgecolors="k",
                alpha=0.6,
            )

            ax.set_xlim(x_min, x_max)
            ax.set_ylim(y_min, y_max)
            ax.set_xticks(())
            ax.set_yticks(())
            if ds_cnt == 0:
                ax.set_title(name)
            ax.text(
                # x_max - 0.3,
                # y_min + 0.3,
                x_min + 0.4,
                y_max - 0.4 - ds_cnt,
                ("%.2f" % score),
                # ("%.2f" % score).lstrip("0"),
                # size=15,
                size=10,
                # horizontalalignment="right",
                horizontalalignment="left",
            )
            i += 1

    plt.tight_layout()
    plt.show()   

    nodeData = loadTrainData()
if __name__ == '__main__':
    trainAnalySave()

注意,這里的DecisionBoundaryDisplay模塊,需要安裝sklearn的較新版本,因而python也需要較高版本。

最后打個廣告,如果有想進修服務器開發(fā)相關的技能,這里是可以讓你秒變大神的時光隧道。 enjoy~~文章來源地址http://www.zghlxwxcb.cn/news/detail-625441.html

到了這里,關于機器學習中的工作流機制的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 【學習筆記】Flowable - 01 - 工作流 快速上手

    【學習筆記】Flowable - 01 - 工作流 快速上手

    JDK8 Flowable6 (6.3 or 6.7.2) Postgresql (MySQL同樣支持) 波哥:2023年Flowable詳細講解 波哥:2022年Flowable教程-基礎篇 Flowable BPMN 用戶手冊 中文 官方網(wǎng)站 官方github源碼 IDEA低版本提供一個BPMN解析插件: 但是并沒有很好的支持流程的繪制。 存在幾個工具: 古老的Eclipse(太老的不推薦 官

    2024年01月19日
    瀏覽(30)
  • 陶哲軒工作流之人工智能數(shù)學驗證+定理發(fā)明工具LEAN4 [線性代數(shù)篇2前置知識]不同求和范圍不同函數(shù)項結果相等的條件

    有空點贊我的視頻哦:陶哲軒工作流之人工智能數(shù)學驗證+定理發(fā)明工具LEAN4 [線性代數(shù)篇2前置知識]不同求和范圍不同函數(shù)項結果相等的條件_嗶哩嗶哩_bilibili -- 反向推理 refine\\\' sum_bij _ _ _ _ _ -- {s : Finset α} {t : Finset γ} {f : α → β} {g : γ → β} -- (i : ? a ∈ s, γ) -- (hi : ? a ha,

    2024年01月17日
    瀏覽(23)
  • 模仿Activiti工作流自動建表機制,實現(xiàn)Springboot項目啟動后自動創(chuàng)建多表關聯(lián)的數(shù)據(jù)庫與表的方案

    模仿Activiti工作流自動建表機制,實現(xiàn)Springboot項目啟動后自動創(chuàng)建多表關聯(lián)的數(shù)據(jù)庫與表的方案

    文/朱季謙 熬夜寫完,尚有不足,但仍在努力學習與總結中,而您的點贊與關注,是對我最大的鼓勵! 在一些本地化項目開發(fā)當中,存在這樣一種需求,即開發(fā)完成的項目,在第一次部署啟動時,需能自行構建系統(tǒng)需要的數(shù)據(jù)庫及其對應的數(shù)據(jù)庫表。 若要解決這類需求,其實

    2024年01月24日
    瀏覽(28)
  • PowerAutomate工作流實現(xiàn)將Sharepoint列表中的數(shù)據(jù)復制到任意站點的某個列表

    PowerAutomate工作流實現(xiàn)將Sharepoint列表中的數(shù)據(jù)復制到任意站點的某個列表

    ????????本次的工作流案例是實現(xiàn)將Sharepoint列表中的數(shù)據(jù)復制到任意站點的列表,要實現(xiàn)的目標是:當列表A中創(chuàng)建或修改數(shù)據(jù)時,工作流會獲取該數(shù)據(jù)并復制到列表B中,同樣列表A中的數(shù)據(jù)發(fā)生修改時,列表B中存在的數(shù)據(jù)同步發(fā)生修改。 下面以兩個列表進行舉例,列表

    2024年02月11日
    瀏覽(36)
  • 深度學習模型部署(六)TensorRT工作流and入門demo

    深度學習模型部署(六)TensorRT工作流and入門demo

    官方給出的步驟: 總結下來可以分為兩大部分: 模型生成:將onnx經(jīng)過一系列優(yōu)化,生成tensorrt的engine模型 選擇batchsize,選擇精度precision,模型轉換 模型推理:使用python或者C++進行推理 生成trt模型: 然后就坐等輸出模型,我們可以根據(jù)log信息看一下tensorRT都干了什么: 得到

    2024年03月13日
    瀏覽(20)
  • PyTorch Lightning:通過分布式訓練擴展深度學習工作流

    PyTorch Lightning:通過分布式訓練擴展深度學習工作流

    ? ????????歡迎來到我們關于 PyTorch Lightning 系列的第二篇文章!在上一篇文章中,我們向您介紹了 PyTorch Lightning,并探討了它在簡化深度學習模型開發(fā)方面的主要功能和優(yōu)勢。我們了解了 PyTorch Lightning 如何為組織和構建 PyTorch 代碼提供高級抽象,使研究人員和從業(yè)者能夠

    2024年02月11日
    瀏覽(21)
  • 【工作流】Activiti工作流簡介以及Spring Boot 集成 Activiti7

    【工作流】Activiti工作流簡介以及Spring Boot 集成 Activiti7

    什么是工作流? 工作流指通過計算機對業(yè)務流程進行自動化管理,實現(xiàn)多個參與者按照預定義的流程去自動執(zhí)行業(yè)務流程。 文章源碼托管:https://github.com/OUYANGSIHAI/Activiti-learninig Activiti5是由Alfresco軟件在2010年5月17日發(fā)布的業(yè)務流程管理(BPM)框架,它是覆蓋了業(yè)務流程管理、

    2024年02月08日
    瀏覽(31)
  • 云原生離線工作流編排利器 -- 分布式工作流 Argo 集群

    云原生離線工作流編排利器 -- 分布式工作流 Argo 集群

    作者:莊宇 在現(xiàn)代的軟件開發(fā)和數(shù)據(jù)處理領域,批處理作業(yè)(Batch)扮演著重要的角色。它們通常用于數(shù)據(jù)處理,仿真計算,科學計算等領域,往往需要大規(guī)模的計算資源。隨著云計算的興起,阿里云批量計算和 AWS Batch 等云服務提供了管理和運行這些批處理作業(yè)的平臺。 隨

    2024年01月24日
    瀏覽(28)
  • 設計模式學習筆記 - 設計模式與范式 -行為型:8.狀態(tài)模式:游戲、工作流引擎中常用的狀態(tài)機是如何實現(xiàn)的?

    設計模式學習筆記 - 設計模式與范式 -行為型:8.狀態(tài)模式:游戲、工作流引擎中常用的狀態(tài)機是如何實現(xiàn)的?

    本章學習狀態(tài)模式。在實際的開發(fā)中,狀態(tài)模式并不是很常用,但是在能夠用到的場景里,它可以發(fā)揮很大的作用。從這一點上看,它有點像我們之前講到的組合模式。 狀態(tài)模式一般用來實現(xiàn)狀態(tài)機,而狀態(tài)機常用在游戲、工作流引擎等系統(tǒng)開發(fā)中。不過,狀態(tài)機的實現(xiàn)方式

    2024年04月10日
    瀏覽(28)
  • Camunda 7工作流引擎 API 以及與Springboot集成實現(xiàn)工作流配置全紀錄

    Camunda 7工作流引擎 API 以及與Springboot集成實現(xiàn)工作流配置全紀錄

    項目中需要用到工作流引擎來設計部分業(yè)務流程,框架選型最終選擇了 Camunda7,關于 Camunda以及 Activity 等其他工作流 引擎的介紹及對比不再介紹,這里只介紹與現(xiàn)有Springboot項目的集成以及具體使用及配置 流程(PROCESS): 通過工具建模最終生成的BPMN文件,里面有整個流程的定

    2024年02月10日
    瀏覽(46)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包