99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁精彩閱讀邏輯回歸、決策樹、支持向量機算法三巨頭
邏輯回歸、決策樹、支持向量機算法三巨頭
2018-08-17
收藏

邏輯回歸決策樹、支持向量機算法三巨頭

1 邏輯回歸

首先邏輯回歸線性回歸衍生過來的,假設在二維空間上,本質上還是一條線,那么在三維空間,他就是一個平面。把數(shù)據(jù)分成兩邊,就是直的不能再直的一條線或者一個平面。那么假設現(xiàn)在我們有兩個變量,就是圖中這兩個變量,為什么假設y=1是壞客戶的話,根據(jù)圖中可以看到,單個變量的劃分并不可以把兩種類型的客戶分的很好,要兩個變量相互作用,假設x1為查詢次數(shù),x2為在還貸款筆數(shù),那可以看到當x1小以及x2比較小的時候,那么客戶肯定在左下角的地方,那么當他其中一項比較高的時候就會趨于右上角,x1 x2都高的時候,就是越過分割線,落于分割線的上方了。這里我們可以看到,x1 x2是兩個有趨勢性的變量才可以達到這種這么好的一個分類效果。

那么現(xiàn)在假設數(shù)據(jù)是以下這種:

可以看到變量的趨勢跟y的分類沒有什么關系的時候,這時候邏輯回歸就顯得很雞肋,分的效果一點都不好。

2 決策樹

決策樹。剛才說的是邏輯回歸是一條直到不能再直的直線或者平面,那么決策樹就是一條會拐彎,但是不能有角度的,永遠直行或者90度拐的直線或者面,看下圖,你可以理解為決策樹就是一條貪吃蛇,他的目標就是把好壞客戶分的很清晰明了,要是貪吃蛇過分的貪吃就會造成過擬合,那么過擬合是啥,就是你問你喜歡的妹紙,妹紙你喜歡什么樣的男生,妹紙說,我喜歡長的好看的,帥氣,溫柔體貼,會做飯的,巴拉巴拉一大堆,足足100多條,然后你實在太喜歡妹紙,所以按照她的要求,到頭來你真的跟妹紙在一起了,妹紙說,其實我只要你長得好看就可以了,其他的100多條都是無所謂的。拉回來決策樹,決策樹適應的數(shù)據(jù)假設像邏輯回歸那種數(shù)據(jù)的話,其實按照決策樹的這種貪吃蛇的方式其實還是很難分的,所以決策樹適用的數(shù)據(jù)是變量與因變量呈現(xiàn)一個u型分布的數(shù)據(jù),就是兩頭是一類,單峰聚集了另外一類數(shù)據(jù)。你在變量特征分析的,看到變量都是呈現(xiàn)這種趨勢的,你就要暗喜了,老子要用決策樹立功了?。?!

3 支持向量機

支持向量機,要是沒有數(shù)學基礎的人看支持向量機的把低維的數(shù)據(jù)轉化成高維可以在高維空間分類的算法這句話時候估計是一臉懵逼,我以前也是很懵逼,這到底是啥,我們以只有兩個變量的舉個例子,譬如你現(xiàn)在相區(qū)分一群客戶的好壞,這時候就給出這群人的兩個變量,查詢次數(shù)和貸款次數(shù),然后這時候你通過某些什么開方啊,冪次數(shù),取對數(shù)的方式啊,你剛好擬合除了三元方程,這條方程你把身高體重的數(shù)據(jù)輸進去,算出來的第三個未知數(shù)在這條方程里面的,就是男的,在這方程里面就算女的,這樣子可能你不是很清楚,請看下圖

剛才我們把數(shù)據(jù)丟進入,支持向量機幫我們這份數(shù)據(jù)擬合了這個圓,把這兩類數(shù)據(jù)分的像圖中的這樣子很好,那么這時候我們需要這條圓的方程,產(chǎn)生變量的運用口徑,這條方程是:

25=(x-5)2+(y-5)2 那么這時候當貸款次數(shù)和查詢次數(shù)分別減5再2次冪的時候如果數(shù)小于25那么就是好客戶,假設大于25就是壞客戶。支持向量機是在除了變量所有的維度之外又給了他一個維度之后,把擬合的方程再投放在原來的維度空間。支持向量機可以適用的數(shù)據(jù)那么就是在你用決策樹邏輯回歸走投無路的時候就可以用支持向量機了,但是就像我們剛才得出這道方程一樣,出來的變量口徑是沒有邏輯的,他可能要變量開方,取對數(shù),假設你這模型要跟業(yè)務去解釋的時候,我就不知道你要想多少套路了。


數(shù)據(jù)分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調用 initGeetest 進行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調,回調的第一個參數(shù)驗證碼對象,之后可以使用它調用相應的接口 initGeetest({ // 以下 4 個配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務器是否宕機 new_captcha: data.new_captcha, // 用于宕機時表示是新驗證碼的宕機 product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計時完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }