優秀的數據分析師應該具備哪些技能和特質?

  • 2019 年 10 月 6 日
  • 筆記

目錄

  • 數據分析師在企業中的價值是什麼?優秀的數據分析師應該具備哪些技能和特質?
  • 如何掌握數據分析師所必要的編程能力?
  • L1範數和L2範數的區別和作用?
  • Python中,這兩個參數是什麼意思:*args,**kwargs,我們為什麼要使用它們?
  • 什麼是模型過擬合,請列舉一下模型過擬合的原因及解決辦法?
  • 對特徵進行挑選的方法有哪些?
  • 機器學習中為什麼要經常對數據做歸一化處理?一般適用於什麼情形

數據分析師在企業中的價值是什麼?優秀的數據分析師應該具備哪些技能和特質?

價值:根據當前數據,對比歷史數據,結合市場規律對具體業務問題進行糾正,指導以及預測。

技能:數據驅動,發現問題,解決問題。普通企業基本excel就能完成90%的數據分析工作,更多的是需要對業務的精通;互聯網企業資料庫操作能力是基本,R或者Python必會一項,但一般以Python居多,要求更高一點的都需要具備一定的數據挖掘能力。

我是研一經濟學的學生,想做數據分析師,我現在正在學習SQL和Python,SQL剛開始比較簡單,但是我發現無論是SQL還是Python我似乎對電腦演算法和結構都不太了解,每次寫一些複雜的語句,我總是看別人的能看懂,自己寫就寫不出來。

問題:如何掌握數據分析師所必要的編程能力?

(1)找個簡單的案例,模仿著,就算程式碼抄也要親自打,然後在此基礎上自己發散思維擴展功能,為了實現功能就會逼迫自己去查文檔、手冊,每天都搞個案例再拓展功能,不出2月自然就熟悉了,最關鍵的是要有毅力

(2)初期先看看教程把基本語法學會

(3)我當時自學數據結構是跟著網課來的,中國大學慕課網 里的 浙大數據結構,講得十分細緻,同時還給出了PAT的題目練習。我基本上從那裡開始入的門。

至於對編程開始有感覺,視野開闊起來。想實現什麼就能自己找資料摸索,是在完成真正意義上的一個小項目之後了。做小項目的時候,經常要各種搜索,能力大概是在那個時候提升的。

L1範數和L2範數的區別和作用?

範數:指的是向量的長度

L1範數是指向量中各個向量元素的絕對值之和。

L2範數是指各個各個向量元素的平方和再開方。

L1範式相當於L0範式,是特徵更多成為0,即特徵稀疏化(L0範數很難求優化,所以用的L1範式),方便特徵提取。

L2範數可以防止過擬合,提升模型的泛化能力。

Python中,這兩個參數是什麼意思:*args,**kwargs,我們為什麼要使用它們?

在python中,當*和**符號出現在函數定義的參數中時,表示任意數目參數收集。

*arg表示任意多個可變參數,可變參數允許你傳入0個或任意個參數,這些可變參數在函數調用時自動組裝為一個tuple。

**kwargs表示關鍵字參數,關鍵字參數允許你傳入0個或任意個含參數名的參數,這些關鍵字參數在函數內部自動組裝為一個dict。使用時需將*arg放在**kwargs之前,否則會有「SyntaxError: non-keyword arg after keyword arg」的語法錯誤

什麼是模型過擬合,請列舉一下模型過擬合的原因及解決辦法?

據雜訊導致的過擬合:雜訊具有一定的隨機性與欺騙性,如果把雜訊作為有效資訊的話,將會導致過擬合。

缺乏代表性樣本導致的過擬合:訓練數據集不能很好的反應整體分布可能會導致過擬合;訓練數據集較小,但模型過度細化會導致過擬合。

從定量角度來講,過擬合常常表現為模型的方差過大,而欠擬合則表現為模型的偏差過大。

降低過擬合的方法:1. 增大訓練集,更多的樣本可以讓模型學到更多有效的特徵;2. 正則化,將權重的大小加入損失函數中,避免權值過大引起的過擬合,比如L1/L2正則;3. 降低模型複雜度,比如 dropout,決策樹剪枝等,4. bagging 的方法。bagging 的思路是對模型的結果取平均。取平均後模型的方差降低,為避免模型之間的相關性過大,像隨機森林採取了對特徵隨機選擇的方法,但是boosting並不能顯著降低方差,因為各個弱分類器間是強相關的。

對特徵進行挑選的方法有哪些?

通常來說,從兩個方面考慮來選擇特徵:

特徵是否發散:如果一個特徵不發散,例如方差接近於0,也就是說樣本在這個特徵上基本上沒有差異,這個特徵對於樣本的區分並沒有什麼用。

特徵與目標的相關性:這點比較顯見,與目標相關性高的特徵,應當優選選擇。除方差法外,本文介紹的其他方法均從相關性考慮。

根據特徵選擇的形式:

Filter:過濾法,按照發散性或者相關性對各個特徵進行評分,設定閾值或者待選擇閾值的個數,選擇特徵。通過該方法選出來的特徵與具體的預測模型沒有關係,因此具有更好的泛化能力。

Wrapper:包裝法,根據目標函數(通常是預測效果評分),每次選擇若干特徵,或者排除若干特徵。圍繞一定的預測模型,預測模型的估計誤差一定程度上反映了特徵的有用性。

Embedded:集成法,先使用某些機器學習的演算法和模型進行訓練,得到各個特徵的權值係數,根據係數從大到小選擇特徵。

參考:http://www.cnblogs.com/jasonfreak/p/5448385.html

機器學習中為什麼要經常對數據做歸一化處理?一般適用於什麼情形

對於不同的特徵向量,比如年齡、購買量、購買額,在數值的量綱上相差十倍或者百千倍。如果不歸一化處理,就不容易進行比較、求距離,模型參數和正確度精確度就會受影響,比如:計算樣本距離時,如果特徵向量取值範圍相差很大,如果不進行歸一化處理,則值範圍更大的特徵向量對距離的影響更大,實際情況是,取值範圍更小的特徵向量對距離影響更大,這樣的話,精度就會收到影響。

拓展:歸一化和標準化的區別和聯繫

標準化:在機器學習中,我們可能要處理不同種類的資料,例如,音訊和圖片上的像素值,這些資料可能是高維度的,資料標準化後會使每個特徵中的數值平均變為0(將每個特徵的值都減掉原始資料中該特徵的平均)、標準差變為1,這個方法被廣泛的使用在許多機器學習演算法中(例如:支援向量機、邏輯回歸和類神經網路)。

區別:

Z-score標準化(標準差標準化 / 零均值標準化)x』 = (x - μ)/σ

歸一化 Min-Max Normalization:x』 = (x - X_min) / (X_max - X_min)

歸一化是將樣本的特徵值轉換到同一量綱下把數據映射到[0,1]或者[a,b]區間內,僅由變數的極值決定,因此區間放縮法是歸一化的一種。

標準化是依照特徵矩陣的列處理數據,其通過求z-score的方法,轉換為標準正態分布,和整體樣本分布相關,每個樣本點都能對標準化產生影響。

歸一區間,會改變數據的原始距離,分布,資訊;標準化一般不會。

聯繫:

它們的相同點在於都能取消由於量綱不同引起的誤差;都是一種線性變換,都是對向量X按照比例壓縮再進行平移。

使用情形:

什麼時候用歸一化?什麼時候用標準化?

(1)如果對輸出結果範圍有要求,用歸一化。

(2)如果數據較為穩定,不存在極端的最大最小值,用歸一化。

(3)如果數據存在異常值和較多噪音,用標準化,可以間接通過中心化避免異常值和極端值的影響。

哪些模型必須歸一化/標準化?

①SVM ②KNN ③神經網路 ④PCA

Tags: