機器學習Part2:如何用邏輯回歸分類

一、qq音樂如何推薦音樂

從QQ音樂拿出歷史聽歌數據(訓練數據(歌曲的節奏、強度等特徵)以及用戶將其劃分為喜歡或者不喜歡的標籤),將其提供給機器學習演算法,訓練出模型用來預測喜歡哪些歌曲。

  • 關於訓練數據(數據集的80%)和測試數據(數據集的20%):

訓練數據:用於機器學習演算法生成機器學習模型

測試數據:驗證模型的準確率

  • 關於決策面:

機器學習問題對於上述這類分類問題可以定義一個決策面,決策面通常位於兩個不同類之間的某個位置上。有了決策面當新數據出來就就可以預測出其屬於哪個分類了

  • 判斷分類結果的準確性:

正確率(=正確分類的個數/數據總數)

二、機器學習演算法之邏輯回歸

2.1本質是分類演算法

邏輯回歸用於二分分類

  • 二分分類:分類結果標籤只有兩個

線性回歸的y值是一個連續型變數

邏輯回歸的y值是一個離散型變數

2.2邏輯回歸的核心:邏輯函數

2.3 邏輯回歸小結

1)邏輯回歸之所以叫回歸是由於其邏輯函數的參數z是一個回歸函數

2)表示概率

3)將訓練數據的決策和標籤轉化成一個決策面,邏輯回歸函數得到概率值以後如何映射到標籤0或者1上?

使用決策面(決策面規則,如果得到的概率值y<0.5,特徵y=0,y>0.5.特徵=1)

邏輯回歸:python實現,代碼如下:

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()#訓練模型model.fit(X_train , y_train)#獲取概率值#獲得的結果中,第1個值是標籤為0的概率值,第2個值是標籤為1的概率值model.predict_proba(3)

  • 預測數據:使用模型的predict方法可以進行預測。這裡我們輸入學生的特徵學習時間3小時,模型返回結果標籤是1,就代表預測該學生未通過考試。

pred=model.predict([[3]])print(pred)

  • 理解邏輯回歸函數

斜率slope

截距intercept

#第1步:得到回歸方程的z值#回歸方程:z=??+??x#截距a=model.intercept_#回歸係數b=model.coef_x=3z=a+b*x#第2步:將z值帶入邏輯回歸函數中,得到概率值y_pred=1/(1+np.exp(-z))print(預測的概率值:,y_pred)

三、三種數據類型

  • 數值數據:又叫定量數據。可以用數字衡量的數據:如溫度、金錢
  • 分類數據:數字不具備數學意義,例如喜歡這首歌曲用1,反之用0
  • 時間序列數據:在一段時間內定期收集的數字序列,與數值數據區別不大。只是能說明時間的順序

四、分類與回歸的區別:

機器學習演算法與機器學習模型的區別:

機器學習演算法:處理某一類型問題的通用演算法框架,比如邏輯回歸演算法是用來處理任何二分分類的問題

機器學習模型:利用機器學習演算法和訓練數據,專門用來處理某一個問題的模型,利用使用邏輯回歸演算法和qq音樂的訓練數據可以得到一個邏輯回歸機器學習模型,該模型專門用來預測用戶到底喜歡哪些音樂。

總結:


推薦閱讀:

混合模型與EM演算法
看得見的資訊理論-為什麼用交叉熵作為邏輯回歸的代價函數
課程安利:用物理學的眼光看機器學習--Deep Learning and Quantum Many-BodyComputation
機器學習數學:拉格朗日對偶問題
邏輯回歸(二分類)與極大似然

TAG:數據分析 | 機器學習 | 邏輯回歸 |