日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

python分类预测_python做logistic分类预测尝试

發(fā)布時(shí)間:2023/12/19 python 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python分类预测_python做logistic分类预测尝试 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

首先需要明確一點(diǎn)是logistics回歸和線性回歸的區(qū)別:

1線性回歸的因變量Y是連續(xù)性變量,而logistics回歸是分類變量。

2線性回歸最后可以通過(guò)函數(shù)y=a1x1+a2x2...去描述,而logistics的方程是這樣的

好吧,大學(xué)數(shù)學(xué)忘了差不多了,反正可以理解為是一個(gè)概率函數(shù)吧。所以logistics回歸的因變量y的值是在0-1之間的,得到的數(shù)值y可以看做屬于類別1的概率,當(dāng)0.5≤y≤1,則說(shuō)明是類別1,不然則是類別0。

Logistics主要會(huì)用做二分類的問(wèn)題,典型的一個(gè)場(chǎng)景比如說(shuō):

分類問(wèn)題示例:信用卡

從x1:職業(yè),x2:收入,x3:年齡等等信用卡申請(qǐng)人不同的信息維度,來(lái)判斷y:是否發(fā)放信用卡,發(fā)放哪一類信用卡

這里這次探究的數(shù)據(jù)來(lái)自于《誰(shuí)說(shuō)菜鳥不會(huì)數(shù)據(jù)分析-spss篇》中的華南區(qū)商戶續(xù)約數(shù)據(jù),數(shù)據(jù)大體有這么些維度:

根據(jù)注冊(cè)市場(chǎng),營(yíng)業(yè)收入,成本等維度可以去預(yù)測(cè)這家商戶是否還會(huì)繼續(xù)續(xù)約。

在SPSS中方法是比較簡(jiǎn)單的,直接通過(guò)分析--二元Logistics回歸即可

輸出的總體正確率為73.1%,其中對(duì)角線上的300和797分別表示“未續(xù)約”和“續(xù)約”的預(yù)測(cè)正確個(gè)數(shù)。

而且三個(gè)特征以及常量的顯著性均小于0.01,說(shuō)明都具有極其顯著的統(tǒng)計(jì)學(xué)意義,應(yīng)納入Logistics模型中。那實(shí)際上就可以得到方程式

logit(P)=-2.287+0.099*注冊(cè)時(shí)長(zhǎng)+0.014*營(yíng)業(yè)收入-0.184*成本。

通過(guò)這個(gè)方程式計(jì)算概率的話就可以得到預(yù)測(cè)的分類到底是續(xù)約還是不續(xù)約。

接下來(lái)對(duì)比一下在python中用Logistics回歸得到的結(jié)果會(huì)是如何?數(shù)據(jù)源鏈接如下(CSV格式):

主要還是用numpy,pandas以及scikit-learn三件套為主。

import pandas

sc=pandas.read_csv('D:\\SC-sales.csv',encoding='utf-8')

sc.info()

pandas導(dǎo)入后通過(guò)info看到共1500行數(shù)據(jù),無(wú)空值,可以直接開始后面的操作

import sklearn

import numpy as np

from sklearn import linear_model

lm=linear_model.LogisticRegression() #這里使用LogisticRegression的默認(rèn)參數(shù)

features=['注冊(cè)時(shí)長(zhǎng)','營(yíng)業(yè)收入','成本']

x=sc[features]

y=sc['續(xù)約']

from sklearn.model_selection import cross_val_score

#logistic中的scoring參數(shù)指定為accuracy

scores=cross_val_score(lm,x,y,cv=5,scoring='accuracy') #cv=5即是5折交叉檢驗(yàn)

print(np.mean(scores)) #求平均的交叉檢驗(yàn)的值

#結(jié)果輸出為0.728015363134

可以看到這個(gè)結(jié)果基本上和SPSS做出來(lái)是一樣的,關(guān)于交叉檢驗(yàn)在引用一下說(shuō)明順便也當(dāng)復(fù)習(xí)一下。在機(jī)器學(xué)習(xí)中,交叉檢驗(yàn)常被用來(lái)檢驗(yàn)?zāi)P秃脡?#xff0c;本質(zhì)上好處是可以從有限的數(shù)據(jù)中獲得盡可能多的有效信息,從而可以從多個(gè)角度去學(xué)習(xí)樣本,避免陷入局部的極值。在這個(gè)過(guò)程中,無(wú)論是訓(xùn)練樣本還是測(cè)試樣本都得到了盡可能多的學(xué)習(xí)。

一般檢驗(yàn)方法常見的有:k-folds 交叉驗(yàn)證法(常見用5折或者10折),leave-one-out 法(留一法)k-folds交叉驗(yàn)證法: 也叫k折交叉驗(yàn)證法,將初始數(shù)據(jù)集分割成 k 份,其中1份被保留作為驗(yàn)證模型的數(shù)據(jù),其他 k-1 份用來(lái)訓(xùn)練。交叉驗(yàn)證重復(fù) k 次,每份數(shù)據(jù)作為驗(yàn)證集驗(yàn)證一次,平均 k 次的結(jié)果或者使用其它結(jié)合方式,最終得到一個(gè)單一估測(cè)

leave-one-out 法:也叫留一交叉驗(yàn)證法,只使用原本樣本中的一項(xiàng)來(lái)當(dāng)做驗(yàn)證集, 而剩余的則留下來(lái)當(dāng)做訓(xùn)練集。 這個(gè)步驟一直持續(xù)到每個(gè)樣本都被當(dāng)做一次驗(yàn)證數(shù)據(jù)

所以當(dāng)k取n時(shí)實(shí)際上兩者是等價(jià)的。

綜上來(lái)看,用LR進(jìn)行預(yù)測(cè)總體來(lái)說(shuō)并不是特別好,下一步可以考慮用決策樹和隨機(jī)森林再來(lái)進(jìn)行嘗試。

總結(jié)

以上是生活随笔為你收集整理的python分类预测_python做logistic分类预测尝试的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。