赞
踩
逻辑回归的应用场景:
特点:都属于俩个类别之间的判断。逻辑回归就是解决二分类问题的利器。
逻辑回归的原理:
输入:h(w)=w1*x1+w2*x2+…+b
逻辑回归的输入就是一个线性回归的结果
激活函数:sigmoid函数
分析:回归的结果输入到sigmoid函数当中
输出结果:[0,1]区间中的一个概率值,默认为0.5位阈值
损失函数:
(Y_predict-y_true)^2/总数
逻辑回归的真实值/预测值,是否属于某个类别
逻辑回归的损失:称之为对数似然损失
公式:
综合完整损失函数:
优化损失:
同样使用梯度下降优化算法,去减少损失函数的值。这样去更新逻辑回归前面对应算法的权重参数,提升原本属于1类的概率,降低原本是0类别的概率。
逻辑回归API:
Sklearn.linear_model.LogisticRegression(solver=’libinear’,penalty=’l2’,C=1.0)
Solver:优化求解方式(默认开源的liblinear库实现,内部使用了坐标轴下降法来迭代优化损失函数)
Sag:根据数据集自动选择,随机平均梯度下降
Penalty:正则化的种类
C:正则化力度
默认将类别数量少的当做正例
LogisticRegression方法相当于SGDClassifier(loss=”log”,penalty=””),SGDClassifier实现了一个普通的随机梯度下降学习,也支持平均随机梯度下降法(ASGD),可以通过设置average=True。而使用LogisticRegression(实现了SAG)
混淆矩阵:在分类任务下,预测结果(Predict Condition)与正确标记(True Condition)之间存在四种不同的组合,构成混淆矩阵(适用于多分类)
| 预测结果 | ||
真实结果 |
| 正例 | 假例 |
正例 | 真正例TP | 伪反例FN | |
假例 | 伪正例FP | 真反例TN |
精确率(Precision):预测结果为正例样本中真实为正例的比例
召回率(Recall):真实为正例的样本中预测结果为正例的比例
还有其他的评估标准,F1-score,反映了模型的稳健性
API:
Sklearn.metrics.classification_report(y_true,y_pred,labels=[],target_name=None)
2.ROC曲线与AUC指标
TPR=TP/(TP+FN)所有真实类别为1的样本中,预测类别为1的比例
FPR=FP/(FP+TN)所有真实类别为0的样本中,预测类别为1的比例
ROC曲线的横轴就是FPRate,纵轴就是TPRate,当俩者相等时,表示的意义则是:对于不论真实类别是1还是0的样本,分类器预测为1的概率是相等的,此时AUC为0.5
3.AUC指标(样本不均衡)
AUC的概率意义是随机取一对正负样本,正样本得分大于负样本的概率
AUC的最小值为0.5,最大值为1,取值越高越好
AUC=1,完美分类器,采用这个预测模型时,不管设定什么阈值都能得出完美预测。绝大多数预测的场合,不存在完美分类器。
0.5<AUC<1,优于随机猜测.这个分类器妥善设定阈值的话,有预测价值
最终AUC的范围在[0.5,1]之间,并且越接近1越好
4.AUC计算API
From sklearn.metrics import roc_auc_score
Sklearn.metrics.roc_auc_score(y_true,y_score)
计算ROC曲线面积,即AUC值
Y_true:每个样本的真实类别,必须为0(反例),1(正例)标记
Y_score:预测得分,可以是正类的估计概率、置信值或者分类器方法的返回值
总结:AUC只能用来评价二分类,适合评价样本不平衡中的分类器性能
5.模型保存于加载:
API:from sklearn.externals import joblib
保存:joblib.dump(rf,”test.pkl”)
加载:eatimator=joblib.load(“test.pkl”)
没有目标值——无监督学习
无监督学习包含的算法:
Kmeans原理:
K-means聚类步骤:
API:sklearn.cluster.KMeans(n_clusters=8,init=’k-means++”)
k-means聚类
n_clusters:开始的聚类中心数量
init:初始化方法,默认为’k-means++’
labels_:默认标记的类型,可以和真实值比较
Kmeans性能评估指标
轮廓指标:SCi=bi-ajmaxbi,aj [-1,1]
注:对于每个点i为已聚类数据中的样本,b_i为i到其他族群的所有样本的距离最小值,a_i为i到本身簇的距离平均值。最终计算出所有的样本点的轮廓系数平均值。(高内聚,低耦合)
轮廓数值分析:
根据公式:极端值考虑:如果b_i>>a_i;那么公式结果趋近于1;如果a_i>>b_i:那么公式结果趋近于-1.
结论:如果b_i>>a_i:趋近于1效果越好,b_i<<a_i:趋近于-1,效果不好。轮廓系数的值是介于[-1,1],越趋近于1代表内聚度和分离度都相对较优。
轮廓系数API:
Sklearn.metrics.silhouette_score(X.labels)
计算所有样本的平均轮廓系数
X:特征值
Labels:被聚类标记的目标值
K-means总结:
特点分析:采用迭代式算法,直观易懂并且实用
缺点:容易收敛局部最优解(多次聚类)
注:聚类一般做在分类前
应用场景:没有目标值,分类
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。