大資料時代:基於微軟案例資料庫資料採礦知識點總結(Microsoft 線性迴歸分析演算法)

來源:互聯網
上載者:User

標籤:label   利用   並且   sql   0.11   傳遞   histogram   tool   參考   

轉載:http://www.cnblogs.com/zhijianliutang/p/4076587.html

此篇為微軟系列挖掘演算法的最後一篇了,完整該篇之後,微軟在商業智慧這塊提供的一系列挖掘演算法我們就算總結完成了,在此系列中涵蓋了微軟在商業智慧(BI)模組系統所能提供的所有挖掘演算法,當然此架構完全可以自己擴充,可以自訂挖掘演算法,不過目前此系列中還不涉及,只涉及微軟提供的演算法,當然這些演算法已經基本涵蓋大部分的商業資料採礦的應用情境,也就是說熟練了這些演算法大部分的應用情境都能遊刃有餘的解決,每篇演算法總結包含:演算法原理、演算法特點、應用情境以及具體的操作詳細步驟。為了方便閱讀,我還特定整理一篇目錄:大資料時代:深入淺出微軟資料採礦演算法總結連載,有興趣的可以點擊參閱。

本篇介紹的為Microsoft線性迴歸分析演算法,此演算法其實原理和Microsoft神經網路分析演算法一樣,只是側重點不一樣,Microsoft神經網路演算法是基於某種目的,利用現有資料進行“誘探”分析,側重點是分析,而Microsoft線性迴歸分析演算法側重的是“預測”,也就是基於神經網路分析出來的規則,進行結果的預測。

應用情境介紹

該演算法的應用情境和上一篇的Microsoft神經網路分析演算法一樣,不清楚的可以點擊查看,可以簡單列舉:

  • 營銷和促銷分析,如評估直接郵件促銷或一個電台廣告活動的成功情況。
  • 根據曆史資料預測股票升降、匯率浮動或其他頻繁變動的金融資訊。

  • 分析製造和工業流程。

  • 文本挖掘。

  • 分析多個輸入和相對較少的輸出之間的複雜關係的任何預測模型。

其實該演算法為Microsoft神經網路分析演算法的補充演算法,上一篇我們已經介紹了,當我們面對一堆的資料而要基於某種目的去資料採礦時,感覺到無從下手或者在DM中選擇不到合適的演算法的時候,這時候我們會應用到Microsoft神經網路分析演算法,當我們用Microsoft神經網路分析演算法分析出規則的時候,我們就的利用Microsoft線性迴歸分析演算法進行結果預測了。

技術準備

(1)微軟案例資料倉儲(AdventureWorksDW208R2),案例資料倉儲中的話務中心的資料表,和上一篇的Microsoft神經網路分析演算法用到的是同一張事實表FactCallCenter,詳細可參閱上篇。

(2)VS2008、SQL Server、 Analysis Services。

挖掘目的

上一篇我們已經利用Microsoft神經網路分析演算法對微軟案例資料庫中的話務中心資料進行了簡要的分析,通過分析其實我們知道了影響“掛斷率”這個指標的因素最主要的是兩個:第一個是應答平均時間(AverageTimePerIssue),第二個就是上班階段(Shift),並且推斷深夜上班掛斷率低等規則吧,本篇我們將利用這些規則來做挖掘。

兩個目標:

1、根據規則發掘出平均應答時間調整到多少最好,或者基於目標,比如要求掛斷率控制在0.05以內,應答時間應該控制在多少合適。

2、如何安排崗位時間及崗位人數最佳,比如:安排幾班崗位,每個崗位安排多少人,然後什麼時間上班最好。

操作步驟

(1)我們這裡還是利用上一期的解決方案,直接開啟,看圖:

 

我們來新添加Microsoft路羅吉斯迴歸演算法,在採礦模型面板中,右鍵添加新的演算法,不明白的可以參考我前幾篇文章

 

我們來設定輸入和預測屬性值,預設的和前面的Microsoft神經網路屬性值一樣,因為我們要預測“掛斷率”和崗位人數,我們這裡選擇ServiceGrade和Level Two Operators設定為“預測”,這裡VS會為這兩個中繼資料容器建立兩個單獨的模型。也就是說這個演算法回味每一組可預測屬性建立一個單獨的子樹。

其它列我們都更改為“輸入”。

我們來部署該採礦模型,然後運行,下一步我們就是要瀏覽資料。

(2)部署程式,建立挖掘

在部署完程式後,然後點擊運行按鈕,這裡我們可以看到“採礦模型查看器”,該演算法的瀏覽器展示的內容和Microsoft神經網路演算法是一樣的,這裡就不廢話介紹了,不懂的可以參考我上篇文章。

所以說該演算法和Microsoft神經網路演算法是一樣的,這裡面如果真的去對比的話,其實Microsoft羅吉斯迴歸演算法是基於目的進行設計的,就是說它比起神經網路演算法的話,它是帶著目標去進行邏輯傳遞的,這一點有點像Microsoft決策樹演算法和貝葉斯演算法的關係一樣。

不廢話,我們接著進行我們的挖掘

我們直接進入“採礦模型規則”

我們這裡選擇好“採礦模型”,然後在採礦模型中選擇“單獨查詢”

這裡我們選擇上一篇神經網路發現的規則,換班時間(Shift)選擇:夜晚(midnight),嘿嘿...然後第二班的人數我們輸入個人數,我們假定有6個人

我們在“源”裡選擇“預測函數”,“欄位”選擇PredictHistogram,然後將 ServiceGrade拖入“條件/參數”

點擊運行,就可以看到這種規則下的,預測的“掛斷率”是多少了,6個人上夜班

嘿嘿...結果出來了..0.102566737...結果還可以嘛...表示100人打進電話才有10個人掛斷。後面的值是一些資料支撐,比如案例數,可能性等

這種預測是比較單一,我們不能一個個的人數去實驗,其實基於這種模型我們還可以進行更深度的挖掘,比如當前我們的話務中心人數、上班的次序已經是固定的,我們可以根據這個現有資料進行預測,預測出下一步將如何調整:

我們這樣幹:

首先我們根據現有表中的資料建立一個可用於預測的資料行,我們按照上班輪次,是否節假日進行分組,取出每個輪次的平均人數、平均電話數等...我們可以利用這個語句:

我們這裡把最大值和最小值頁進行篩選,以便於後續的挖掘。我們將這個語句改成VS中的資料來源檢視中的:命名查詢

我們進去到挖掘面板中,選擇該案例表

然後編輯好管理關聯性,將包含 Calls 列、Orders 列、Issues 列和 LvlTwoOperators 列映射到平均值。

我們設計一下預測函數

點擊運行,我們可以看到預測的明細結果:

上面的分析結果可以看到,在holiday(節假日)的midnight(晚間)的掛斷率是最高的:0.158,而在PM2(下午第二檔)的weekday(工作日)日的掛斷率是最低的:0.1144

 但是這些值或許還不是我們所期望的,比如老總發話了,要將掛斷率保持在0.1以下,該如何調整呢,其實基於上一篇我們神經網路演算法已經分析出來,平均應答率這個因素對於掛斷率這個指標影響是非常大的,我們可以通過調整這個值來減小掛斷率這個值的大小,提高服務水平,比如我們可以減少%90或者80%的平均應答時間,我們來預測以下這樣產生的掛斷率的值為多少。

我們調整上面的資料來源檢視的語句,增加兩項:

 然後將這個語句調整值資料來源檢視中,利用上述方法來預測下減少到90%的平均應答時間,它的掛斷率是多少,我們直接寫DMX語句進行查詢:

SELECT  t.[Shift],  t.[WageType],  Predict([FactCallCenterReturn].[Service Grade]),  PredictProbability([FactCallCenterReturn].[Service Grade])From  [FactCallCenterReturn]PREDICTION JOIN  OPENQUERY([Adventure Works DW2008R2],    ‘SELECT      [Shift],      [WageType],      [AvgCalls],      [AvgIssues],      [AvgOperators],      [AvgOrders],      [Last90TimePerIssue]    FROM      (SELECT DISTINCT WageType, Shift, AVG(Orders) as AvgOrders, MIN(Orders) as MinOrders, MAX(Orders) as MaxOrders,AVG(Calls) as AvgCalls, MIN(Calls) as MinCalls, MAX(Calls) as MaxCalls,AVG(LevelTwoOperators) as AvgOperators, MIN(LevelTwoOperators) as MinOperators, MAX(LevelTwoOperators) as MaxOperators,AVG(IssuesRaised) as AvgIssues, MIN(IssuesRaised) as MinIssues, MAX(IssuesRaised) as MaxIssues,AVG(AverageTimePerIssue) as AvgTimePerIssue,(AVG(AverageTimePerIssue)*0.9) as Last90TimePerIssue,(AVG(AverageTimePerIssue)*0.8) as Last80TimePerIssueFROM dbo.FactCallCenterGROUP BY Shift, WageType) as [Shifts for Call Center]    ‘) AS tON  [FactCallCenterReturn].[Wage Type] = t.[WageType] AND  [FactCallCenterReturn].[Shift] = t.[Shift] AND  [FactCallCenterReturn].[Calls] = t.[AvgCalls] AND  [FactCallCenterReturn].[Issues Raised] = t.[AvgIssues] AND  [FactCallCenterReturn].[Level One Operators] = t.[AvgOperators] AND  [FactCallCenterReturn].[Orders] = t.[AvgOrders] AND  [FactCallCenterReturn].[Average Time Per Issue] = t.[Last90TimePerIssue]

來看一下結果:

掛斷率相比平均值有所減小,但是還沒有滿足BOSS的要求,在0.1以下,我們繼續減小平均應答率看看,減少到80%

我們再來看一下預測結果:

嘿嘿,已經出現0.1以下的應答率了,看樣子按照這個規則進行調整,基本是能滿足BOSS的要求了,將平均應答率減少至80%。

有興趣的童鞋,可以按照此規律進行分析挖掘,來正確的調整每個崗位的人數以及上班輪次的調整等。

大資料時代:基於微軟案例資料庫資料採礦知識點總結(Microsoft 線性迴歸分析演算法)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.