python邏輯回歸演算法預測

邏輯回歸分析,是分類和預測演算法中的一種,預測的結果只有兩種可能,考試通過或不通過,推送一個商品,用戶購買或者不購買,是一個二分類問題,我們將二分類的結果用0和1表示。邏輯回歸演算法就是輸入特徵預測結果是0或1的演算法。

邏輯回歸演算法的步驟:

  • 收集數據
  • 數據清洗
  • 提取特徵
  • 構建模型
  • 評估模型
  • 預測結果

一、收集數據

#導入數據分析包from collections import OrderedDictimport pandas as pd#數據集examDict={ 學習時間:[0.50,0.75,1.00,1.25,1.50,1.75,1.75,2.00,2.25,2.50, 2.75,3.00,3.25,3.50,4.00,4.25,4.50,4.75,5.00,5.50], 通過考試:[0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,1,1,1,1,1]}examOrderDict=OrderedDict(examDict)examDf=pd.DataFrame(examOrderDict)

因為數據很整潔,這裡就省略數據清洗的步驟。

二、特徵提取

提取特徵和標籤組建成需要的數據集

#特徵featuresexam_x=examDf.loc[:,學習時間]#標籤labesexam_y=examDf.loc[:,通過考試]拆分數據集,建立訓練數據集和測試數據集from sklearn.cross_validation import train_test_split#拆分數據集#建立訓練數據和測試數據x_train , x_test , y_train , y_test = train_test_split(exam_x , exam_y , train_size = .8)

三、構建模型

數據集準備好之後,構建邏輯回歸的模型

#將訓練數據特徵轉換成二維數組XX行*1列X_train=x_train.values.reshape(-1,1)#將測試數據特徵轉換成二維數組行數*1列X_test=x_test.values.reshape(-1,1)#導入邏輯回歸包from sklearn.linear_model import LogisticRegression# 創建模型:邏輯回歸model = LogisticRegression()#fit函數訓練模型model.fit(X_train , y_train)

四、評估模型

評估模型的正確率方法就是用預測正確的數目除以總的預測數目,也就是將測試數據的特徵X_test輸入到模型,得到的正確結果數和已知的正確結果的比較。

#評估模型:準確率model.score(X_test , y_test)0.75

五、預測結果

輸入特徵3,預測學習時間為3小時,考試能否通過。

當我們輸入一個特徵值時,結果返回兩個概率值,前面是標籤為0的概率值,後面是標籤為1的概率值,也就是說當特徵為3時,標籤為1的概率為0.749,即通過考試的概率為0.749>0.5,所以可以得出結果為通過考試。

推薦閱讀:

主方法求解遞歸式
未來我們能怎樣永生? | 演算法密碼
6. ZigZag Conversion(medium) & 7.Reverse Integer(easy)
什麼是Hash函數?
RSA演算法詳解

TAG:機器學習 | 演算法 | 數據挖掘 |