分辨真假數據科學家的20個問題及回答
【導語】本文分為兩個部分,第一部分是quora上很火的一篇問答--【20個分辨真假數據科學家的問題】中讚賞數最高的回答,第二部分則是KDnuggets閱讀量非常高的一篇文章【KDnuggets編輯們針對這20個問題給出的回答】。前者由大數據文摘團隊選稿翻譯校對後,呈現在各位讀者麵前。後者授權轉載自計算廣告(Comp_Ad)譯者白雪、龍星鏢局,原載於KDnuggets。本次將分散於不同地址的相關資源整合推送,希望更有利於有興趣讀者的學習,別忘了【評論區】給我們留言你的體會、收獲、以及建議喔!
◆ ◆ ◆
分辨真假數據科學家的20個問題
在讀答案之前,先來看看這20個問題,並試著自己作答。回答可能包含有數學公式或少量代碼(R, Python, SQL等),而不隻是泛泛而談的模煳內容。
或許你可以試著把“我不知道,但我可以從閱讀以下內容開始……”作為你答案的一部分,因為這也是在測試候選人的誠實與正直。一家組織最不想要的人就是那些誇張自己的能力或純粹胡編亂造的虛假人才。
注(我留意到回複中關於這一點的討論很火熱):
這些問題都不是最終的或是具備代表性的問題,隻是基於我自己專業領域提出來的。這些是問題的原型,使用時應該在此基礎上進行編輯和改進。若針對你通常處理的數據類型,你需要在問題中加上更多細節描述。
-
解釋什麼是正規化(regularization)以及它的用處。解釋特定方法的優劣勢,如嶺回歸(ridge regression)和LASSO算法?
-
解釋什麼是局部優化(local optimum)以及為什麼它在特定情況,如K均值聚類,是很重要的。具體有哪些方法能確定你是不是真的遇到了局部優化問題?用什麼方法可以避免局部最優解?
-
假設你需要使用多次回歸來為一個定量分析結果中的變量建立預測模型,請解釋你將如何來驗證該模型。
-
解釋什麼是準確率(precision)和召回率(recall),它們和ROC曲線有什麼關聯?
-
解釋什麼是長尾分布並舉出三個相關案例。為什麼它們在分類和預測問題中很重要?
-
什麼是隱語義分析(latent semantic indexing)?其主要是用來做什麼的?這種方式的局限性是什麼?
-
中心極限理論是什麼?其重要性是什麼?在何種情況下會失效?
-
統計功效(statistical power)是什麼?
-
解釋什麼是重采樣法(resampling methods)以及它的用處和局限性。
-
解釋含softmax activation的人工神經網絡(artificial neural networks )、邏輯回歸及最大熵分類器的區別。
-
解釋選擇性偏差(這裏指特定數據庫而不是隨機選擇)及其重要性。解釋缺失數據處理等數據管理流程是如何讓這種偏差變得更嚴重的?
-
舉例說明實驗設計是如何幫助解決行為問題的。例如解釋實驗設計如何幫助優化網絡頁麵。如何將實驗數據和觀測數據作對比?
-
解釋“長格式數據”和“寬格式數據”的不同,為什麼你選擇使用其中某一種?
-
對缺失數據使用均數填補法(mean imputation)是可行的麼?為什麼?
-
解釋Edward Tufte 的“chart junk”理論。
-
什麼是異常值?解釋你是如何在數據庫中尋找異常值以及找到後是如何處理的。
-
什麼是主成分分析(PCA)?闡述你會用PCA來解決何種問題,以及這種方法的局限性。
-
假如你擁有一家客戶唿叫服務中心的來電時長數據,你打算如何編碼並分析這些數據?描述一個這些電話時長數據可能呈現的分布場景,你將如何驗證(最好是能圖形化地展現)這個分布場景的正確性?
-
解釋什麼是“誤報”(false positive)和“漏報”(false negative)。區分這兩者的重要性是什麼?分別對以下場景舉例:(1)誤報比漏報更重要 (2)漏報比誤報更重要(3)兩者同樣重要。
-
解釋管理數據集(administrative datasets)和實驗中收集的數據集(datasets gathered from experimental studies)之間可能的差異。有哪些是管理數據可能碰到的問題?實驗是如何幫助減輕這些問題的?但隨之又會帶來哪些其他問題?
quora地址:https://www.quora.com/What-are-20-questions-to-detect-fake-data-scientists
原作者|Jay Verkuilen 翻譯|Lizyjieshu
校對|apple 寒小陽
◆ ◆ ◆
KDnuggets編輯們針對這20個問題給出的回答
由於回答人不同,這二十個答案和上一部分的內容可能不會一一對應,但相信你還是可以得到想要成為數據科學家的知識。
Q1:什麼是正則化(regularization)?它有什麼作用?
【Matthew Mayo解答】
答:正則化項是保證模型平滑性的一個調節參數,它可以起到防止過擬合的作用。正則化的通常做法,是將已有的權重向量經過L1(Lasso)或者L2(ridge)變換,當然變換也可以是其他形式。最終的模型優化目標,是加入了正則化項後的損失函數。Xavier Amatriain給了一個很好的例子,對L1和L2正則化進行比較。
Lp球:p值減小,對應Lp空間也減小
Q2:你最崇拜的數據科學家和創業公司有哪些?
【Gregory Piatetsky解答】
答:這個問題沒有標準答案,下麵是我個人最崇拜的12位數據科學家,排名不分先後。
12位知名的數據科學家
-
Geoff Hinton, Yann LeCun, 和Yoshua Bengio在神經網絡方麵堅持不懈的努力開啟了當前深度學習(Deep Learning)的革命。
-
Demis Hassabis在DeepMind(AlphaGo發明者,Google子公司)的突出貢獻,使機器在玩Atari遊戲以及最近進行的圍棋比賽中達到了人類或超人類的水平。
-
來自DataKind的Jake Porway和U. Chicago/DSSG的Rayid Ghani,使數據科學可以在社會福利方麵有所貢獻。
-
DJ Patil美國政府的第一位首席數據科學家,用數據科學服務於美國政府。
-
Kirk D. Borne以社交媒體上的影響力和領導力為大家所知。
-
Claudia Perlich在廣告生態方麵有很出色的工作,他還是KDD 2014的主席。
-
Hilary Mason在Bitly的偉大貢獻,激勵著其他人成為大數據的搖滾明星。
-
Usama Fayyad在KDD和Data Science展現出的領導力和規劃才能,幫助和激勵著我和其他千千萬的數據科學工作者竭盡全力工作。
-
Hadley Wickham在基於R的數據科學和數據可視化方麵的卓越工作,包括 dplyr, ggplot2, 和 Rstudio。
在數據科學領域有很多出色的創業公司。為了避免利益衝突,我就不將它們都列出來了。
Q3:用多元回歸(multiple regression)生成了一個量化輸出的預測模型,如何驗證其有效性?
【Matthew Mayo.解答】
答:驗證多元回歸模型的方法有很多,我們推薦如下的一些方法:
-
如果模型預測值遠在響應變量範圍之外,那麼模型的預估準確性顯然存在問題。
-
雖然預測值看起來合理,但是參數存在以下問題,也可以判斷存在預估問題或者多重共線性問題:與期望值相反的跡象;值特別大或特別小;在給模型輸入新數據時發現不一致。
-
通過向模型輸入新的數據,來做預測,然後用相關係數來評價模型的正確性。
-
把數據分成兩份,一份用來訓練模型參數,另一份用來驗證。
-
如果數據集很小,就要使用 jackknife resampling技術,並用R平方和MSE(mean squared error)來測量效度。
Q4:什麼是查準率(precision)和查全率(recall)?與ROC曲線的關係?
【Gregory Piatetsky解答】
答:計算查準率和查全率實際上很簡單。比如,在10,000個實例中有100個正例,如果你預測的結果有200個正例,那麼顯然召回這100個正例的概率自然會大一些。根據你的預測結果和實際的標簽,將結果中正確或者錯誤的次數分別加起來,有如下四個統計量:
-
TN / True Negative:實例是負的,預測也是負的
-
TP / True Positive:實例是正的,預測也是正的
-
FN / False Negative:實例是正的,但是預測是負的
-
FP / False Positive:實例是負的,但是預測是正的
Predicted Neg | Predicted Pos | |
Neg Cases | TN: 9,760 | FP: 140 |
Pos Cases | FN: 40 | TP: 60 |
現在可以回答如下三個問題:
1、 預測正確的百分比是?
回答:精度(accuracy)是(9,760 + 60) / 10,000 = 98.2%
2、 實際為正例的樣本你預測對了多少?
回答:查全率(recall)是60 / 100 = 60%
3、 預測為正例的樣本中實際為正例的百分比?
回答:查準率(precision)是60 / 200 = 30%
查準率和查全率
ROC曲線體現了靈敏性(召回)[原文:sensitivity, (RECALL)]和特異性(不是精確度)[原文:specificity(Not PRECISION)]之間的關係。通常用於衡量二分類器的好壞。然而,當處理正負樣本分布得極不均勻數據集,PR曲線展示信息更具代表性。
Q5:如何證明對一個算法的改進的確是有用的?
【Anmol Rajpurohit解答】
答:在對快速迭代(又叫“快速成名”)[原文:rapid innovation (aka “quick fame”)]的追逐中,違反科學方法論的原則常導致誤導性的創新,特別是一些很吸引人但沒經過嚴格驗證的觀點。考慮如下場景,你要改進算法的效果,並且有好幾個改進思路。心急的做法,是盡快列出這些思路並實施。當需要支撐數據時,隻有很局限的結果可以共享,這些結果很容易受到已知或未知的選擇偏差、或者誤導性的全局最優(原因是缺乏適當變化的測試數據)影響。
數據科學家最忌諱的是將情感淩駕於邏輯推理之上。雖然證明算法改進有效的方法要看實際案例,但仍有一些通用的指導原則:
-
確定用於效果評測的測試數據沒有選擇偏差(selection bias)。
-
確保測試數據有足夠的變化(variety),以便對真實數據有擴展性(有助於避免過擬合)。
-
確保遵循對照實驗(controlled experiment)原則,比如當對比效果時,確保新舊算法的測試環境(硬件等)完全一致。
-
確定試驗(近似)結果可以重複。
-
檢查結果反映了局部極大值/極小值(local maxima/minima)或是全局極大值/極小值(global maxima/minima)。
遵循以上原則的通常做法是A/B測試,將兩個算法都放到相似的環境裏運行相當長一段時間,並且將實際輸入數據隨機的劃分到兩個算法上。這種方法在網絡分析(Web Analytics)中很常用。
Q6:什麼是根本原因分析(root cause analysis)?
【Gregory Piatetsky解答】
答:維基百科上的解釋是:Root cause analysis (RCA)是確定錯誤或問題根本原因的方法。當把某個因素從問題故障序列中去除,能夠避免最終不良事件的再次發生,該因素就會被認定為根本原因;反之,誘因影響事件的結果,卻不是根本原因。
根本原因分析最初是用來分析工業事故,現在已經在醫療保健、項目管理和軟件測試等領域廣泛應用。
本質上來說,通過反複問“為什麼”,就可以找到一個問題的根本原因和原因之間的關係,直到找到問題的根本。這個方法通常叫做“5 Whys”,當然問題的個數並不一定是5個。
“為什麼”分析法示例, 來自 The Art of Root Cause Analysis
Q7:你熟悉以下概念嗎?
價格優化(price optimization)、
價格彈性(price elasticity)、
庫存管理(inventory management)、
競爭情報(competitive intelligence)。
請舉例說明。
【Gregory Piatetsky解答】
答:這些術語都來自經濟學領域,在數據科學中並不常見。但是,了解這些術語很有意義。
價格優化,是用數學工具來確定消費者對不同渠道獲得的產品或服務的不同價格的反應。
大數據和數據挖掘使個性化定價成為可能。現在,像亞馬遜這樣的公司可以基於用戶的曆史行為,將價格優化更進一步,實現不同用戶不同的價格。當然,這樣做是否公平仍存在很大的爭論。
價格彈性,分為需求價格彈性和供給價格彈性:
需求價格彈性是對價格敏感度的一種度量,其計算公式如下:
需求價格彈性 = 需求量變化的百分比 / 價格變化的百分比
[原文:Price Elasticity of Demand = % Change in Quantity Demanded / % Change in Price]供給的價格彈性(Price elasticity of supply)指的是商品或服務的供給數量隨商品價格變動而變動的情況。
庫存管理,是指對公司在生產過程中使用的各種物品的訂購、儲存和使用的監督和控製,以及待售成品數量的監督和控製。
競爭情報,維基百科上的定義如下:
Competitive intelligence: 定義、收集、分析、和發布有關產品、客戶、競爭對手以及製定戰略決策所需的任何方麵的情報。
像Google Trends, Alexa, Compete等工具都可以在網上獲得總體趨勢,進而分析競爭對手的情況。
Q8:什麼是統計功效(statistical power)?
【Gregory Piatetsky解答】
答:維基百科這樣定義二元假設檢驗(binary hypothesis test)的統計功效或者靈敏度(sensitivity):當備選假設(alternative hypthesis)H1為真時,正確地拒絕零假設(null hypothesis)H0的概率。另一種說法,統計功效是當效應(effect)存在時,能夠檢測到效應的可能性。功效越高,出現II類錯誤(Type II error)可能性越低(即檢測結論沒有效應,但事實上是有的。譯者注:即假陰性)。
Q9:什麼是重采樣(resampling)?它有什麼用?有什麼局限?
【Gregory Piatetsky解答】
答:經典的統計參數檢測把實測統計量當作理論抽樣分布。而重采樣是數據驅動的,而不是理論驅動的方法,它是在同一個樣本中反複采樣的技術。
以下各種方法都可以被稱為重采樣:
-
使用可用數據集的子集(jackknifing)或者隨機可重複采樣出一批的數據點(bootstrapping)來估計樣本統計量(中位數、方差、百分位數)[原文:medians, variances, percentiles]的準確率。
-
在進行顯著性檢驗時交換數據點的標記(置換檢驗,也被稱為精確檢驗,隨機化檢驗,或重隨機化檢驗)[原文:permutation tests, also called exact tests, randomization tests, or re-randomization tests]
-
通過隨機子集驗證模型(bootstrapping,交叉驗證)[原文:bootstrapping, cross validation]
Q10:假陽性(false positive)多還是假陰性(false negative)多比較好?請說明原因。
【Devendra Desale解答】
答:這個問題取決於要解決的問題和領域。
比如,在醫學檢驗方麵,假陰性會給病人和醫生提供錯誤的檢查信息,但病人有病時卻檢測為沒有病,這會導致病人得不到適合的治療。所以,這個時候我們希望多一些假陽性。
但是,在垃圾郵件過濾時,假陽性意味著會將正常郵件當成了垃圾郵件,從而幹擾郵件的傳送。反垃圾郵件除了要能夠夠攔截或過濾大部分的垃圾郵件,但減少假陽性帶來的誤傷也非常重要。所以,這時我們希望多一些假陰性。
Q11:什麼是選擇偏差(selection bias)?它的重要性如何?怎樣才能避免?
【Matthew Mayo解答】
答:一般來說,選擇偏差指的是由於非完全隨機的樣本引發錯誤的一種情況。舉例來說,如果有100個測試樣本,分別由60/20/15/5分成四類組成,但實際的訓練樣本中每類實例數量又是接近的,那麼模型有可能給出錯誤的假設—每類占比是決定性的預測因素。避免非隨機采樣是解決選擇偏差的最好辦法,但當它在實踐中有困難時,使用類似重采樣(resampling)、boosting和加權(weighting)這樣的策略也有助於解決這個問題。
Q12:舉例說明怎樣設計實驗來回答有關用戶行為(user behavior)的問題
【Bhavya Geethika解答】
答:步驟1,製定要研究的問題:頁麵加載時間對用戶滿意度評級的影響是什麼?
步驟2,識別變量:我們要識別出原因和結果,自變量是頁麵加載時間,因變量是用戶滿意度評級。
步驟3,構造假設:對一個網頁來說,較低的頁麵加載時間會對用戶滿意度有更多影響。這裏我們要分析的因素就是頁麵加載時間。
你的實驗設計有一個缺陷
步驟4,確定實驗的設計:考慮實驗的複雜性,即一次改變一個因素或者在同一時間改變多個因素,這樣我們用的是因子設計(factorial design, 又稱2 ^ķ設計)。設計的選擇要基於目標的類型(比較、篩選、響應麵)[原文:Comparative, Screening, Response surface]和因素(factors)的個數。
我們還要確定采用何種實驗形式,可以是參與者組內、參與者組間或者混合方式。例如:有兩個版本的網頁,一個在左邊有購買按鈕(點擊購買)另一個網頁這個按鈕在右邊。
參與者組內設計(Within-participants design) – 用戶組的用戶都可以看到兩個版本的網頁。
參與者組間設計(Between-participants design) – 一個用戶組看到A版本,另一組的用戶看到B版本的。
步驟5,製定實驗任務和程序:
實驗中涉及的步驟的詳細描述,用來衡量用戶行為的工具, 目標和成功度量這些都要定義。收集有關用戶參與的定性數據,以便進行統計分析。
步驟6,確定操作和測量:操作(manipulation): 控製一個層級的因素,處理另一個。我們還要定義行為的衡量標準。
-
延遲(Latency)-從提示到行為發生的時間(從展示出商品到用戶點擊購買按鈕用了多長時間)。
-
頻次(Frequency)-一個行為發生的次數(在某個時間內點擊特定頁麵的次數)。
-
持續時長(Duration)-特定行為持續時間(添加所有商品所用的時間)。
-
強度(Intensity)-行為發生的強烈程度(用戶多快購買一個商品)。
步驟7,分析結果:
識別用戶行為數據,根據觀測到的結果,支持或反對該假設。例如:不同頁麵加載時間下用戶滿意度評級的分布是怎樣的。
Q13:“高/寬”數據(tall/wide data)的差別是什麼?
【 Gregory Piatetsky解答】
答:在大多數數據挖掘、數據科學的應用中,記錄(行)比特征(列)多很多-這種數據有時被稱做“高”數據。
在像基因組學或者生物信息學的一些應用中,你可能隻有很少的記錄(病人),例如100,但又可能會對每個病人做20,000個觀察。這時,通常用在“高”數據上的標準方法會導致過度擬合數據,所以需要引入特殊的方法。
針對高數據和寬數據的不同方法
問題不僅僅是變形(reshape)數據(這裏有R包 useful R packages),而是通過減少特征數來尋找最相關的特征,以避免假陽性(false positives)。特征約減(feature reduction)的方法像Lasso在"Statistical Learning with Sparsity: The Lasso and Generalizations"一書中有介紹, 請在公眾號後台發送信息“data2”獲取。
Q14:怎樣確定一篇文章裏(報紙或其他媒體上)的統計數據是錯的或者隻是為了支持作者的觀點,而不是關於某主題正確全麵的真實信息?
答:Zack Lipton提出了一個簡單的原則:如果這些統計數據發表在報紙上,那麼它就是錯的。這裏有一個來自Anmol Rajpurohit的更嚴謹的解答。
每個媒體都有目標受眾,對受眾的選擇在很大程度上決定了發布哪些文章、文章怎樣措辭、重點突出文章的哪部分、怎樣去講這個事件等。
要判定發表在一篇文章上統計數據的有效性,第一步先要看發表它的機構和它的目標受眾。你會發現即使是同樣一個包含統計數據的新聞事件,福克斯新聞(Fox news)、華爾街新聞(wsj)和ACM/IEEE發布的會不那麼一樣。因此,數據科學家能聰明地知道從哪裏獲取資訊(以及要相信它幾分)。
出現在“福克斯新聞”上一個十分具有誤導性的柱狀圖
如何客觀地呈現相同的數據
作者通常通過下麵的方法試圖隱藏他們研究的不足:巧妙的敘事技巧和忽略重要的細節直接跳到誘人的錯誤結論。因此,可以使用“拇指規則”(thumb’s rule)識別文章是否包含誤導人的統計數據,檢查文章是否包含了研究方法上的細節以及研究方法是否存在有感知限製的選擇。注意查找像“樣本容量(sample size)”,“誤差範圍(margin of error)”等詞。盡管對“樣本容量”,“誤差範圍”多少合適沒有完美的答案,這些屬性在閱讀最終結論時要牢記於心。
另一個常見的錯誤報道案例是這樣的,缺乏數據素養(data-education)的記者從已發表的研究報告的一兩段中得到一個見解,並且為了得到他們的觀點而忽略報告的其他部分。因此,以下一些方法能夠避免你被這樣的文章愚弄:首先,一篇可靠的文章不會含有任何無事實根據的觀點。所有觀點都必須能夠對應研究結果的支持。否則,則必須明確將其區分為“意見”,而不是一個觀點。其次,即便一篇文章引用了著名的研究論文,也並不代表它正確地運用了論文中的觀點。這能通過全麵閱讀這些研究論文來判斷其與手頭文章的相關性。最後,雖然結論看起來是一篇文章最有趣的部分,但直接跳過研究方法(research methodology)的細節(例如明顯錯誤,偏差等)[原文:spot errors, bias, etc.]往往是災難性的。
理想情況下,我希望所有這些文章發表研究數據的時候也同時公布研究方法。這樣,文章才能做到真正可信,因為每個人都可以分析這些數據,應用研究方法得出結論。
Q15:解釋Edward Tufte's的“圖表垃圾”(chart junk)的概念
【Gregory Piatetsky解答】
圖表垃圾指的是圖表或圖片中所有可視元素對表達信息是不必要的,或者幹擾觀察者獲取信息。圖表垃圾這個名詞是由Edward Tufte在他1983年的書《定量信息的視覺展示》裏提出的。
“一個無意的內克爾錯覺,像後麵兩個平麵翻轉到了前麵來。有的角錐體遮住了其他的;一個變量(角錐體堆疊的深度)沒有注明標識或比例”。
上圖一個來自exceluser的更現代的例子,由於工人和吊車的幹擾,圖中的柱狀圖很難理解
這些修飾的存在迫使讀者花更大力氣而非必要地來發現數據的意義。
Q16:怎樣篩查異常點(outliers)以及發現異常點後該如何處理?
【Bhavya Geethika解答】
答:一些篩查異常點的方法有Z分數(z-score)、改進的Z分數(modified z-score)、箱線圖(box plots)、格拉布斯測試(Grubb’s test)、Tietjen-Moore測試指數平滑(Tietjen-Moore test exponential smoothing)、Kimber測試指數分布(Kimber test for exponential distribution)和移動窗口濾波算法(moving window filter algorithm)。下麵是兩種穩健(robust)方法的細節:
四分位距法(Inter Quartile Range)
異常值是給定數據集中一個小於第一四分位數(Q1)或者大於第三四分位數(Q3)1.5倍四分位距以上的數據點。
-
High = (Q3) + 1.5 IQR
-
Low = (Q1) - 1.5 IQR
Tukey法(Tukey Methond)
它使用四分位距來過濾太大或太小的數。它實際上與上麵的方法一樣,除了它使用了“圍欄(fences)”的概念。有兩個一高一低的圍欄:
-
Low outliers = Q1 - 1.5(Q3 - Q1) = Q1 - 1.5(IQR)
-
High outliers = Q3 + 1.5(Q3 - Q1) = Q3 + 1.5(IQR)
在圍欄之外的都是異常點。
當發現了異常值,不能在沒有進行定性評估下就將它們移除,因為這樣做是數據不再純淨。重要的是要理解分析問題的上下文或者說重要的是“為什麼的問題-為什麼異常值不同於其他數據點?”
這個原因很關鍵。如果是異常點導致了錯誤的發生,就可以把它扔掉。但如果異常點表示了一種新的趨勢、模式或者揭示了數據中有價值的結論,那麼它就應該被保留。
Q17:怎樣運用極值理論(extreme value theory)、
蒙特卡洛模擬(Monte Carlo simulations)或其他數理統計方法來正確的估計一個小概率事件(rare event)的發生幾率。
【Matthew Mayo解答】
答:極值理論關注的是小概率事件或極值,這點和經典統計方法不太一樣,後者更關注平均。極值理論認為有3種分布可以建模從一些分布中隨機觀察到的極值點:Gumble, Frechet, 和 Weibull分布,也被叫做極值分布(Extreme Value Distributions, EVD)I型、II型和III型。
極值理論認為,如果從一個給定分布中產生N個數據集,然後創建一個隻包含了這N個數據集的最大值的新數據集,那麼這個新數據集隻能被一種EVD分布精確描述:Gumble, Frechet, 或者 Weibull分布。廣義極值分布(GEV)則是一個可以組合這3種極值理論分布還有極值分布模型的模型。
首先要理解用來建模數據的模型,然後才能使用模型來建模數據,最後才是評估。一旦找到最合適的模型,就能對模型進行分析,包括計算可能性。
Q18:什麼是推薦引擎(recommendation engine)?
它是怎麼工作的?
【Gregory Piatetsky解答】
我們現在都對推薦很熟悉,比如netflix的“你可能喜歡的其他電影”,亞馬遜的“購買了X的用戶還買了Y”。這些係統就叫做推薦引擎,或者更通俗地叫做推薦係統(recommender systems)。
兩種典型的進行推薦的方法是:協同過濾(Collaborative filtering)和基於內容的推薦(Content-based filtering)。
協同過濾基於用戶過去的行為(如買過的商品、看過的電影、評過的電影等)和用戶以及其他用戶的決定建模,然後模型被用於預測用戶可能會感興趣的物品(或者給物品的評分)。
基於內容的推薦方法基於一個物品特征來推薦更多具有類似特性的物品(items)。這些方法經常包含在混合推薦係統(Hybrid Recommender Systems)中。
這裏有兩種方法應用到兩個流行音樂推薦係統中的比較:Last.fm和Pandora Radio(例子來自維基百科的推薦係統條目Recommender System)
-
Last.fm建立了一個歌曲推薦站。他們觀察一個用戶經常聽的樂隊或單曲,並與其他用戶的聽歌行為進行比較,然後Last.fm會給一個用戶播放那些不在其曲庫裏,但和其興趣相似的其他用戶常聽的歌曲。由於這種方法利用了用戶行為,它是一個協同過濾技術的例子。
-
Pandora是一個可以播放具有相似屬性音樂的站,它主要基於一首歌或藝術家的屬性(一個由Music Genome Project提供的400個屬性的子集)來推薦。用戶的反饋用來修正曲庫的結果,當用戶不喜歡一首歌曲時就減弱對應的屬性(attributes),而當用戶喜歡一首歌曲時就增強對應的屬性。這是一個基於內容過濾的例子。
Q19:說明假陽性(false positive)和假陰性(false negative)分別是什麼?為什麼區分它們的差異性很重要?
【 Gregory Piatetsky解答】
答:在二分類(或者醫學檢驗)中,假陽性是指當一個算法或測試顯示出現某種狀況,但實際上並未出現。假陰性是指當一個算法或測試顯示未出現某種狀,但實際上卻出現了。
在統計假設檢驗中,假陽性也叫做一類錯誤,假陰性也叫做二類錯誤。
很明顯區分和區別對待假陽性和假陰性非常重要,因為這兩類錯誤的代價可能會有巨大差異。
舉例來講,如果對一項重大疾病的檢測是假陽性(檢測結果是有病,但其實病人是健康的),那麼就需額外的檢測來做出正確的診斷。另一方麵,如果一項檢測是假陰性(檢測結果是健康的,但其實病人有疾病),那麼必要的治療將會終止,可能會導致病人病情惡化而死亡。
Q20:你使用什麼工具來做可視化(visualization)?你覺得Tableau怎麼樣?R呢?SAS呢?怎樣在一張圖或視頻裏有效地展示5維數據?
【Gregory Piatetsky解答】
答:數據可視化有很多很好的工具,如R, Python, Tableau 和 Excel等都是數據科學家經常使用的。
有很多方法可以在一個圖表裏展示多於2維的信息。第三維度可以用能旋轉的三維散點來展示。還可以應用顏色、陰影、形狀、尺寸。動畫可以有效地展示時間維度(隨著時間改變)。下麵是個好例子。
5維Iris數據集的散點圖 分別對應 尺寸: 花萼長度; 顏色: 花萼寬度; 形狀: 類別標記; 橫軸: 花瓣長度; 縱軸: 花瓣寬度
對多於5維的,一種方法是平行坐標法 (Parallel Coordinates),由Alfred Inselberg首創。
Iris數據集的平行坐標展示
當然,當有很多維度的時候,最好還是先減少維度或特征的數量。
原文發布時間為:2016-11-14
本文來自雲棲社區合作夥伴“大數據文摘”,了解相關信息可以關注“BigDataDigest”微信公眾號
最後更新:2017-05-31 11:32:34
上一篇:
失敗成就偉大:穀歌的23個失敗案例
下一篇:
吳軍:機器智能時代,如何成為最先受益的2%?
開放地圖OpenStreetMap與PostGIS的三生三世十裏桃花
模擬hibernate實現的JAVA源碼
美橙互聯欺騙用戶,太TM可笑了
移動安全問題不可掉以輕心,Check Point剖析近日移動安全問題
淘富成真|這次帶來了女性的護膚神器
PostgreSQL 如何比較兩個表的定義是否一致
smarty簡單測試例子
世界首條1100千伏特高壓輸電工程新疆段預計20日完成鐵塔組立
magento -- 客戶無法使用contact us 發郵件 - Unable to submit your request. Please, try again later
Jquery中BlockUI的詳解