怎麼看python中邏輯回歸輸出的解釋

2021-03-04 01:51:21 字數 4359 閱讀 3309

1樓:育知同創教育

以下為python**,由於訓練資料比較少,這邊使用了批處理梯度下降法,沒有使用增量梯度下降法。

呼叫上面**:

from logreg import *

x,y = loaddata("horsecolictraining.txt")

theta,cost = gradescent(x,y)print 'j:',cost

ac_train = accuracy(x, y, theta)print 'accuracy of the training examples:', ac_train

x_test,y_test = loaddata('horsecolictest.txt')

ac_test = accuracy(x_test, y_test, theta)print 'accuracy of the test examples:', ac_test

學習速率=0.0000025,迭代次數=4000時的結果:

似然函式走勢(j = sum(y*log(h))+sum((1-y)*log(1-h))),似然函式是求最大值,一般是要穩定了才算最好。

下圖為計算結果,可以看到訓練集的準確率為73%,測試集的準確率為78%。

這個時候,我去看了一下資料集,發現沒個特徵的數量級不一致,於是我想到要進行歸一化處理:

歸一化處理句修改列loaddata(filename)函式:

def loaddata(filename):

data = loadtxt(filename)

m,n = data.shape    print 'the number of  examples:',m    print 'the number of features:

',n-1    x = data[:,0:n-1]

max = x.max(0)

min = x.min(0)

x = (x - min)/((max-min)*1.0)     #scaling    y = data[:,n-1:n]    return x,y

在沒有歸一化的時候,我的學習速率取了0.0000025(加大就會**,因為有些特徵的值很大,學習速率取的稍大,波動就很大),由於學習速率小,迭代了4000次也沒有完全穩定。現在當把特徵歸一化後(所有特徵的值都在0~1之間),這樣學習速率可以加大,迭代次數就可以大大減少,以下是學習速率=0.

005,迭代次數=500的結果:

此時的訓練集的準確率為72%,測試集的準確率為73%

從上面這個例子,我們可以看到對特徵進行歸一化操作的重要性。

python邏輯回歸結果怎麼看

2樓:公尺粒遇上小麥

假設**目

bai標為0和1 資料中1的個數du為a,**1的次數為zhib,**1命中dao的內

次數為c 準確率容 precision = c / b 召回率 recall = c / a f1_score = 2 * precision * recall / (precision + recall)

python 訓練完邏輯回歸模型後如何看權重

3樓:就愛純淨水

用的什bai麼包,sklearn嗎?如果是dusklearn的話,邏輯zhi

回歸的estimator自帶coef_屬性檢視dao權重

from sklearn.linear_model import logisticregression

# 其他準備工回

作def train():

lr = logisticregression()lr.fit(x_train, y_train)print("得出來的答權重:", lr.coef_)

python sklearn邏輯回歸怎麼匯出概率值

4樓:情深意濃

可以使用機器學習,使用很方便(相當於別人早已經把具體過程做好了,像公式、模內板一樣自己代入資料容就可以得到結果) from sklearn.linear_model import logisticregression

5樓:匿名使用者

概率值:predict_proba()

類別:predict()

6樓:oo蘆葦

from sklearn.linear_model import logisticregression

clf = logisticregression()clf.fit(x,y)

clf.predict_proba(x) #該結果為概率專結屬果

用scikit-learn構建邏輯回歸,怎麼檢視模型係數的顯著性

7樓:

main() 本例bai輸出100除以3所得的餘數du1。 2. 算術表示式和運算子的

zhi優先順序和結合性dao 表示式是由常量

專、變數、函式和屬運算子組合起來的式子。乙個表示式有乙個值及其型別, 它們等於計算表示式所得結果的值和型別。

python sklearn邏輯回歸怎麼調參

8樓:情深意濃

from sklearn import linear_model#線性回

復歸制clf = linear_model.linearregression()#訓練clf.fit ([[0, 0], [1, 1], [2, 2]], [0, 1, 2])#表示式引數clf.

coef_#測試improt numpy as npx = np.array([1,1])y = x.dot(clf.

coef_)

python怎麼實現邏輯回歸的梯度下降法

9樓:匿名使用者

import sys

#training data set

#each element in x represents (x0,x1,x2)

x = [(1,0.,3) , (1,1.,3) ,(1,2.,3), (1,3.,2) , (1,4.,4)]

#y[i] is the output of y = theta0 * x[0] + theta1 * x[1] +theta2 * x[2]

y = [95.364,97.217205,75.195834,60.105519,49.342380]

epsilon = 0.0001

#learning rate

alpha = 0.01

diff = [0,0]

max_itor = 1000

error1 = 0

error0 =0

**t = 0

m = len(x)

#init the parameters to zero

theta0 = 0

theta1 = 0

theta2 = 0

while true:

**t = **t + 1

#calculate the parameters

for i in range(m):

diff[0] = y[i]-( theta0 + theta1 * x[i][1] + theta2 * x[i][2] )

theta0 = theta0 + alpha * diff[0] * x[i][0]

theta1 = theta1 + alpha * diff[0]* x[i][1]

theta2 = theta2 + alpha * diff[0]* x[i][2]

#calculate the cost function

error1 = 0

for lp in range(len(x)):

error1 += ( y[i]-( theta0 + theta1 * x[i][1] + theta2 * x[i][2] ) )**2/2

if abs(error1-error0) < epsilon:

break

else:

error0 = error1

print ' theta0 : %f, theta1 : %f, theta2 :

%f, error1 : %f'%(theta0,theta1,theta2,error1)

print 'done: theta0 : %f, theta1 : %f, theta2 : %f'%(theta0,theta1,theta2)

python 中執行邏輯回歸沒有報錯但是結果圖不顯示?

10樓:陽光的雷咩咩

for迴圈輸出一下進度看是不是資料太大了

logistic回歸分析結果怎麼看

求logistic回歸分析的思路及spss分析結果解釋,單因素與多因素logistic回歸分析,到底是什麼關係,spss分析中,怎樣才是單因素分析,怎樣才是多因素分析?logistic 回歸一般步驟 一 變數編碼,二 啞變數的設定,涉及如何設計啞變數 三 各個自變數的單因素分析,主要檢查有無共線性和...

spss回歸分析wald值怎麼看

不需要看,你這個操作有問題的 logit回歸 1.開啟資料,依 次點選 analyse regression binarylogistic,開啟二分回歸對話方塊。2.將因變數和自變數放入格仔的列表裡,上面的是因變數,下面的是自變數。3.設定回歸方法,這裡選擇最簡單的方法 enter,它指的是將所有的...

中怎麼看壽命,八字中怎麼看壽命

一般對自然壽命而言,八字的總看法是,性定元神厚的長壽 氣濁神枯的夭折。不一般的看法是,遇吉則吉,遇凶則兇,各人遇命也就是各人的遭遇不一樣,所以壽命不一樣。而遇命有偶然與必然,八字中有些是偶然的,未必能推算出來的,這也是所謂人有正命與非命。怎麼通過八字看人壽命長短?八字看人壽命長短怎麼看?八字算壽命怎...