机器学习---数据简介及数据清洗概述
| 1.1 數據
數據:它可以是任何未經解釋和分析的未經處理的事實、價值、文本、聲音或圖片。數據是所有數據分析、機器學習、人工智能中最重要的部分。沒有數據,我們無法訓練任何模型,所有現代研究和自動化都將徒勞無功。大企業花費大量資金只是為了收集盡可能多的特定數據。
信息:已被解釋和操作的數據,現在對用戶有一些有意義的推斷。?
知識:推斷信息、經驗、學習和見解的結合。結果為個人或組織建立意識或概念。?
我們如何在機器學習中拆分數據???
-
訓練數據:我們用來訓練模型的數據部分。這是您的模型實際看到(輸入和輸出)并從中學習的數據。
-
驗證數據:用于對模型進行頻繁評估的數據部分,適合訓練數據集以及改進所涉及的超參數(在模型開始學習之前初始設置參數)。當模型實際訓練時,這些數據會發揮作用。
-
測試數據:一旦我們的模型完全訓練完畢,測試數據就會提供無偏見的評估。當我們輸入測試數據時,我們的模型將預測一些值(沒有看到實際輸出)。在預測之后,我們通過將模型與測試數據中的實際輸出進行比較來評估我們的模型。這就是我們如何評估和查看我們的模型從作為訓練數據輸入的經驗中學到了多少,這些經驗是在訓練時設置的。
? ?
| 2.1?數據處理
數據處理是將數據從給定形式轉換為更可用和更理想的形式的任務,即使其更有意義和信息豐富。使用機器學習算法、數學建模和統計知識,整個過程可以自動化。這個完整過程的輸出可以是任何所需的形式,如圖形、視頻、圖表、表格、圖像等等,具體取決于我們正在執行的任務和機器的要求。這似乎很簡單,但對于 Twitter、Facebook 等大型組織、議會、教科文組織等行政機構和衛生部門組織,整個過程需要以非常結構化的方式進行。因此,要執行的步驟如下:?
-
收集:?
從 ML 開始,最關鍵的一步是擁有高質量和準確的數據。可以從任何經過身份驗證的來源收集數據,例如Kaggle或UCI 數據集存儲庫。例如,在準備競爭性考試時,學生從他們可以訪問的最好的學習材料中學習,以便他們學得最好,從而獲得最好的結果。同樣,高質量和準確的數據將使模型的學習過程更容易和更好,并且在測試時,模型將產生最先進的結果。?
收集數據消耗了大量的資金、時間和資源。組織或研究人員必須決定執行任務或研究所需的數據類型。?
示例:在面部表情識別器上工作,需要大量具有各種人類表情的圖像。良好的數據可確保模型的結果有效且值得信賴。?
? -
準備:?
收集的數據可以是原始形式,不能直接輸入機器。因此,這是一個從不同來源收集數據集、分析這些數據集然后構建新數據集以進行進一步處理和探索的過程。這種準備可以手動進行,也可以通過自動方法進行。數據也可以以數字形式準備,這也將加快模型的學習。?
示例:可以將圖像轉換為 NXN 維度的矩陣,每個單元格的值將指示圖像像素。 -
輸入:?
現在準備好的數據可以是機器不可讀的形式,所以要將這些數據轉換成可讀的形式,需要一些轉換算法。要執行此任務,需要高計算量和準確性。示例:可以通過 MNIST 數字數據(圖像)、Twitter 評論、音頻文件、視頻剪輯等來源收集數據。 -
處理:?
這是需要算法和 ML 技術以準確和優化計算來執行在大量數據上提供的指令的階段。 -
輸出:?
在此階段,機器以有意義的方式獲取結果,用戶可以輕松推斷出結果。輸出可以是報告、圖表、視頻等形式 -
存儲:?
這是保存獲得的輸出和數據模型數據以及所有有用信息以供將來使用的最后一步。
| 3.1?數據清洗
數據清洗是機器學習的重要組成部分之一。它在構建模型中起著重要作用。它肯定不是機器學習中最精彩的部分,同時也沒有任何隱藏的技巧或秘密可供發現。但是,項目的成敗取決于適當的數據清理。專業的數據科學家通常會在這一步投入很大一部分時間,因為他們相信“更好的數據勝過更高級的算法”。?
如果我們有一個經過良好清理的數據集,我們也有可能通過簡單的算法獲得良好的結果,這有時會證明是非常有益的,尤其是在數據集較大時的計算方面。?
顯然,不同類型的數據將需要不同類型的清理。然而,這種系統的方法總是可以作為一個很好的起點。?
數據清洗涉及的步驟:?
刪除不需要的觀察?
這包括從數據集中刪除重復/冗余或不相關的值。在數據收集過程中最常出現重復觀察,而不相關的觀察是那些實際上不適合您要解決的特定問題的觀察。?
-
隨著數據的重復,冗余觀察在很大程度上改變了效率,并且可能會向正確的一側或錯誤的一側添加,從而產生不忠實的結果。
-
不相關的觀察是對我們沒有用的任何類型的數據,可以直接刪除。
修復結構錯誤?
在測量、數據傳輸或其他類似情況下出現的錯誤稱為結構錯誤。結構錯誤包括特征名稱中的拼寫錯誤、具有不同名稱的相同屬性、錯誤標記的類(即實際上應該相同的單獨類)或大小寫不一致。?
-
例如,模型會將 America 和 America 視為不同的類或值,盡管它們表示相同的值或紅色、黃色和紅黃色作為不同的類或屬性,盡管一個類可以包含在其他兩個類中。因此,這些是一些結構性錯誤,使我們的模型效率低下并給出質量差的結果。?
管理不需要的異常值異常?
值可能會導致某些類型的模型出現問題。例如,線性回歸模型對異常值的魯棒性不如決策樹模型。一般來說,我們不應該刪除異常值,直到我們有正當理由刪除它們。有時,刪除它們會提高性能,有時則不會。因此,必須有充分的理由去除異常值,例如不太可能成為真實數據一部分的可疑測量值。
處理缺失數據?
缺失數據是機器學習中一個看似棘手的問題。我們不能只是忽略或刪除缺失的觀察。必須小心處理它們,因為它們可能表明一些重要的事情。處理缺失數據的兩種最常見的方法是:?
????????????????1.?刪除具有缺失值的觀察。
-
-
該值丟失的事實本身可能提供信息。
-
另外,在現實世界中,即使缺少某些特征,您也經常需要對新數據進行預測!
-
????????????????2.?從過去的觀察中估算缺失值。
-
-
同樣,“缺失”本身幾乎總是提供信息,如果缺少值,您應該告訴您的算法。
-
即使你建立了一個模型來估算你的價值觀,你也沒有添加任何真實的信息。您只是在加強其他功能已經提供的模式。
-
丟失數據就像丟失了一塊拼圖。如果你放棄它,那就像假裝拼圖插槽不存在一樣。如果你估算它,那就像試圖從拼圖中的其他地方擠入一塊。?
因此,丟失的數據始終是一種信息性和重要事物的指示。我們必須通過標記它來了解我們的缺失數據算法。通過使用這種標記和填充技術,您實際上允許算法估計缺失的最佳常數,而不是僅僅用平均值填充它。?
一些數據清理工具?
-
Openrefine
-
Trifacta Wrangler?
-
TIBCO Clarity
-
Cloudingo
-
IBM Infosphere Quality Stage
結論:?
因此,我們討論了數據清洗中的四個不同步驟,以使數據更可靠并產生良好的結果。正確完成數據清理步驟后,我們將擁有一個強大的數據集,可以避免許多最常見的陷阱。這一步不應該匆忙,因為它在進一步的過程中被證明是非常有益的。
References:
-
https://en.wikipedia.org/wiki/Machine_learning
-
Andrew Ng. Machine Learning[EB/OL]. StanfordUniversity,2017.https://www.coursera.org/course/ml
-
https://en.wikipedia.org/wiki/Supervised_learning
|?4.1?寫在最后
學習不是一蹴而就的,機器學習所涉及的內容非常寬泛,后面可能還會涉及一些數學公式。不過作為一種面向應用的方式方法,在不同的場景下同樣有著不同的解決方式,希望今天的內容可以幫你明白數據的重要性,幫你打下堅實的基礎。
勘誤:
由于我自己也不是資深編程高手,在創作此內容時盡管已經力求精準,查閱了諸多資料,還是難保有所疏漏,如果各位發現有誤可以公眾號內留言,歡迎指正。
你要偷偷學Python,然后驚艷所有人。
-END-
感謝大家的關注
? ?你關心的,都在這里
總結
以上是生活随笔為你收集整理的机器学习---数据简介及数据清洗概述的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pyhive python连接hive
- 下一篇: iOS 实时录音和播放