Python机器学习sklearn模块-逻辑回归

逻辑回归是属于线性回归模型的具体形式的另一种形式,但是是用来做分类任务的;分类任务的目标是找一个函数,把观测值匹配到相关的类和标签上

(一)二元分类

预测类型 :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

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180123G05FPL00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券