假裝在專欄里發乾貨之邏輯回歸
import numpy as npfrom sklearn.cross_validation import train_test_splitfrom sklearn.preprocessing import StandardScalerfrom sklearn.linear_model import LogisticRegressionimport clean_datax = clean_data.xy = clean_data.yx = np.mat(x)y = np.array(y)x = np.transpose(x)x = StandardScaler().fit_transform(x)y = y.astype(np.int)x_train, x_test, y_train, y_test = train_test_split(x,y,test_size = 0.3)lr = LogisticRegression(C = 10, penalty = l2,solver = liblinear)P = lr.fit(x_train,y_train)AC = lr.score(x_test,y_test)train_AC = lr.score(x_train,y_train)print lr.coef_print AC,train_AC
StandardDscaler.fit_transform()主要是對數據進行歸一化,後面就是對數據集進行拆分得到訓練集和測試集。lr.coef_輸出模型的係數,最後輸出模型的訓練誤差和測試誤差。
最後的訓練誤差和測試誤差都在27%左右,上下不超過0.5%,從學習曲線和AUC曲線來看效果還不錯。至於第五行的import clean_data,是我自己寫的一個洗數據的腳本,改成自己的數據就可以運行了,邏輯回歸的具體參數設置可以參照scikit-learn的官方文檔sklearn.linear_model.LogisticRegression
假裝分享乾貨技能get,以後開始水(逃
推薦閱讀:
※Python預測分析核心演算法——Day4、5、6
※相比於深度學習,傳統的機器學習演算法難道就此沒落了嗎,還有必要去學習嗎?
※BOW 演算法,被CNN 打爆之前的王者
※來自小姐姐的入門推薦:七套機器學習基本演算法(Python)
※數據嗨客 | 第6期:不平衡數據處理
TAG:機器學習 |