国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何避免在數(shù)據(jù)準備過程中的數(shù)據(jù)泄漏

數(shù)據(jù)分析與開發(fā) ? 來源:數(shù)據(jù)派 ? 2020-08-27 15:19 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

數(shù)據(jù)準備是將原始數(shù)據(jù)轉換為適合建模的形式的過程。 原始的數(shù)據(jù)準備方法是在評估模型性能之前對整個數(shù)據(jù)集進行處理。這會導致數(shù)據(jù)泄漏的問題, 測試集中的數(shù)據(jù)信息會泄露到訓練集中。那么在對新數(shù)據(jù)進行預測時,我們會錯誤地估計模型性能。 為了避免數(shù)據(jù)泄漏,我們需要謹慎使用數(shù)據(jù)準備技術,同時也要根據(jù)所使用的模型評估方案靈活選擇,例如訓練測試集劃分或k折交叉驗證。 在本教程中,您將學習在評估機器學習模型時如何避免在數(shù)據(jù)準備過程中的數(shù)據(jù)泄漏。 完成本教程后,您將會知道:

應用于整個數(shù)據(jù)集的簡單的數(shù)據(jù)準備方法會導致數(shù)據(jù)泄漏,從而導致對模型性能的錯誤估計。

為了避免數(shù)據(jù)泄漏,數(shù)據(jù)準備應該只在訓練集中進行。

如何在Python中用訓練測試集劃分和k折交叉驗證實現(xiàn)數(shù)據(jù)準備而又不造成數(shù)據(jù)泄漏。在我的新書

(https://machinelearningmastery.com/data-preparation-for-machine-learning/)

中了解有關數(shù)據(jù)清理,特征選擇,數(shù)據(jù)轉換,降維以及更多內容,包含30個循序漸進的教程和完整的Python源代碼。

讓我們開始吧。 目錄 本教程分為三個部分: 1.原始數(shù)據(jù)準備方法存在的問題 2.用訓練集和測試集進行數(shù)據(jù)準備

用原始數(shù)據(jù)準備方法進行訓練-測試評估

用正確的數(shù)據(jù)準備方法進行訓練-測試評估

3 .用K折交叉驗證進行數(shù)據(jù)準備

用原始數(shù)據(jù)準備方法進行交叉驗證評估

用正確的數(shù)據(jù)準備方法進行交叉驗證評估

原始數(shù)據(jù)準備方法的問題 應用數(shù)據(jù)準備技術處理數(shù)據(jù)的方式很重要。 一種常見的方法是首先將一個或多個變換應用于整個數(shù)據(jù)集。然后將數(shù)據(jù)集分為訓練集和測試集,或使用k折交叉驗證來擬合并評估機器學習模型。 1.準備數(shù)據(jù)集 2.分割數(shù)據(jù) 3.評估模型 盡管這是一種常見的方法,但在大多數(shù)情況下很可能是不正確的。 在分割數(shù)據(jù)進行模型評估之前使用數(shù)據(jù)準備技術可能會導致數(shù)據(jù)泄漏, 進而可能導致錯誤評估模型的性能。 數(shù)據(jù)泄漏是指保留數(shù)據(jù)集(例如測試集或驗證數(shù)據(jù)集)中的信息出現(xiàn)在訓練數(shù)據(jù)集中,并被模型使用的問題。這種泄漏通常很小且微妙,但會對性能產生顯著影響。 ‘’…泄漏意味著信息會提供給模型,這給它做出更好的預測帶來了不真實的優(yōu)勢。當測試數(shù)據(jù)泄漏到訓練集中時,或者將來的數(shù)據(jù)泄漏到過去時,可能會發(fā)生這種情況。當模型應用到現(xiàn)實世界中進行預測時,只要模型訪問了它不應該訪問的信息,就是泄漏。 —第93頁,機器學習的特征工程,2018年?!? 將數(shù)據(jù)準備技術應用于整個數(shù)據(jù)集會發(fā)生數(shù)據(jù)泄漏。 數(shù)據(jù)泄漏的直接形式是指我們在測試數(shù)據(jù)集上訓練模型。而當前情況是數(shù)據(jù)泄漏的間接形式,是指訓練過程中,模型可以使用匯總統(tǒng)計方法捕獲到有關測試數(shù)據(jù)集的一些知識。對于初學者而言很難察覺到第二種類型的數(shù)據(jù)泄露。 “重采樣的另一個方面與信息泄漏的概念有關,信息泄漏是在訓練過程中(直接或間接)使用測試集數(shù)據(jù)。這可能會導致過于樂觀的結果,這些結果無法在將來的數(shù)據(jù)上復現(xiàn)。 —第55頁,特征工程與選擇,2019年?!? 例如,在某些情況下我們要對數(shù)據(jù)進行歸一化,即將輸入變量縮放到0-1范圍。 當我們對輸入變量進行歸一化時,首先要計算每個變量的最大值和最小值, 并利用這些值去縮放變量. 然后將數(shù)據(jù)集分為訓練數(shù)據(jù)集和測試數(shù)據(jù)集,但是這樣的話訓練數(shù)據(jù)集中的樣本對測試數(shù)據(jù)集中的數(shù)據(jù)信息有所了解。數(shù)據(jù)已按全局最小值和最大值進行了縮放,因此,他們掌握了更多有關變量全局分布的信息。 幾乎所有的數(shù)據(jù)準備技術都會導致相同類型的泄漏。例如,標準化估計了域的平均值和標準差,以便縮放變量;甚至是估算缺失值的模型或統(tǒng)計方法也會從全部數(shù)據(jù)集中采樣來填充訓練數(shù)據(jù)集中的值。 解決方案很簡單。 數(shù)據(jù)準備工作只能在訓練數(shù)據(jù)集中進行。也就是說,任何用于數(shù)據(jù)準備工作的系數(shù)或模型都只能使用訓練數(shù)據(jù)集中的數(shù)據(jù)行。 一旦擬合完,就可以將數(shù)據(jù)準備算法或模型應用于訓練數(shù)據(jù)集和測試數(shù)據(jù)集。 1.分割數(shù)據(jù)。 2.在訓練數(shù)據(jù)集上進行數(shù)據(jù)準備。 3.將數(shù)據(jù)準備技術應用于訓練和測試數(shù)據(jù)集。 4.評估模型。 更普遍的是,僅在訓練數(shù)據(jù)集上進行整個建模工作來避免數(shù)據(jù)泄露。這可能包括數(shù)據(jù)轉換,還包括其他技術,例如特征選擇,降維,特征工程等等。這意味著所謂的“模型評估”實際上應稱為“建模過程評估”。 “為了使任何重采樣方案都能產生可泛化到新數(shù)據(jù)的性能估算,建模過程中必須包含可能顯著影響模型有效性的所有步驟。

—第54-55頁,特征工程與選擇,2019年?!?/p>

既然我們已經(jīng)熟悉如何應用數(shù)據(jù)準備以避免數(shù)據(jù)泄漏,那么讓我們來看一些可行的示例。 準備訓練和測試數(shù)據(jù)集 在本節(jié)中,我們利用合成二進制分類數(shù)據(jù)集分出訓練集和測試集,并使用這兩個數(shù)據(jù)集評估邏輯回歸模型, 其中輸入變量已歸一化。 首先,讓我們定義合成數(shù)據(jù)集。 我們將使用make_classification()函數(shù)創(chuàng)建包含1000行數(shù)據(jù)和20個數(shù)值型特征的數(shù)據(jù)。下面的示例創(chuàng)建了數(shù)據(jù)集并總結了輸入和輸出變量數(shù)組的形狀。

運行這段代碼會得到一個數(shù)據(jù)集, 數(shù)據(jù)集的輸入部分有1000行20列, 20列對應20個輸入變量, 輸出變量包含1000個樣例對應輸入數(shù)據(jù),每行一個值。

接下來我們要在縮放后的數(shù)據(jù)上評估我們的模型, 首先從原始或者說錯誤的方法開始。 用原始方法進行訓練集-測試集評估 原始方法首先對整個數(shù)據(jù)集應用數(shù)據(jù)準備方法,其次分割數(shù)據(jù)集,最后評估模型。 我們可以使用MinMaxScaler類對輸入變量進行歸一化,該類首先使用默認配置將數(shù)據(jù)縮放到0-1范圍,然后調用fit_transform()函數(shù)將變換擬合到數(shù)據(jù)集并同步應用于數(shù)據(jù)集。得到歸一化的輸入變量,其中數(shù)組中的每一列都分別進行過歸一化(例如,計算出了自己的最小值和最大值)。

下一步,我們使用train_test_split函數(shù)將數(shù)據(jù)集分成訓練集和測試集, 其中67%的數(shù)據(jù)用作訓練集,剩下的33%用作測試集。

通過LogisticRegression 類定義邏輯回歸算法,使用默認配置, 并擬合訓練數(shù)據(jù)集。

擬合模型可以對測試集的輸入數(shù)據(jù)做出預測,然后我們可以將預測值與真實值進行比較,并計算分類準確度得分。

把上述代碼結合在一起,下面列出了完整的示例。

運行上述代碼, 首先會將數(shù)據(jù)歸一化, 然后把數(shù)據(jù)分成測試集和訓練集,最后擬合并評估模型。 由于學習算法和評估程序的隨機性,您的具體結果可能會有所不同。 在本例中, 模型在測試集上的準確率為84.848%

我們已經(jīng)知道上述代碼中存在數(shù)據(jù)泄露的問題, 所以模型的準確率估算是有誤差的。 接下來,讓我們來學習如何正確的進行數(shù)據(jù)準備以避免數(shù)據(jù)泄露。 用正確的數(shù)據(jù)準備方法進行訓練集-測試集評估 利用訓練集-測試集分割評估來執(zhí)行數(shù)據(jù)準備的正確方法是在訓練集上擬合數(shù)據(jù)準備方法,然后將變換應用于訓練集和測試集。

這要求我們首先將數(shù)據(jù)分為訓練集和測試集。 然后,我們可以定義MinMaxScaler并在訓練集上調用fit()函數(shù),然后在訓練集和測試集上應用transform()函數(shù)來歸一化這兩個數(shù)據(jù)集。

我們只用了訓練集而非整個數(shù)據(jù)集中的數(shù)據(jù)來對每個輸入變量計算最大值和最小值, 這樣就可以避免數(shù)據(jù)泄露的風險。 然后可以按照之前的評估過程對模型評估。 整合之后, 完整代碼如下:

運行示例會將數(shù)據(jù)分為訓練集和測試集,對數(shù)據(jù)進行正確的歸一化,然后擬合并評估模型。 由于學習算法和評估程序的隨機性,您的具體結果可能會有所不同。 在本例中,我們可以看到該模型在測試集上預測準確率約為85.455%,這比上一節(jié)中由于數(shù)據(jù)泄漏達到84.848%的準確性更高。 我們預期數(shù)據(jù)泄漏會導致對模型性能的錯誤估計,并以為數(shù)據(jù)泄漏會樂觀估計,例如有更好的性能。然而在示例中,我們可以看到數(shù)據(jù)泄漏導致性能更差了。這可能是由于預測任務的難度。

用K折交叉驗證進行數(shù)據(jù)準備 在本節(jié)中,我們將在合成的二分類數(shù)據(jù)集上使用K折交叉驗證評估邏輯回歸模型, 其中輸入變量均已歸一化。 您可能還記得k折交叉驗證涉及到將數(shù)據(jù)集分成k個不重疊的數(shù)據(jù)組。然后我們只用一組數(shù)據(jù)作為測試集, 其余的數(shù)據(jù)都作為訓練集對模型進行訓練。將此過程重復K次,以便每組數(shù)據(jù)都有機會用作保留測試集。最后輸出所有評估結果的均值。 k折交叉驗證過程通常比訓練測試集劃分更可靠地估計了模型性能,但由于反復擬合和評估,它在計算成本上更加昂貴。 我們首先來看一下使用k折交叉驗證的原始數(shù)據(jù)準備。 用K折交叉驗證進行原始數(shù)據(jù)準備 具有交叉驗證的原始數(shù)據(jù)準備首先要對數(shù)據(jù)進行變換,然后再進行交叉驗證過程。 我們將使用上一節(jié)中準備的合成數(shù)據(jù)集并直接將數(shù)據(jù)標準化。

首先要定義k折交叉驗證步驟。我們將使用重復分層的10折交叉驗證,這是分類問題的最佳實踐。重復是指整個交叉驗證過程要重復多次,在本例中要重復三次。分層意味著每組樣本各類別樣本的比例與原始數(shù)據(jù)集中相同。我們將使用k = 10的10折交叉驗證。 我們可以使用RepeatedStratifiedKFold(設置三次重復以及10折)來實現(xiàn)上述方案,然后使用cross_val_score()函數(shù)執(zhí)行該過程,傳入定義好的模型,交叉驗證對象和要計算的度量(在本例中使用的是準確率 )。

然后,我們可以記錄所有重復和折疊的平均準確度。 綜上,下面列出了使用帶有數(shù)據(jù)泄漏的數(shù)據(jù)準備進行交叉驗證評估模型的完整示例。

運行上述代碼, 首先對數(shù)據(jù)進行歸一化,然后使用重復分層交叉驗證對模型進行評估。 由于學習算法和評估程序的隨機性,您的具體結果可能會有所不同。 在本例中,我們可以看到該模型達到了約85.300%的估計準確度,由于數(shù)據(jù)準備過程中存在數(shù)據(jù)泄漏,我們知道該估計準確度是不正確的。

接下來,讓我們看看如何使用交叉驗證評估模型同時避免數(shù)據(jù)泄漏。 具有正確數(shù)據(jù)準備的交叉驗證評估 使用交叉驗證時,沒有數(shù)據(jù)泄漏的數(shù)據(jù)準備工作更具挑戰(zhàn)性。 它要求在訓練集上進行數(shù)據(jù)準備,并在交叉驗證過程中將其應用于訓練集和測試集,例如行的折疊組。 我們可以通過定義一個建模流程來實現(xiàn)此目的,在要擬合和評估的模型中該流程定義了要執(zhí)行的數(shù)據(jù)準備步驟的順序和結束條件。 “ 為了提供可靠的方法,我們應該限制自己僅在訓練集上開發(fā)一系列預處理技術,然后將這些技術應用于將來的數(shù)據(jù)(包括測試集)。

—第55頁,特征工程與選擇,2019年。”

評估過程從錯誤地僅評估模型變?yōu)檎_地將模型和整個數(shù)據(jù)準備流程作為一個整體單元一起評估。 這可以使用Pipeline類來實現(xiàn)。 此類使用一個包含定義流程的步驟的列表。列表中的每個步驟都是一個包含兩個元素的元組。第一個元素是步驟的名稱(字符串),第二個元素是步驟的配置對象,例如變換或模型。盡管我們可以在序列中使用任意數(shù)量的轉換,但是僅在最后一步才應用到模型。

之后我們把配置好的對象傳入cross_val_score()函數(shù)進行評估。

綜上所述,下面列出了使用交叉驗證時正確執(zhí)行數(shù)據(jù)準備而不會造成數(shù)據(jù)泄漏的完整示例。

運行該示例可在評估過程進行交叉驗證時正確地歸一化數(shù)據(jù),以避免數(shù)據(jù)泄漏。 由于學習算法和評估程序的隨機性,您的具體結果可能會有所不同。 本例中,我們可以看到該模型的估計準確性約為85.433%,而數(shù)據(jù)泄漏方法的準確性約為85.300%。 與上一節(jié)中的訓練測試集劃分示例一樣,消除數(shù)據(jù)泄露帶來了性能上的一點提高, 雖然直覺上我們會認為它應該會帶來下降, 以為數(shù)據(jù)泄漏會導致對模型性能的樂觀估計。但是,這些示例清楚地表明了數(shù)據(jù)泄漏確實會影響模型性能的估計以及在拆分數(shù)據(jù)后通過正確執(zhí)行數(shù)據(jù)準備來糾正數(shù)據(jù)泄漏的方法。

總結 在本教程中,您學習了評估機器學習模型時如何避免在數(shù)據(jù)準備期間出現(xiàn)數(shù)據(jù)泄露的問題。 具體來說,您了解到:

直接將數(shù)據(jù)準備方法應用于整個數(shù)據(jù)集會導致數(shù)據(jù)泄漏,從而導致對模型性能的錯誤估計。

為了避免數(shù)據(jù)泄漏,必須僅在訓練集中進行數(shù)據(jù)準備。

如何在Python中為訓練集-測試集分割和k折交叉驗證實現(xiàn)數(shù)據(jù)準備而又不會造成數(shù)據(jù)泄漏。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • python
    +關注

    關注

    57

    文章

    4876

    瀏覽量

    90047
  • 數(shù)據(jù)集

    關注

    4

    文章

    1236

    瀏覽量

    26201

原文標題:準備數(shù)據(jù)時如何避免數(shù)據(jù)泄漏

文章出處:【微信號:DBDevs,微信公眾號:數(shù)據(jù)分析與開發(fā)】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    硅片清洗過程中的慢提拉是如何進行的

    硅片清洗過程中的慢提拉是確保硅片表面潔凈度和干燥效果的關鍵步驟,以下是其具體操作方式:準備工作硅片裝載:將經(jīng)過前面工序清洗后的硅片小心地放入特制的花籃或吊籃,注意硅片之間的間距要合適,一般間隔
    的頭像 發(fā)表于 01-12 11:55 ?229次閱讀
    硅片清洗<b class='flag-5'>過程中</b>的慢提拉是如何進行的

    請問如何解決CW32L083系列微控制器在通信過程中可能出現(xiàn)的數(shù)據(jù)錯誤問題?

    如何解決CW32L083系列微控制器在通信過程中可能出現(xiàn)的數(shù)據(jù)錯誤問題?
    發(fā)表于 12-16 08:01

    串口發(fā)送數(shù)據(jù)過程中,會中間停幾毫秒,為什么?

    串口發(fā)送數(shù)據(jù)過程中,會中間停幾毫秒,導致PLC觸發(fā)了MODBUS的T3.5,數(shù)據(jù)接收不對, 1、一開始用的是freemodbus,查看后發(fā)現(xiàn)是輪詢發(fā)送,后來改為不用freemodbus,直接發(fā)
    發(fā)表于 09-29 07:51

    有哪些方法可以避免在電能質量在線監(jiān)測裝置硬件故障檢測過程中對設備造成二次損壞?

    避免在電能質量在線監(jiān)測裝置硬件故障檢測造成二次損壞,需圍繞 “ 操作規(guī)范、工具適配、環(huán)境控制、風險預判 ” 四大核心,從檢測前準備、操作過程、維修驗證全流程管控,針對性規(guī)避 “靜電損
    的頭像 發(fā)表于 09-24 15:19 ?686次閱讀

    CUBEIDE調試過程中,如何將數(shù)組仲的數(shù)據(jù)拷貝到電腦?

    請問,有什么辦法可以在CUBEIDE 調試過程中,將數(shù)組的數(shù)據(jù)拷貝到電腦上去?
    發(fā)表于 09-09 07:20

    紅外測溫技術在氣瓶充裝過程中的應用

    在氣瓶充裝過程中,溫度異常可能引發(fā)瓶體爆裂、氣體泄漏等嚴重事故,直接威脅人員與生產安全。而紅外測溫技術的應用,正成為實時監(jiān)控溫度、防范風險的“利器”。
    的頭像 發(fā)表于 08-26 15:54 ?893次閱讀

    服務器數(shù)據(jù)恢復—熱備盤上線過程中硬盤掉線導致數(shù)據(jù)丟失,數(shù)據(jù)恢復揭秘

    一臺某品牌存儲設備中有一組由8塊硬盤(包括熱備盤)組建的raid5磁盤陣列。上層安裝的Linux操作系統(tǒng)。 raid5磁盤陣列有一塊硬盤掉線,熱備盤自動上線并開始同步數(shù)據(jù)。在熱備盤同步數(shù)據(jù)過程中,raid5陣列又有一塊硬盤由
    的頭像 發(fā)表于 08-26 13:24 ?323次閱讀

    如何保障遠程運維過程中數(shù)據(jù)安全和隱私?

    LZ-DZ100背面 在分布式光伏集群的遠程運維,數(shù)據(jù)安全和隱私保護面臨多重風險,包括 傳輸過程中的竊聽 / 篡改、未授權訪問控制指令、設備固件被惡意植入、敏感數(shù)據(jù)(如站點位置、運行
    的頭像 發(fā)表于 08-22 10:26 ?1000次閱讀
    如何保障遠程運維<b class='flag-5'>過程中</b>的<b class='flag-5'>數(shù)據(jù)</b>安全和隱私?

    PCIe協(xié)議分析儀在數(shù)據(jù)中心中有何作用?

    和分析過程中泄露。 作用: 啟用分析儀的數(shù)據(jù)脫敏功能,對特定字段(如Memory Address、Payload)進行掩碼處理(如替換為0xDEADBEEF)。 存儲捕獲數(shù)據(jù)時使用AES-256加密
    發(fā)表于 07-29 15:02

    如何避免MOS管在開關過程中的電壓尖峰?

    MOS管(金屬氧化物半導體場效應晶體管)在開關過程中易產生電壓尖峰,可能引發(fā)器件損壞或電磁干擾問題。為有效抑制電壓尖峰,需從電路設計、器件選型、布局布線及保護措施等多維度進行優(yōu)化,以下為具體解決方案
    的頭像 發(fā)表于 06-13 15:27 ?1700次閱讀

    如何避免振弦式應變計在安裝過程中的誤差?

    安裝過程中的關鍵控制點,幫助用戶規(guī)避常見誤差風險。儀器檢查與預處理安裝前的準備工作是避免誤差的第一步。首先需核對應變計型號是否與設計要求一致,例如標距(100mm
    的頭像 發(fā)表于 06-13 12:01 ?501次閱讀
    如何<b class='flag-5'>避免</b>振弦式應變計在安裝<b class='flag-5'>過程中</b>的誤差?

    存儲示波器在校準過程中需要注意哪些安全問題

    在存儲示波器的校準過程中,需嚴格遵守電氣安全、設備保護及操作規(guī)范,以避免人身傷害、設備損壞或數(shù)據(jù)丟失。以下從電氣安全、設備防護、環(huán)境控制及操作流程四個維度,系統(tǒng)化梳理關鍵安全事項。 一、電氣安全
    發(fā)表于 05-28 15:37

    直線導軌運轉過程中如何避免震動發(fā)生?

    直線導軌在運轉過程中發(fā)生震動會影響設備的精度和穩(wěn)定性,甚至可能導致設備故障。
    的頭像 發(fā)表于 05-23 17:50 ?606次閱讀
    直線導軌運轉<b class='flag-5'>過程中</b>如何<b class='flag-5'>避免</b>震動發(fā)生?

    檢漏儀通信革命:Modbus轉Profinet讓數(shù)據(jù)傳輸“快人一步”

    的可燃氣體檢漏儀,用于實時監(jiān)測生產過程中的氣體泄漏情況。然而,由于企業(yè)的自動化控制系統(tǒng)基于Profinet網(wǎng)關協(xié)議,檢漏儀的數(shù)據(jù)無法直接接入系統(tǒng),導致監(jiān)測信息不能及時反饋給操作人員。 引入VING微硬
    發(fā)表于 05-19 15:55

    記憶示波器校準過程中需要特別注意什么?

    在記憶示波器校準過程中,需特別注意以下關鍵點,以確保校準結果的準確性和可靠性:一、環(huán)境控制 [td]因素影響措施 溫度元件特性變化,導致測量誤差保持(23±5)℃,變化率≤1℃/h 濕度漏電流增加
    發(fā)表于 04-15 14:15