一、机器学习以及scikit-learn

  1. 机器学习基本步骤:

    (1)定义一系列函数  =>   (2)定义函数的优劣  =>  (3)选择最优函数

  2.什么是scikit-learn?

    (1)面向python的免费机器学习库

    (2)包含分类、回归、聚类算法,比如:SVM、随机森林、k-means等

    (3)包含降维、模型选择、预处理等算法

    (4)支持Numpy和Scipy数据结构

    (5)用户

    (6)安装:pip install scikit-learn

        pip install scikit-learn

   3.上手:

    (1)加载数据集

      iris

      digits

    (2)在训练集上训练模型

      svm模型

      .fit()训练模型

    (3)在测试集上测试模型

      .predict()进行预测

    (4)保存模型

      .pickle.dumps()

   4.使用scikit-learn的流程

      准备数据集===》选择模型===》训练模型===》测试数据

      数据处理    根据任务选择  根据经验  预测

      特征工程    模型      设动参数  识别

      训练集、    分类模型    交叉验证

      测试集分割   回归模型    确定最优参数

              聚类模型

   5.准备数据集:

    (1)数据准备:

        数据集格式

        二维数组,形状(n_samples,n_features),行数是样本的个数,列数是特征的个数

        使用np.reshape()转换数据集的形状

    (2)特征工程

        特征提取,如图片的特征提取

        特征归一化(normalization),

    (3)train_test_split()分割训练集、测试集

      分类、回归、聚类

      训练模型

       (4)训练模型

      Estimator对象

      从训练数据学习得到的

      可以是分类算法、回归算法或者是特征提取算法

      fit方法用于训练Estimator

      Estimator的参数可以训练前初始化,或者之后更新

      get_params()返回之前定义的参数

      score()对Estimator进行评分

        回归模型:使用“决定系数”评分(Coefficient of Determination)

        分类模型:使用“准确率”评分(accuracy)训练误差  

    6.调整参数

      (1)依靠经验

      (2)依靠实验、交叉验证cv(cross validation)

      

二、机器学习:问题描述

  1.“学习”问题通常包含n个样本数据(训练样本),然后预测未知数据(测试样本)的属性

  2.每个样本包含多个属性(多维数据)被称作“特征”,特征的归一化,将数据范围缩放,缩放进入同一个范围。

  当两个特征的范围不一样的时候,θ1是房屋大小,θ2是卧室个数,当两个值不一样的时候,学习出来的可能是下面作图所示的椭圆形状,如右图所示做归一化,直接进行缩放操作,在scikit_learn中做归一化的操作是:preprocessing.scale

  

  3.分类:

    (1)监督学习,训练样本包含对应的标签,“如识别问题”

        分类问题,样本标签属于两个或者多各类

        回归问题,样本标签包括一个或者多个连续变量

    (2)无监督学习,训练样本的属性不包含对应的“标签”,如聚类问题

    (3)训练集vs验证集vs测试集

    

    

    在没有生产的阶段,没有新的数据,通常会将原始数据集分为三部分:训练集、测试集和验证集,训练集用来训练模型,验证集用来选择最佳模型,调整参数,测试集用来测试模型

    

机器学习及scikit-learn的更多相关文章

  1. 机器学习框架Scikit Learn的学习

    一   安装 安装pip 代码如下:# wget "https://pypi.python.org/packages/source/p/pip/pip-1.5.4.tar.gz#md5=83 ...

  2. Scikit Learn: 在python中机器学习

    转自:http://my.oschina.net/u/175377/blog/84420#OSC_h2_23 Scikit Learn: 在python中机器学习 Warning 警告:有些没能理解的 ...

  3. (原创)(三)机器学习笔记之Scikit Learn的线性回归模型初探

    一.Scikit Learn中使用estimator三部曲 1. 构造estimator 2. 训练模型:fit 3. 利用模型进行预测:predict 二.模型评价 模型训练好后,度量模型拟合效果的 ...

  4. (原创)(四)机器学习笔记之Scikit Learn的Logistic回归初探

    目录 5.3 使用LogisticRegressionCV进行正则化的 Logistic Regression 参数调优 一.Scikit Learn中有关logistics回归函数的介绍 1. 交叉 ...

  5. scikit learn 模块 调参 pipeline+girdsearch 数据举例:文档分类 (python代码)

    scikit learn 模块 调参 pipeline+girdsearch 数据举例:文档分类数据集 fetch_20newsgroups #-*- coding: UTF-8 -*- import ...

  6. Scikit Learn

    Scikit Learn Scikit-Learn简称sklearn,基于 Python 语言的,简单高效的数据挖掘和数据分析工具,建立在 NumPy,SciPy 和 matplotlib 上.

  7. 机器学习-scikit learn学习笔记

    scikit-learn官网:http://scikit-learn.org/stable/ 通常情况下,一个学习问题会包含一组学习样本数据,计算机通过对样本数据的学习,尝试对未知数据进行预测. 学习 ...

  8. Query意图分析:记一次完整的机器学习过程(scikit learn library学习笔记)

    所谓学习问题,是指观察由n个样本组成的集合,并根据这些数据来预测未知数据的性质. 学习任务(一个二分类问题): 区分一个普通的互联网检索Query是否具有某个垂直领域的意图.假设现在有一个O2O领域的 ...

  9. Python第三方库(模块)"scikit learn"以及其他库的安装

    scikit-learn是一个用于机器学习的 Python 模块. 其主页:http://scikit-learn.org/stable/. GitHub地址: https://github.com/ ...

  10. Linear Regression with Scikit Learn

    Before you read  This is a demo or practice about how to use Simple-Linear-Regression in scikit-lear ...

随机推荐

  1. git多人参与的项目 -> 分支代码如何合并到主干

    个人理解:合并分支时候就是当前分支,与别的分支先合并一遍,然后解决分支中存在的所有冲突,之后将本地分支代码提交到git远程仓库,之后切换主干分支 ,将主干分支与分支内容合并,解决冲突, 在提交主干分支 ...

  2. js中filter过滤用法总结

    定义和用法 filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素. 注意: filter() 不会对空数组进行检测. 注意: filter() 不会改变原始数组 ...

  3. js关闭当前页面(窗口)的几种方式

    1. 不带任何提示关闭窗口的js代码  代码如下: <a href="javascript:window.opener=null;window.open('','_self');win ...

  4. SpringMvc@RequestParam 来映射请求参数

    jsp页面 <a href="springmvc/testRequestParam?username=atguigu&age=11">Test RequestP ...

  5. 快读模板&&快出模板

    inline int read() { ,b=; char c=getchar(); ') { if(c=='-') b=-; c=getchar(); } ') { a=(a<<)+(a ...

  6. ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture Design

    1. 摘要 最近,神经网络的架构设计都是基于计算复杂度的间接度量,比如 FLOPs.然而,直接的度量比如运行速度,其实也会依赖于内存访问和平台特性等其它因素. 因此本文建议直接在目标平台上用直接度量进 ...

  7. django写原生sql语句

    执行自定义SQL语言: from django.db import connection ​ cursor=connection.cursor() ​ # 插入操作 cursor.execute(&q ...

  8. ControlTemplate in WPF —— RadioButton

    <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" x ...

  9. Fiddler抓取APP接口

    1.获取本机IP地址 2.打开手机设置无线连接(需要和电脑在同一局域网) 长按wifi连接修改无线连接 打开高级选项,设置主机名和端口后保存 3.设置Fiddler 从下图可以看出,抓到的全是HTTP ...

  10. Message的定义類型

    SAP通过Message来回执程序的执行状态.使用Tcode:SE91. SAP將Message分为不同的类,如下图显示为ZF环境下ZMM01类相关Message列表. Message short t ...