在《python机器学习及实践》一书的学习中,小豆桑发现似乎一些学习算法由于要调用库,会有类似的过程,于是记录下来,以便时间长后的查阅。

1. 数据预处理
这是一个非常复杂的过程,实际应用中可能大量时间都用在数据收集清理上。
此处简单举例,使用pandas来读取数据。
Read CSV (comma-separated) file into DataFrame
把以逗号分隔的数据读入数据列表
data = pandas.read_csv(‘https://archive.ics.uci.edu/m1/machine-learning-databases/breast-cancer-wisconsin/breast-cancer-wisconsin.data’,names=column_names)
至此,数据就成为了一个矩阵。

2. 准备测试和训练数据
在这个过程中,通常包括数据的标准化、测试数据和训练的随机采样。
sklearn中的train_test_split函数用于将矩阵随机划分为训练子集和测试子集,并返回划分好的训练集测试集样本和训练集测试集标签。
格式:
X_train,X_test, y_train, y_test =cross_validation.train_test_split(train_data,train_target,test_size=0.3, random_state=0)
参数解释:
train_data:被划分的样本特征集
train_target:被划分的样本标签
test_size:如果是浮点数,在0-1之间,表示样本占比;如果是整数的话就是样本的数量
random_state:是随机数的种子。
随机数种子:其实就是该组随机数的编号,在需要重复试验的时候,保证得到一组一样的随机数。比如你每次都填1,其他参数一样的情况下你得到的随机数组是一样的。但填0或不填,每次都会不一样。
随机数的产生取决于种子,随机数和种子之间的关系遵从以下两个规则:
种子不同,产生不同的随机数;种子相同,即使实例不同也产生相同的随机数。

from sklearn.linear_model import StandardScaler
ss = StandardScaler()
x_train = ss.fit_transform(x_train)

3. 调用分类模型进行预测
这里以线型分类器来举例,也可以替换成其他分类器。
lr = LogisticRegression()
lr.fit(x_train,y_train)
y_predict = lr.predict(x_test)

4. 性能分析
1)使用模型自身具有的评分函数来分析。
lr.score(x_test, y_test)
2)利用classification_report模块
classification_report(y_test, y_predict,target_name=['Benign', 'Malignant'])
该函数对于初学的小豆桑来说还是略微有些复杂,于是特此说明如下:
召回率和精确率表现情况的衡量
>>> from sklearn.metrics import classification_report
>>> y_true = [0, 1, 2, 2, 2]
>>> y_pred = [0, 0, 2, 2, 1]
>>> target_names = ['class 0', 'class 1', 'class 2']
>>> print(classification_report(y_true, y_pred, target_names=target_names))
             precision recall f1-score support

class 0 0.50 1.00 0.67 1
    class 1 0.00 0.00 0.00 1
    class 2 1.00 0.67 0.80 3

avg / total 0.70 0.60 0.61 5

对准确率、精确率、召回率的解释
假如某个班级有男生80人,女生20人,共计100人.目标是找出所有女生.
现在某人挑选出50个人,其中20人是女生,另外还错误的把30个男生也当作女生挑选出来了.

-----------------------------------------分割线,此处举例借用当时看到一篇博客的例子,但是一时没有记起来是哪篇,等记起来了再说T-T-------------------------

准确率:分正确的人数占总人数的比例
精确率:分辨为女生中是真女生的比例
召回率:真女生中被分辨出来的比例
F1值就是精确率和召回率的调和平均值
F1越大越好

调用sklearn库--分类学习相关推荐

  1. Python机器学习笔记:sklearn库的学习

    自2007年发布以来,scikit-learn已经成为Python重要的机器学习库了,scikit-learn简称sklearn,支持包括分类,回归,降维和聚类四大机器学习算法.还包括了特征提取,数据 ...

  2. 每天进步一点点《ML - Sklearn库简单学习》

    一:Sklearn介绍 Sklearn是一个强大的机器学习库,基于python的.官方文档(http://scikit-learn.org/stable/ ).如下列举部分的使用场景. 由图中,可以看 ...

  3. 【Python-ML】SKlearn库集成学习器Boosting

    # -*- coding: utf-8 -*- ''' Created on 2018年1月19日@author: Jason.F @summary: Boosting,无放回抽样,串行训练基学习器, ...

  4. 【Python-ML】SKlearn库集成学习器Bagging

    # -*- coding: utf-8 -*- ''' Created on 2018年1月19日@author: Jason.F @summary: Bagging,通过bootstrap样本构建集 ...

  5. android调用日历库,Android学习教程之日历库使用(15)

    本教程为大家分享了Android日历库的使用方法,供大家参考,具体内容如下 MainActivity.java代码: package siso.weekv; import android.conten ...

  6. K-Means聚类及调用sklearn库代码实现

    K-Means聚类又叫做K均值聚类,即将n个样本分到k个类中,每个样本到其所属类的中心的距离最小.由于每个样本只能属于一个类,因此也是属于一种硬聚类. 基本原理: 输入k值,代表将总样本分到k个类中. ...

  7. sklearn库的学习入门

    参考: https://blog.csdn.net/u014248127/article/details/78885180

  8. Python Sklearn库源码学习--kmeans

    前言: 分析体检数据希望不拘泥于Sklearn库中已有的聚类算法,想着改一下Kmeans算法.本着学习的目的,现在开始查看sklearn的源代码.希望能够写成一个通用的包. 有必要先交代一下我使用的p ...

  9. sklearn库中的标准数据集及基本功能

    [sklearn库] sklearn是scikit-learn的简称,是一个基于Python的第三方模块.sklearn库集成了一些常用的机器学习方法,在进行机器学习任务是,并不需要实现算法,只需要简 ...

  10. (1-4)sklearn库的----模型评估

    5,模型评估与选择 务必记住那些指标适合分类,那些适合回归. 一,分类问题 常见的分类模型包括:逻辑回归.决策树.朴素贝叶斯.SVM.神经网络等, 分类的模型评估指标包括以下几种: 1.TPR.FPR ...

最新文章

  1. 【CV】10种轻量级人脸检测算法大PK | 代码集合开源
  2. python3在线-荐python3在线编程输入输出总结
  3. 病症:arm启动后应用程序界面显示…
  4. Python-面向对象的编程语言
  5. VTK:图像平移范围用法实战
  6. 创建订单 - 保存订单与子订单数据
  7. 不仅性能秒杀Hadoop,现在连分布式集群功能也开源了
  8. 指定查找区间,查找学生姓名并显示是否修改成功
  9. 8、路由 router
  10. 鼠标移动到ul图片会摆动_我们可以从摆动时序分析中学到的三件事
  11. 验证码一(验证码生成)
  12. 力扣977,有序数组的平方(JavaScript)
  13. Can't use Subversion command line client:svn
  14. windows服务启动tomcat内存溢出问题解决方案
  15. 国产快速启动软件ALTRun推荐
  16. java redo_redo和undo区别讨论
  17. 百度js推送没法用了?帝国CMS结合百度API推送方法来了
  18. 机器视觉中的常用打光方式(明场照明,暗场照明)
  19. 智能卡java_Java智能卡发送命令
  20. IOS实现应用内打开第三方地图app进行导航

热门文章

  1. python基础--面向对象之继承
  2. python基础--字典
  3. 如何进行用户访谈更容易获得全面而有效的信息
  4. 神秘的Windows7 Send To
  5. 【第1章】初识MySQL
  6. androidstudio can't run git.exe
  7. 中国程序员不得不使用的php框架,堪称不得已?
  8. 这一刻只想好好做个平凡的人
  9. SpringCloud微服务(01):Eureka组件,管理服务注册与发现
  10. 【非原创】codeforces 1070C Cloud Computing 【线段树树状数组】