數據挖掘與生活

數據挖掘與生活

前言

寫這篇文章的目的是想給公司同事介紹一下數據挖掘的入門知識,旨在增強大家對數據挖掘瞭解與興趣,並將這門技術應用到工作和生活中,發揮集體智慧爲公司產品增加數據挖掘應用場景。另外對於我自己,以教代學,也可以更好發現自己知識盲點,讓輸出倒逼輸入。

本來是計劃寫成ppt的,但準備過程中發現ppt實在太花時間了:要找圖畫圖,要做交互,要考慮頁面佈局,要背演講稿。最終還是決定寫成文章,相對來說容易點,參考性也強一些。

市面上的數據挖掘資料很多,但有些專業性很強,但講得太抽象,太深奧,有些雖然淺顯易懂,但實戰意義不強。當然,也有寫得比較好的,但相比起來比例還是比較少。

這篇文章我打算按我理解的角度來介紹數據挖掘,重點介紹數據挖掘在生活中的應用,以及非專業人士如何使用數據挖掘解決生活問題。文章中介紹了數據挖掘的一些算法,但很多隻是羅列了名詞,因爲我也沒搞清楚這些算法或者沒精力詳細講解,只是寫出來作爲關鍵字,有興趣的同學可以自行百度。

寫作過程中參考了很多資料文章,無法一一註明了,在此一併做感謝。

文章概述

本文先舉了一些生活中使用數據挖掘的案例,讓讀者對數據挖掘有感性認識。接着介紹了常用的數據挖掘方法,並分別介紹了這些方法的定義和應用場景。

對於每種數據挖掘方法,我都舉了一個生活中的小場景作爲例子,說明怎麼用這個方法來解決這個場景中的問題。例如使用線性迴歸指導我們買房選房,使用關聯分析來輔助彩票選號,用決策樹輔助我們閱讀體檢數據。

另外,我將一些數據處理技巧,例如非數值數據處理方法,文本數據處理方法,算法原理等知識穿插在文章裏面,大家在實踐時可以參考。

數據挖掘案例

數據挖掘技術在我們生活中隨處可見。下面給大家介紹幾個案例,讓大家對數據挖掘技術有直觀感受。

沃爾瑪通過數據挖掘發現啤酒與尿布銷售關係

20世紀90年代的美國沃爾瑪超市中,沃爾瑪的超市管理人員分析銷售數據時發現了一個令人難於理解的現象:在某些特定的情況下,“啤酒”與“尿布”兩件看上去毫無關係的商品會經常出現在同一個購物籃中。

爲了搞清楚具體原因,沃爾瑪對這些同時購買啤酒和尿布的顧客展開了調研。最後他們發現,原來購買大部分客戶是嬰兒父親。他們在下班回家的路上爲孩子買尿布,然後又會順手購買自己愛喝的啤酒。

在知道這個規律後沃爾瑪將這兩樣商品擺放在一起進行銷售、並獲得了很好的銷售收益。這種現象就是賣場中商品之間的關聯性,研究“啤酒與尿布”關聯的方法就是購物籃分析。

現在很多購物網站會有推薦商品的功能,在你把某些商品加入購物車後,系統會提示你“購買此商品的人多數會同時購買XXX”,其背後原理,也是依靠“購物籃分析”。

某打車平臺通過大數據發現司機與乘客私下交易

某打車平臺經過數據挖掘,發現系統中存在大量司機存在相同的操作順序:“接到訂單”->"移動到乘客附近"->"取消訂單"->"重新上線"。

經過運營人員分析,這些司機是在藉助導航接到乘客後,取消訂單,繞過平臺與乘客私下交易。這種行爲會給乘客出行安全帶來安全隱患。

於是該平臺新增規定,如果司機上線接單地點與前次取消的訂單目的地相近時,就判定司機與乘客私下交易,對其發出警告或者限制其接單。

某購物平臺使用數據挖掘提高優惠券營銷能力

以優惠券盤活老用戶或吸引新用戶進店消費是一種重要營銷方式。然而隨機投放的優惠券對多數用戶造成無意義的干擾。對商家而言,濫發的優惠券可能降低品牌聲譽,同時難以估算營銷成本。 個性化投放是提高優惠券覈銷率的重要技術,它可以讓具有一定偏好的消費者得到真正的實惠,同時賦予商家更強的營銷能力。

該購物平臺分析通過分析系統消費數據,根據得到優惠券後是否會購買商品的概率,將系統用戶劃分爲幾類。針對其中獲取到優惠券後大概率會使用的顧客進行集中投放,大大提升了優惠券活動營銷效果。

某微博網友質疑天貓雙十一銷售額數據造假

2019年天貓雙十一數據公佈後,有網友指出這個數字與4月份一條微博預測的數據十分接近。該博主據此懷疑天貓每年銷售額數據是根據公式捏造的。

但其實知道數據挖掘的人會知道,世界上有很多數據都是可以用數據公式預測的。小到公司的業績,大到全球航空客運量,甚至世界經濟總額,人口數量變化,都是可以預測的。

某人使用yolo3輔助自己整理照片

某人爲了存儲了大量家庭成員生活照片,爲了將這些照片按家庭成員分類存儲(區分自己夫妻,父母,孩子的照片),他使用labelImg工具對其中一些照片做了標記(父親,母親,自己,妻子,孩子,總共5類),並在darknet環境下用yolo3來訓練,最終訓練出一個模型用於識別照片上家人信息。通過使用這個模型,他就可以很輕易地將照片分類存儲。

​ 圖:訓練識別王珞丹和白百何模型的圖片打標示例

數據挖掘定義

數據挖掘是指從大量的數據中通過算法找出隱藏於其中有價值的信息的過程。從宏觀價值上來說,數據挖掘的價值體現在描述預測上。

描述:以簡潔概要方式描述數據之間規律。例如從房產中介數據中分析影響各種因素對房價的影響。(如房子大小,位置,裝修情況等)

預測:是通過對所提供數據集應用特定方法分析所獲得的一個或一組數據模型,並將該模型用於預測未來新數據的有關性質。例如根據歷史房價信息,預測房價未來幾年漲幅。

數據挖掘通常與計算機科學有關,並通過統計、在線分析處理、情報檢索、機器學習、專家系統(依靠過去的經驗法則)和模式識別等諸多方法來實現上述目標。

對數據挖掘的錯誤認識:

1 挖掘出的結果都是正確的

實際:挖掘算法並不保證結果的完全正確,挖掘出的結果只具有概率上的意義,只具有參考價值。

2有數據挖掘就能自動找出系統有價值的信息

實際:數據挖掘只是幫助專業人士更深入、更容易的分析數據。數據挖掘技術可以提供很多模型對數據進行挖掘,但無法告知某個模型對企業的實際價值。

即使得到有用的模型,也要將其與實際生產活動結合纔可以體現價值。

常用數據挖掘方法簡介

數據挖掘的方法非常多,不過總的來說可以將它們歸成幾大類。以下是一種歸類方法(數據挖掘歸類方法有多種,不過大同小異)

綠色的就是數據挖掘的方法,常見的方法共有五個:相關性分析、關聯分析、分類、聚類、時序分析

每種方法都有多種算法,不同算法適用於不同類型數據,實踐時我們可以多嘗試幾種算法,看哪種算法最適合當前場景。

相關性分析

定義與應用場景

相關性分析是指對兩個或多個具備相關性的變量元素進行分析,從而衡量兩個變量因素的相關密切程度。

常用算法:

迴歸

迴歸分析是處理多變量間相關關係的一種數學方法。它是指研究一組隨機變量(Y1 ,Y2 ,…,Yi)和另一組(X1,X2,…,Xk)變量之間關係的統計分析方法。

通常Y1,Y2,…,Yi是因變量,X1、X2,…,Xk是自變量。一般我們會使用數學方程式來表示因變量和自變量之間的關係,用以描述自變量的變化會對因變量產生什麼樣的影響。

根據迴歸分析建立的變量間的數學表達式,稱爲迴歸方程

一元線性迴歸與多元線性迴歸

線性迴歸假設輸出變量是若干變量的線性組合,並根據這一關係求解線性組合的最優係數。

一個多變量線性迴歸模型表示爲以下的形式:

這種模型也稱爲多元線性迴歸方程式。如果變量只有一個,那多元線性迴歸,就會退化成爲一元線性迴歸,迴歸方程就是我們熟悉的中學知識:直線方程式y = b x + a

方程式中的b,即直線斜率,代表自變量x對y的影響程序。它的絕對值越高,說明x對y的影響越大。

歷史上第一個線性迴歸表達式是用於描述人類子代與父代身高的關係的:

y = 0.516x + 33.73,式中的y和x分別代表子代和父代身高,單位是英寸(一英寸= 2.54釐米)

這個式子表明父代身高比較高時,子代身高大概率會低於父代。反之父代身高較矮時,子代身高有較大可能高於父代。

從幾何圖形上理解,一元線性迴歸就是找到一條直線,使得每一個y值到直線的距離之和最小。(多元則是找到一個超平面)

線性迴歸模型簡約而不簡單,它即能體現迴歸方法的基本思想,而且又能構造出功能更強大的非線性模型。

圖:一個線性迴歸計算過程

應用

迴歸方程式,我們可以預測電影票房,計算王者排名,給法官做刑期建議。

也可以根據公式係數,研究各種變量因素對結果影響大小,例如分析載重和路徑分別對油耗影響。

或者根據公式計算結果,尋找與結果差異較大的數據做分析,例如做房地產撿漏。之前我在網上看過一個人使用百度和高德提供的數據,分析開店選址的,也是用到迴歸的方法。

非線性迴歸

假設自變量與因變量之間關係是非線性函數的迴歸分析方法稱爲非線性迴歸。

例如拋物線,雙曲線,指數增長曲線。

可以使用衍生變量的方法,藉助線性迴歸的方法來計算非線性函數。

衍生變量就是對戶現有變量做組合加工,從而生成一個新的變量。通過計算出這個新變量與其它變量的線性關係,從而得出非線性函數。

常見的衍生變量構造方法有分箱、相乘、平方、開方、算比例等。

有了衍生變量後,一元二次迴歸可以看成是對因變量y與自變量x,衍生變量x*x的線性迴歸。

舉例:我們知道功率(W),電壓(U),電流(I)之間有一個關係:功率 = 電流 乘以 電壓。

現在假設我們不知道這個規律,只是拿到了一組功率,電壓,電流的數據。看一下怎麼用衍生變量和線性迴歸的方法來發現這個規律。

原始數據如下:

U I W
220 1 220
220 2 440
220 6 1320
220 6 1320
220 8 1760
220 2 440
5 1 5
5 2 10
25 0.8 20
25 0.6 15
360 34 12240
360 7 2520
360 23 8280

構造衍生變量後變量(嘗試加了電流平方,電壓平方,電壓乘以電流三個變量)如下:

U I UI I2 U2 W
220 1 220 1 48400 220
220 2 440 4 48400 440
220 6 1320 36 48400 1320
220 6 1320 36 48400 1320
220 8 1760 64 48400 1760
220 2 440 4 48400 440
5 1 5 1 25 5
5 2 10 4 25 10
25 0.8 20 0.64 625 20
25 0.6 15 0.36 625 15
360 34 12240 1156 129600 12240
360 7 2520 49 129600 2520
360 23 8280 529 129600 8280

接下來我們使用weka進行線性迴歸。

weka是一個簡易的java語言開發的數據挖掘軟件,它提供了界面和API,分別方便普通用戶和java程序員進行數據挖掘。在百度學術可以搜索到很多使用weka進行商業數據挖掘的論文(見下圖),它的使用簡介見後面附錄。

將這些數據輸入到weka,選擇“Classify”(分類)下面的線性迴歸算法。

點擊執行,程序即輸出一個公式

根據這個方程式,我們可以知道功率與衍生變量UI有線性關係。w = 1 * UI

而UI變量我們構造時是使用電壓乘以電流。

所以我們發現了功率,電壓,電流之間存在關係:功率 = 電流 乘以 電壓

知道這個關係後,我們就知道電流跟電壓分別對功率的影響。如果後面發現有一些數據,功率與電流和電壓之間關係不滿足這個方程,那很有可能是數據出了錯。

圖表相關分析

將數據轉換成圖表,方便業務人員分析。常見的方法是將數據輸出成散點圖,並且畫出趨勢線。

協方差及協方差矩陣

相關係數

相關係數是最早由統計學家卡爾·皮爾遜設計的統計指標,是研究變量之間線性相關程度的量,一般用字母 r 表示。由於研究對象的不同,相關係數有多種定義方式,較爲常用的是皮爾遜相關係數。

相關係數是用以反映變量之間相關關係密切程度的統計指標。相關係數是按積差方法計算,同樣以兩變量與各自平均值的離差爲基礎,通過兩個離差相乘來反映兩變量之間相關程度;着重研究線性的單相關係數。

實踐—使用weka分析影響房產價格因素

https://blog.csdn.net/Shellerine/article/details/53200500?utm_source=blogxgwz4

https://blog.csdn.net/kestory/article/details/90521981

數值數據處理技巧

標準化

數據的標準化(normalization)是將數據按比例縮放,使之落入一個小的特定區間。

歸一化

歸一化是一種簡化計算的方式,即將有量綱的表達式,經過變換,化爲無量綱的表達式,成爲標量。 在多種計算中都經常用到這種方法。 例如將身高和體重都歸一成比例小數數據。

缺失值

實際生產中業務數據往往有缺失,此時我們需要通過各種算法補齊缺失值。例如取衆數,取平均值,取近鄰值等。

非數值數據處理技巧

有序類別

一些有序的類別高中低,胖瘦,可以直接使用數字代替。

無序類別(使用啞變量,即虛擬變量)

沒有大小關係的類別,例如東南西北,男人女人,可以使用啞變量處理。

文本數據

有時候模型的輸入是文本數據,例如新聞,社交媒體。我們需要把文本轉化爲數值矩陣。

有時候模型的輸入是文本數據,例如新聞,社交媒體發言等,需要把文本轉化爲數值矩陣。

常用處理方法有兩種:

單詞統計(word counts): 統計每個單詞出現的次數。

TF-IDF(Term Frequency-Inverse Document Frequency): 統計單詞出現的“頻率”。

網上有通過數據挖掘分析紅樓夢作者的例子,有興趣的同學可以自行百度。

關聯分析

定義與應用場景

關聯分析是一種簡單、實用的分析技術,就是發現存在於大量數據集中的關聯性或相關性,從而描述了一個事物中某些屬性同時出現的規律和模式。

關聯分析是從大量數據中發現項集之間有趣的關聯和相關聯繫。

關聯分析的一個典型例子是購物籃分析。該過程通過發現顧客放入其購物籃中的不同商品之間的聯繫,分析顧客的購買習慣。通過了解哪些商品頻繁地被顧客同時購買,這種關聯的發現可以幫助零售商制定營銷策略。其他的應用還包括價目表設計、商品促銷、商品的排放和基於購買模式的顧客劃分。

可從數據庫中關聯分析出形如“由於某些事件的發生而引起另外一些事件的發生”之類的規則。如“67%的顧客在購買啤酒的同時也會購買尿布”,因此通過合理的啤酒和尿布的貨架擺放或捆綁銷售可提高超市的服務質量和效益。又如“‘C語言’課程優秀的同學,在學習‘數據結構’時爲優秀的可能性達88%”,那麼就可以通過強化“C語言”的學習來提高教學效果。

常用算法

窮舉法

窮舉法不是業務常用的算法,只是我覺得使用窮舉的方法來解決“購物籃問題”,比較直觀,對於理解其它算法也有幫助,所以把它列出來。

舉個例子,假設我們經營一家小超市,裏面提供了以下幾種商品:麪包,牛奶,奶粉,尿布,可樂,雞蛋。我們想分析一下顧客的購物清單,看裏面是否有高關聯度的商品。

那我們可以先對商品組合做窮舉(例如麪包和牛奶,麪包和奶粉,麪包和尿布,麪包和牛奶及雞蛋等),並分別計算出同時購買了該商品組合的清單數量。

例如我們可能會得出以下數據:

商品組合 清單數量 佔比
麪包 10 有購買麪包的清單數量/總數量
麪包和牛奶 6 6 / 10
麪包和尿布 3 3 / 10
麪包和奶粉 0 0 / 10
麪包和牛奶及雞蛋 3 3 / 6

(數據是我爲說明算法隨手造的,勿當真)

從這個表格數據我們可以分析得出結論:購買了麪包的人,有60%機率會同時買牛奶,但只有30%的人會同時買尿布。同時購買了麪包和牛奶的人中,有50%的人會再買雞蛋。

所以我們如果要做促銷,那把麪包,牛奶,雞蛋打包成一個商品打折,可能會取到不錯的效果。

Apriori(先驗)算法

在窮舉法的基礎上,提出了根據截枝,大大減少組合計算次數,加快計算速度。(舉例:如果買牛奶麪包的商品人很少,那就不需要統計同時購買了牛奶麪包可樂的人有多少,因爲沒有意義。)

GSP算法

在Apriori算法,增加考慮頻繁項順序。可用於時序(有先後順序的)頻繁項挖掘。

SPADE算法

我也沒搞懂。

實踐—使用weka發現總是一起出現的彩票號碼組合

經常研究彩票的彩民,可以會發現一些號碼經常一起出現。(例如出現2同時出現5概率比較高)找出這些組合,有利於提高中獎機率。但由於彩票開獎數據比較大,想找出這些號碼組合比較困難。我們可以使用數據挖掘的關聯分析算法來解決此類問題。

這裏我們使用weka提供的Apriori(中文意思,先驗的,推測的)算法進行數據挖掘。

我從福利彩票網站抓取了最近100期的彩票記錄數據,處理了一下,轉換成Apriori算法需要的矩陣並使用它分析裏面是否有頻繁項。

出現概率超過3%,並且支持度超過70%

結果說明:過去100期雙色球開獎結果中,1、6、11同時出現的次數是3次,並且每次出現1和6的時候,肯定會出現11, 2、10、9也是同理。我們買彩票時可以根據這個挖掘結果來指導選號,以期提高中獎率。

分類

定義與應用場景

分類是基於包含其類別成員資格已知的觀察(或實例)的訓練數據集來識別新觀察所屬的一組類別(子羣體)中的哪一個的問題。例如,將給定的電子郵件分配給“垃圾郵件”或“非垃圾郵件”類,並根據觀察到的患者特徵(性別,血壓,某些症狀的存在或不存在等)爲給定患者分配診斷。分類分析,簡單地說就是把數據分成不同類別。

分類算法一般使用機器學習裏面屬性有監督學習算法,即需要輸入一些樣本,根據樣本確定算法參數,從而生成一個適合業務的算法模型。

常用算法

k最近鄰分類(即KNN)

有句話說:“想知道自己是什麼樣的人,那看看自己經常交往的十個人就知道”。KNN分類的原理就是這樣,通過觀察與新數據距離最近的N個數據的分類標籤,數量最多的標籤就是新數據的分類。(N需要根據業務人員經驗確定,不宜太大)

例如以下圖:圓圈是新數據,假設規定根據與它最相鄰的3個數據來分類,因爲其中兩個是三角形,一個是正方形,則會認爲該數據是三角形。

當N值取5時,最近的5個數據裏面有3個是正方形,2個是三角形,則新數據會被認爲是正方形。

距離:

數據挖掘有一個的重要概念,就是數據距離:就是。如果是單維數據,要確定距離十分方便,例如有三個人體身高數據,分別是1.6、1.7、1.8,那這三個數據相互的距離直接用數據值相減就可以計算出來。

但我們實際業務數據經常是有多種維度的,例如有三個西瓜,它們數據如下:

甜度 重量 體積
0.8 1kg 8
0.7 1.5kg 5
0.5 2kg 12

所以我們一般需要使用距離公式來評判數據距離。選擇不同公式對分類結果可能產生不同影響。需要根據實際業務需要選擇。

常見距離公式有:

歐式距離:

餘弦距離:

馬氏距離:

傑卡德距離:

獨熱編碼:

如果數據不是數值型,而是標籤型,例如西瓜產地有本地,新疆,雲南,西瓜顏色有紅色、藍色、綠色。則需要獨熱編碼對數據進行處理。

決策樹

決策樹分類是用屬性值對樣本集逐級劃分,直到一個節點僅含有同一類的樣本爲止。

決策樹算法的模型最直觀,最易於解釋,甚至可以做爲普通業務人員指導。下圖是判斷一個瓜是好瓜還是壞瓜的決策樹,其判斷過程十分接近人類思維。

​ 圖:使用C45算法生成的決策樹

神經網絡

神經網絡可以認爲是大量複雜的算法單元,利用仿生學知識,模擬人類神經傳導機制連接起來形成的一種算法。每個算法單元裏面有很多不同參數。通過調整參數,可以處理任意分類問題。我們平常總是聽到的訓練模型,就是在給這些算法單元找合適的參數。

​ 圖:使用神經網絡識別圖像

圖:使用神經網絡實現公式計算

如果神經網絡裏面的感知器使用的算法是線性算法(類似前面介紹的多元線性迴歸),則稱爲線性神經網絡,如果使用了卷積算法,則稱爲卷積神經網絡。

阿爾法狗就是使用卷積神經網絡的分類應用,它把棋盤當成一個19*19的圖像,把下子當成一個分類問題,即輸入現在棋盤圖像,輸出一個與人類高手下子後最接近的棋盤圖像。(當然,它還加了其它輔助算法,例如蒙特卡洛樹搜索樹提高贏棋概率)

貝葉斯分類

支持向量機分類(Support Vector Machine, SVM)

將數據映射到高維度,並尋找一個高維平面將數據分割開來

邏輯迴歸(logistic迴歸)

在線性迴歸的基礎上,使用函數將連續輸出轉換成離散輸出

實踐—使用weka鑑別病人是否得了糖尿病

這裏我們使用weka自帶的疑似糖尿病人身體指標數據和檢測結果做爲訓練數據,使用決策樹分類算法randomtree來訓練模型並用於根據新的病人身體指標預測其是否患糖尿病。

訓練數據在data/diabetes.arff這個文件裏面,我簡單介紹一下:

文件裏面包含了一些病人身體指標,例如懷孕次數(preg),飯後2小時血糖濃度(plas),年齡(age)等。對於每個病例,最後都會標記檢測結果爲陰性或者陽性(tested_negative/ tested_positive),如果爲陽性說明得了糖尿病。

我們先使用weka導入這個文件並在Classify這個界面,點擊“choose”按鈕,選擇算法“RandomForest”

點擊"Start",訓練出模型。從輸出看,模型分類準確率有75%,效果勉強還行(50%即代表瞎猜的)

接着準備測試文件,將data/diabetes.arff複製一份,變成diabetes - test.arff

只保留前兩行,並把分類結果改爲?,我們用這個來做爲測試數據,看模型是否能正確分出結果(實際工作時不應該拿模型數據,而是拿實際未打標數據)

點擊"Set…"按鈕,選擇diabetes - test.arff做爲測試集。

在ResultList窗口列表項右擊,執行

運行後輸出界面會刷新,此時再右擊Result List窗口

選擇Save,將文件保存爲

打開文件,會發現結果多了兩列,最右邊一列是模型分類結果。符合我們預期,一個陽性一個陰性。

聚類

定義與應用場景

聚類是將數據分類到不同的類或者簇這樣的一個過程,所以同一個簇中的對象有很大的相似性,而不同簇間的對象有很大的相異性。

聚類分析是一種探索性的分析,在分類的過程中,人們不必事先給出一個分類的標準,聚類分析能夠從樣本數據出發,自動進行分類。聚類分析所使用方法的不同,常常會得到不同的結論。不同研究者對於同一組數據進行聚類分析,所得到的聚類數未必一致。

聚類算法一般使用機器學習裏面的非監督學習算法。

常用算法

隨機森林

使用多個弱分類算法組合成一個強分類算法。(類似於民主投票,選誰適合當總統)

孤立森林

孤立森林算法是周志華教授(機器學習經典--西瓜書的作者)提出來的,用於發現異常數據的算法。

使用隨機方法將數據集進行多輪切分,在多輪切分中,經常在比較早完全分離出來的數據則認爲是異常數據。

下面是一個使用孤立森林算法來發現圖片中異常的樹木的例子:

第1輪切分,第1次就發現了特別樣例。(上方圖片只有一棵樹,無法再分割)

第二輪切分,第2次就發現了特別樣例。(第一次切分出來的圖片上下兩部分都有樹,第二次分出來的4個圖片區域,有一塊只有一棵樹)

這棵“樹”實在太奇怪了,導致它總是能很快地跟其它樹分離開來。實際上,它是聯通的5G基站,僞裝成樹型,方便部署。

k-均值(k-means)

尋找k箇中心點,將離中心點最近的數據歸到一類。跟KNN有點像,特別依賴數據距離公式。

EM最大期望算法

DBSCAN

根據數據密度來劃分數據。

實踐—使用kmeans分析中國足球隊是亞洲幾流球隊

https://zhuanlan.zhihu.com/p/62535727 我分析了過去十年五屆大賽的成績,中國男足到底是亞洲幾流?

聚類和分類區別聯繫

聚類分析跟分類分析區別是分類分析需要有已有標籤的數據,而聚類分析則不需要。

實踐中經常先使用聚類對數據進行探索,之後對有價值的數據開發分類模型用於商業應用。

時序分析

定義與應用場景

時間序列是一系列數據點,使用時間戳進行排序。例如水果的每日價格到電路提供的電壓輸出的讀數,股票每分鐘報價等。

雖然在某一給定時刻預測目標的觀測值是隨機的,但從整個觀測序列看,卻呈現出某種隨機過程(如平穩隨機過程)的特性。

隨機時間序列方法正是依據這一規律性來建立和估計產生實際序列的隨機過程的模型,然後用這些模型進行預測未來數據。

像氣溫,股票,客流等這些時序數據都適合用時序序列預測技術。

例如我們公司做的動態閾值組件就使用了時序分析的技術

圖:通過時序分析模型結合歷史數據預測出當前時刻數據上下限,超出閾值的數據認爲是異常數據,觸發告警。

常用算法:

指數平滑

溫特霍特曲線

移動差分自迴歸

神經網絡(RNN和LSTM)

RNN和LSTM是深度學習神經網絡算法,深度意思是有多箇中間層。

小結練習

1 請分析文章開始的數據挖掘案例,分別使用的是哪種數據挖掘方法

案例 使用技術
沃爾瑪通過數據挖掘發現啤酒與尿布銷售關係 關聯分析
某打車平臺通過大數據發現司機與乘客私下交易
某購物平臺使用數據挖掘提高優惠券營銷能力
某微博網友質疑天貓雙十一銷售額數據造假
某人使用yolo3輔助自己整理照片

2 使用今天學習的數據挖掘知識,開發一款類似今日頭條的信息流軟件,實現高準確率信息推薦

一點雞湯:

數據挖掘的場景多種多樣,但核心的挖掘算法卻相對有限。這跟我們以前學的數學,物理有點類似,很多題目看起來十分複雜,但都是通過一些基本的定理,定律可以解決。其實在職場中,想做好工作,也有類似這樣的“定理”,“定律”這樣的東西。例如《高效能人士的七個習慣》裏面提到的:主動積極、以終爲始、要事第一、雙贏思維、知彼知己、統合綜效、不斷更新。

說明:

本文大部分資料抄自網上,我自己做了點加工整理,僅供學習交流用。由於來源太多,並且資料整理時間太長,無法一一註明,請作者見諒。歡迎轉載,如果有侵權地方請聯繫我修改。

數據挖掘的知識範圍很廣,本文雖然只是介紹了入門知識,但限於作者水平,文章中難免出現有錯漏地方,歡迎各位留言指正。

數據挖掘在網上資料非常豐富,如果各位對本文介紹的知識有興趣,可以到百度輸入關鍵字,查找相關資料。

這裏介紹幾個:

數據挖掘技術及應用(我見過的最全面的理論+最佳案.ppt

數據挖掘技術在電網企業中的應用需求分析.pdf

基於數據挖掘的電力設備狀態檢修技術研究綜述.doc

面向智能電網大數據的數據挖掘算法概述.pdf

數據挖掘技術及其在電力系統中的應用.pdf

電力行業數據挖掘.pptx

不過學技術,關鍵不在於掌握資料的多與少,而在於你是否去運用它。希望大家在個平時生活中多想一下,哪些例子是使用了數據挖掘,自己能用數據挖掘來解決什麼問題。

附錄1:練習題答案

1

案例 使用技術
沃爾瑪通過數據挖掘發現啤酒與尿布銷售關係 關聯分析
某打車平臺通過大數據發現司機與乘客私下交易 關聯分析
某購物平臺使用數據挖掘提高優惠券營銷能力 聚類
某微博網友質疑天貓雙十一銷售額數據造假 相關性分析
某人使用yolo3輔助自己整理照片 分類

2

網上還有很多練習題,涉及到了很多知識點(不包括本文介紹的):

數據挖掘150道試題 測測你的專業能力過關嗎?

https://blog.csdn.net/u010022051/article/details/44153421?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control&dist_request_id=&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control

附錄2:weka使用

WEKA數據挖掘工具操作實驗.ppt

https://max.book118.com/html/2017/0127/87028147.shtm

WEKA使用教程

https://blog.csdn.net/yangliuy/article/details/7589306

CC中英字幕 - Weka在數據挖掘中的運用(Data Mining with Weka)

https://www.bilibili.com/video/BV1Hb411q7Bf?from=search&seid=17226336668903912022

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章