資料科學 - 面試問題
以下是面試中最常見的一些問題。
Q1. 什麼是資料科學,它與其他與資料相關的領域有何不同?
資料科學是一個研究領域,它利用計算和統計方法從資料中獲取知識和見解。它利用數學、統計學、計算機科學和領域特定知識的技術來分析大型資料集,發現數據中的趨勢和模式,並對未來進行預測。
資料科學與其他資料相關領域的不同之處在於,它不僅僅是收集和組織資料。資料科學過程包括分析、建模、視覺化和評估資料集。資料科學使用機器學習演算法、資料視覺化工具和統計模型等工具來分析資料,進行預測,並發現資料中的模式和趨勢。
其他與資料相關的領域,如機器學習、資料工程和資料分析,更專注於特定的事情,例如機器學習工程師的目標是設計和建立能夠從資料中學習並進行預測的演算法;資料工程的目標是設計和管理資料管道、基礎設施和資料庫;資料分析完全是關於探索和分析資料以發現模式和趨勢。而資料科學則涵蓋建模、探索、收集、視覺化、預測和模型部署。
總的來說,資料科學是一種更全面的資料分析方法,因為它包括整個過程,從準備資料到做出預測。其他處理資料的領域則擁有更具體的專業領域。
Q2. 資料科學過程是什麼?其中涉及的關鍵步驟有哪些?
資料科學過程,也稱為資料科學生命週期,是一種系統的方法,用於尋找資料問題的解決方案,它展示了開發、交付和維護資料科學專案所採取的步驟。
標準的資料科學生命週期方法包括使用機器學習演算法和統計程式,從而產生更準確的預測模型。資料提取、準備、清洗、建模、評估等是資料科學的一些最重要階段。資料科學過程中涉及的關鍵步驟包括:
識別問題並理解業務
就像任何其他業務生命週期一樣,資料科學生命週期從“為什麼?”開始。確定問題是資料科學過程中最重要的部分之一。這有助於找到一個明確的目標,所有其他步驟都圍繞著這個目標展開。簡而言之,儘早瞭解業務目標非常重要,因為它將決定分析的最終目標。
資料收集
資料科學生命週期的下一步是資料收集,這意味著從適當且可靠的來源獲取原始資料。收集的資料可以是有組織的或無組織的。資料可以從網站日誌、社交媒體資料、線上資料儲存庫以及甚至透過API從線上來源流式傳輸的資料收集,還可以透過網路抓取或儲存在Excel或任何其他來源中的資料。
資料處理
從可靠的來源收集高質量的資料後,下一步是處理它。資料處理的目的是確保在進入下一階段之前解決獲取資料中的任何問題。如果沒有這一步,我們可能會產生錯誤或不準確的結果。
資料分析
資料分析,探索性資料分析 (EDA) 是一組用於分析資料的視覺化技術。透過這種方法,我們可以獲得關於資料統計摘要的具體細節。此外,我們還能夠處理重複數字、異常值,並識別集合中的趨勢或模式。
資料視覺化
資料視覺化是將資訊和資料顯示在圖表上的過程。資料視覺化工具使用圖表、圖形和地圖等視覺化元素,使理解資料中的趨勢、異常值和模式變得容易。對於員工或企業主來說,這也是向不瞭解技術的人展示資料而不會讓他們感到困惑的好方法。
資料建模
資料建模是資料科學中最重要的方面之一,有時也被稱為資料分析的核心。模型的預期輸出應該源於準備和分析過的資料。
在此階段,我們開發用於訓練和測試用於生產相關任務的模型的資料集。它還包括選擇正確的模型型別,並確定問題是涉及分類、迴歸還是聚類。在分析模型型別之後,我們必須選擇合適的實現演算法。這必須謹慎進行,因為它對於從提供的資料中提取相關見解至關重要。
模型部署
模型部署包含建立必要的交付方法,以將模型部署給市場消費者或其他系統。機器學習模型也正在被部署到裝置上,並獲得認可和普及。根據專案的複雜性,此階段可能從Tableau Dashboard上的基本模型輸出到擁有數百萬使用者的複雜雲端部署。
Q3. 有監督學習和無監督學習有什麼區別?
**有監督學習** - 有監督學習是一種機器學習和人工智慧型別。它也稱為“監督式機器學習”。它的特點是使用標記資料集來訓練演算法如何正確分類資料或預測結果。隨著資料輸入模型,其權重會發生變化,直到模型正確擬合。這是交叉驗證過程的一部分。有監督學習幫助組織找到各種現實世界問題的規模化解決方案,例如將垃圾郵件分類到收件箱之外的單獨資料夾中,就像在Gmail中我們有垃圾郵件資料夾一樣。
**有監督學習演算法** - 樸素貝葉斯、線性迴歸、邏輯迴歸。
**無監督學習** - 無監督學習,也稱為無監督機器學習,使用機器學習演算法來檢視未標記的資料集並將它們分組。這些程式查詢隱藏的模式或資料組。它能夠發現資訊中的異同,使其非常適合探索性資料分析、交叉銷售策略、客戶細分和影像識別。
**無監督學習演算法** - K均值聚類
Q4. 什麼是正則化?它如何幫助避免過擬合?
正則化是一種向模型新增資訊以防止其過擬合的方法。它是一種試圖使係數估計儘可能接近於零的迴歸型別,以使模型更小。在這種情況下,去除額外的權重就是減少模型容量的含義。
正則化從選擇的特徵中去除任何額外的權重,並重新分配權重,使它們都相同。這意味著正則化使得學習既靈活又有很多活動部件的模型變得更加困難。一個非常靈活的模型是可以擬合儘可能多的資料點的模型。
Q5. 什麼是交叉驗證?為什麼它在機器學習中很重要?
交叉驗證是一種透過在可用輸入資料的不同子集上訓練 ML 模型,然後在另一個子集上測試它們來測試 ML 模型的技術。我們可以使用交叉驗證來檢測過擬合,即未能概括模式。
對於交叉驗證,我們可以使用 k 折交叉驗證方法。在 k 折交叉驗證中,我們將開始使用的資料分成 k 組(也稱為摺疊)。我們在除一個(k-1)以外的所有子集上訓練 ML 模型,然後在未用於訓練的子集上測試該模型。此過程進行 k 次,每次都將不同的子集留作評估(不用於訓練)。
Q6. 機器學習中分類和迴歸有什麼區別?
迴歸和分類的主要區別在於,迴歸有助於預測連續量,而分類有助於預測離散類別標籤。兩種機器學習演算法的一些組成部分也是相同的。
迴歸演算法可以對離散值(整數)進行預測。
如果值以類別標籤機率的形式出現,則分類演算法可以預測此型別的資料。
Q7. 什麼是聚類?一些流行的聚類演算法有哪些?
聚類是一種資料探勘方法,它根據資料項的相似性或差異來組織未標記的資料。聚類技術用於根據資料中的結構或模式將未分類、未處理的資料項組織成組。聚類演算法有很多型別,包括排他性、重疊、層次和機率性。
**K 均值聚類** 是聚類方法的一個流行示例,其中資料點根據它們與每組質心的距離分配到 K 個組。最接近某個質心的資料點將被分組到同一類別。較高的 K 值表示較小的組,粒度較高,而較低的 K 值表示較大的組,粒度較低。K 均值聚類的常見應用包括市場細分、文件聚類、影像分割和影像壓縮。
Q8. 什麼是梯度下降?它如何在機器學習中工作?
梯度下降是一種最佳化演算法,通常用於訓練神經網路和機器學習模型。訓練資料幫助這些模型隨著時間的推移而學習,梯度下降中的成本函式充當測量其每次引數更新迭代的準確性的晴雨表。模型將不斷改變其引數以使誤差儘可能小,直到函式接近或等於 0。一旦機器學習模型被調整得儘可能準確,它們就可以以強大的方式用於人工智慧 (AI) 和計算機科學。
Q9. 什麼是 A/B 測試?它如何在資料科學中使用?
A/B 測試是一種常見的隨機對照實驗形式。這是一種在受控環境中確定兩個變數版本中哪個版本效能更好的方法。A/B 測試是資料科學和整個技術行業中最重要的概念之一,因為它是最有效的方法之一,可以得出關於任何假設的結論。瞭解什麼是 A/B 測試以及它通常如何工作至關重要。A/B 測試是評估產品的一種常用方法,並且在資料分析領域越來越受歡迎。在測試增量更改(如 UX 修改、新功能、排名和頁面載入速度)時,A/B 測試更有效。
Q10. 你能解釋過擬合和欠擬合嗎?以及如何減輕它們?
過擬合是一種建模錯誤,它發生在函式過度擬合於有限數量的資料點時。這是由於模型具有過多的訓練點和過高的複雜度造成的。
欠擬合是一種建模錯誤,它發生在函式不能很好地匹配資料點時。這是由於模型過於簡單且訓練點不足造成的。
機器學習研究人員可以透過多種方法避免過擬合。這些方法包括:交叉驗證、正則化、剪枝、Dropout。
機器學習研究人員可以透過多種方法避免欠擬合。這些方法包括:
獲取更多訓練資料。
增加引數數量或增大引數大小。
使模型更復雜。
增加訓練時間,直到代價函式達到最低點。
透過這些方法,您應該能夠改進模型並解決任何過擬合或欠擬合問題。