逻辑回归是属于线性回归模型的具体形式的另一种形式,但是是用来做分类任务的;分类任务的目标是找一个函数,把观测值匹配到相关的类和标签上
(一)二元分类
预测类型 :spam. 信息:Were gonna go get some tacos预测类型 :ham. 信息:And smile for me right now as you go and the world will wonder what you are smiling about and think your crazy and keep away from you ... *grins*预测类型 :ham. 信息:Just got outta class gonna go gym.预测类型 :ham. 信息:URGENT This is our 2nd attempt to contact U. Your £900 prize from YESTERDAY is still awaiting collection. To claim CALL NOW 09061702893预测类型 :ham. 信息:Boo I'm on my way to my moms. She's making tortilla soup. Yummmm
此处用的是UCI数据集中的垃圾分类数据,然后用TfidfVectorizer()来处理文集,创建特征向量;最后通过LogisticRegression实例,该实例也有fit和transform方法
对于分类任务,评价指标就不能用最小二乘法了,可以用准确率、精确率、召回率、F1指标(精确率和召回率的调和平均)、ROC/AUC;
(二)多元分类
现实中有很多问题不只是分成两类,还可能分成多个类,这就成为多类分类问题;scikit_learn用one-vs.-all或one-vs.-the-rest实现多类分类,就是把多类中的每个类都作为二元分类处理。logisticRegression()通过one-vs.-all策略支持多类分类;
输出结果:ham 3956uncertain 1000spam 616Name: 0, dtype: int64
这里将1000个原有分类转化为了“uncertain”,现在这个数据集就由原来的二元分类变成了3元;
输出结果:
Fitting 3 folds for each of 24 candidates, totalling 72 fits
[Parallel(n_jobs=3)]: Done 44 tasks elapsed: 6.6s[Parallel(n_jobs=3)]: Done 72 out of 72 elapsed: 9.5s finished
最佳效果: 0.786
领取专属 10元无门槛券
私享最新 技术干货