如今這個社會是一個數字社會,在各大領域裡面最為顯著的應該是資料吧。就目前而言,大數據已經越來越流行了,我們不管在什麼領域上都能接觸到資料的,並且現在很多企業已經累積了大量的資料。很多人開始朝向大數據開發以及大數據分析這兩個方向發展了。
那麼也許你會問,哪個方向更加值得轉行呢?很多人也在這兩個方向糾結,在這裡我想告訴你們的是,沒有什麼是最優選擇,你感興趣的才是最好的選擇。這邊,我選擇的是大數據分析!現在讓我們進入資料分析的一個環節 — — 資料探勘。
01 資料探勘簡介
資料探勘旨在讓計算機根據已有資料做出決策。決策可以是預測明年的銷量,人口的數目,攔截垃圾郵件,檢測網站的語言。到目前為止,資料探勘已經有很多的應用,即使這樣很多新的應用領域也在不斷出現。
資料探勘涉及到演算法,最優策略,統計學,工程學和計算機科學相關領域的知識。除此之外我們還會用到語言學,神經科學,城市規劃等其他領域的概念或知識。想要充分發揮資料探勘的威力,演算法肯定是必備的。
一般來說資料探勘有這三個基本步驟:
1、建立資料集。資料集能直接反應一些真實事件;
2、選擇演算法。選擇一個合適的演算法才能更好的對資料進行處理;
3、最佳化演算法。每種資料探勘演算法都有引數,它們或是演算法自身包含的,或是使用者新增的,這些引數會影響演算法的具體決策。
02 親和性分析案例
現在讓我們用一個例子說明。不知道你逛超市的時候,是否發現超市裡面基本上都是按照商品的種類來分割槽域的,然而有些東西是存在例外的,一件商品的旁邊擺放著不一樣種類的商品。不知道你是否有發現這個現象,有沒有對此感到不解。這邊我想跟你說的是,這種擺放也是有道理的,這個道理是商品之間的親和性!
前置知識:
這裡的defaultdict(function_factory)構建的是一個類似dictionary的物件其中keys的值,自行確定賦值,但是values的型別,是function_factory的類例項而且具有預設值。比如default(int)則建立一個類似dictionary物件裡面任何的values都是int的例項,而且就算是一個不存在的key, d[key] 也有一個預設值,這個預設值是int()的預設值0。
03 程式碼實現
现在进行代码部分:
統計一下購買蘋果和香蕉的人數:
現在為了計算規則的置信度還有支援度,我們可以用字典的形式來存放計算結果:
得到所有必要的統計量後,我們再來計算每條規則的支援度和置信度。如前所述,支援度就是規則應驗的次數:
宣告一個函式,接收的引數有:分別作為前提條件和結論的特徵索引值、支援度字典、置信度字典以及特徵列表。
排序完成後,就可以輸出支援度最高的前5條規則:
以上就是我們這次所學的資料探勘之商品親和性分析了。
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
我是「數據分析那些事」。常年分享數據分析乾貨,不定期分享好用的職場技能工具。各位也可以關注我的Facebook,按讚我的臉書並私訊「10」,送你十週入門數據分析電子書唷!期待你與我互動起來~