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