西瓜书笔记01:logistic回归、决策树

logistic回归

@[回归|分类|极大似然|泰勒级数|牛顿法|Hessian矩阵|sigmoid函数]

线性模型可以用来回归学习,若要做分类就要找一个单调可微函数将分类标记y与线性回归预测值联系起来。

如何求w和b?

  • 二分类任务中,sigmoid函数即可将预测值z转换为0/1值。其中,sigmoid function: y=11+ez y = 1 1 + e − z 。将线性模型代入,即为 y=11+e(wTx+b) y = 1 1 + e − ( w T x + b )

  • 先算 y1y y 1 − y 再得 ln(y1y)=wTx+b l n ( y 1 − y ) = w T x + b 。令y为后验概率估计p(y=1|x),则 ln(p(y=1|x)p(y=0|x))=wTx+b l n ( p ( y = 1 | x ) p ( y = 0 | x ) ) = w T x + b 。赋值法可得,

    p(y=1|x)=ewTx+b1+ewTx+b p ( y = 1 | x ) = e w T x + b 1 + e w T x + b

    p(y=0|x)=11+ewTx+b p ( y = 0 | x ) = 1 1 + e w T x + b

  • 极大似然估计w,b,最大化

    l(w,b)=i=1mlnp(yi|xi;w,b) l ( w , b ) = ∑ i = 1 m l n p ( y i | x i ; w , b ) ,

    再根据牛顿法解出最优解。

牛顿法利用泰勒级数公式,求经过(x0,f(x0))点斜率为 f(x0) f ′ ( x 0 ) 的直线与x轴交点。即 f(x)=f(x0)+f(x0)Δx+...=0 f ( x ) = f ( x 0 ) + f ′ ( x 0 ) Δ x + . . . = 0 xn+1xn=f(xn)f(xn) x n + 1 − x n = − f ( x n ) f ′ ( x n ) 。计算hessian矩阵开销大,所以有了拟牛顿法。

优缺点

优点:计算代价不高,易于理解和实现。只要特征是线性就可以用逻辑回归训练,可以分布式使用。
缺点:容易欠拟合,分类精度可能不高。

python sklearn实现

# logistic分类
import pandas as pd
import numpy as np
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split,cross_val_score
#from sklearn.metrics import roc_curve #二元分类
#import matplotlib.pyplot as plt

# txt也可以用read_csv读成dataframe,.loc取出需要的列 行数表示到某一行
iris = pd.read_csv('E:\\study\\data\\iris.txt',sep=',',skiprows=[1])
X = iris.loc[:,['sepal length','sepal width']]
y = iris.loc[:,['class']]

X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=0.3)
logreg = LogisticRegression(C=1e5)
logreg.fit(X_train,y_train)
#y_pred = logreg.predict(X_test)
scores = cross_val_score(logreg,X_train,y_train,cv=5)
#scooing='recall' 召回率
print '准确率:%s' % np.mean(scores) # 0.78

二元分类模型评估

预测
正例反例
真实正例TPFN(假反例)
反例FP(假正例)TN

精确率|查准率 为预测为正例的里面真正例的比例, P=TPTP+FP P = T P T P + F P 。
召回率|查全率为真实为正例的里面真正例的比例, R=TPTP+FN R = T P T P + F N 。
ROC曲线 ROC的纵轴为真正例率,横轴为假正例率,分别为:

TPR=TPTP+FN T P R = T P T P + F N ,

FPR=TPTP+FN F P R = T P T P + F N ,

Tips

  • logistic回归广泛应用于流行病学,如判断哪些因素是致病的关键因素,判断得某些病的概率等。
  • 一般来说,拓展到多分类问题,OneVOne比OneVRest开销更小。
  • 类别不平衡学习的基本策略——“再缩放”,常用SMOTE算法在少的类别中过采样。

决策树

@[信息熵]

划分属性

ID3决策树划分属性的准则为信息增益。
C4.5决策树的准则为增益率。
CART决策树使用基尼系数来选择划分属性,使划分后基尼指数最小。

属性值缺失怎么办?

数据集D关于属性a的信息增益公式可推广为

Gain(D,a)=ρGain(D˜,a)=ρ(Ent(D˜)v=1VEnt(D˜v)) G a i n ( D , a ) = ρ ∗ G a i n ( D ~ , a ) = ρ ∗ ( E n t ( D ~ ) − ∑ v = 1 V E n t ( D ~ v ) )

其中, D˜ D ~ 表示D中属性a上没有缺失值的样本子集, ρ ρ 为无缺失值样本所占的比例,a有v个取值。

优缺点

优点:易于理解和解释,数据准备简单。适合高纬空间大数量样本。
缺点:对各类别样本数量不一致的数据,信息增益结果偏向于更多数值的特征。结果不稳定,可能陷入局部最小,可以使用集成决策树解决。可能过拟合。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值