caffe笔记之例程学习(二)

Classification with HDF5 data

1.导入库

 1 import os
 2 import h5py
 3 import shutil
 4 import sklearn
 5 import tempfile
 6 import numpy as np
 7 import pandas as pd
 8 import sklearn.datasets
 9 import sklearn.linear_model
10 import matplotlib.pyplot as plt
11 %matplotlib inline

2.产生数据

sklearn.datasets.make_classification产生测试数据。10000组数据,特征向量维数为4。sklearn.cross_validation.train_test_split为交叉验证。就是把data拆分为不同的train set和test set。这里拆分为7500:2500
1 X, y = sklearn.datasets.make_classification(
2     n_samples=10000, n_features=4, n_redundant=0, n_informative=2,
3     n_clusters_per_class=2, hypercube=False, random_state=0
4 )
5
6 # Split into train and test
7 X, Xt, y, yt = sklearn.cross_validation.train_test_split(X, y)

3.数据可视化

1 # Visualize sample of the data
2 # np.random.permutation产生序列或随机交换序列
3 # X.shape=7500
4 # 在此产生0-7499乱序序列并取前1000
5 ind = np.random.permutation(X.shape[0])[:1000]
6 df = pd.DataFrame(X[ind])
7 # 绘图 ‘kde‘核密度估计,‘hist‘直方图
8 _ = pd.scatter_matrix(df, figsize=(9, 9), diagonal=‘kde‘, marker=‘o‘, s=40, alpha=.4, c=y[ind])
pd.scatter_matrix函数说明

 1 def scatter_matrix(frame, alpha=0.5, figsize=None, ax=None, grid=False,
 2                    diagonal=‘hist‘, marker=‘.‘, density_kwds=None,
 3                    hist_kwds=None, range_padding=0.05, **kwds):
 4     """
 5     Draw a matrix of scatter plots.
 6
 7     Parameters
 8     ----------
 9     frame : DataFrame
10     alpha : float, optional
11         amount of transparency applied
12     figsize : (float,float), optional
13         a tuple (width, height) in inches
14     ax : Matplotlib axis object, optional
15     grid : bool, optional
16         setting this to True will show the grid
17     diagonal : {‘hist‘, ‘kde‘}
18         pick between ‘kde‘ and ‘hist‘ for
19         either Kernel Density Estimation or Histogram
20         plot in the diagonal
21     marker : str, optional
22         Matplotlib marker type, default ‘.‘
23     hist_kwds : other plotting keyword arguments
24         To be passed to hist function
25     density_kwds : other plotting keyword arguments
26         To be passed to kernel density estimate plot
27     range_padding : float, optional
28         relative extension of axis range in x and y
29         with respect to (x_max - x_min) or (y_max - y_min),
30         default 0.05
31     kwds : other plotting keyword arguments
32         To be passed to scatter function
33
34     Examples
35     --------
36     >>> df = DataFrame(np.random.randn(1000, 4), columns=[‘A‘,‘B‘,‘C‘,‘D‘])
37     >>> scatter_matrix(df, alpha=0.2)
38     """

4.

时间: 2024-10-14 05:36:51

caffe笔记之例程学习(二)的相关文章

caffe笔记之例程学习

学习notebook自带例程Classification with HDF5 data时遇到了一些问题,认真把模型文件看了一遍. 模型定义中有一点比较容易被误解,信号在有向图中是自下而上流动的,并不是自上而下. 层的结构定义如下: 1 name:层名称 2 type:层类型 3 top:出口 4 bottom:入口 Each layer type defines three critical computations: setup, forward, and backward. Setup: i

caffe笔记之例程学习(三)

原文链接:caffe.berkeleyvision.org/tutorial/layers.html 创建caffe模型,首先要在protocol buffer 定义文件(prototxt)中定义结构. 在caffe环境中,图像的明显特征是其空间结构. Convolution: Documents: 1 Parameters (ConvolutionParameter convolution_param) 2 3 Required 4 num_output (c_o): 输出数(filter数)

javasscript学习笔记 之 数组学习二 数组的所有方法

1.push() 和 pop()  栈的方法 后进先出 push() 该方法是向数组末尾添加一个或者多个元素,并返回新的长度. push()方法可以接收任意数量的参数,把它们逐个添加到数组的末尾,并返回修改后数组的长度 POP() 方法刚好和push()方法相反.pop()方法删除数组的最后一个元素,把数组的长度减1,并且返回它被删除元素的值,如果数组变为空,则该方法不改变数组,返回undefine值 unshift()添加元素 和 shift()删除元素  队列的方法 先进先出 unshift

Halcon学习笔记之支持向量机(二)

例程:classify_halogen_bulbs.hdev 在Halcon中模式匹配最成熟最常用的方式该署支持向量机了,在本例程中展示了使用支持向量机对卤素灯的质量检测方法.通过这个案例,相信大家可以对支持向量机的使用有一个更加清晰的了解.在相当多的检测和识别的应用中,都可以使用相同的方法来解决分类问题. 图1. 卤素灯图像 大致原理: 一.准备阶段:描述样本 1. 准备好两组卤素灯图像样本,好坏的各若干张图像: 2. 对样本图像进行分割,获取卤素灯关键部位区域: 3. 选择合适的对图像的描述

Object C学习笔记26-文件管理(二)

上一篇简单的介绍了如何获取文件属性,删除,拷贝文件等,本文继续记录Object C中文件IO操作. 一. 获取文件的执行主目录 在Object C中提供了一个方法 NSHomeDirectory() 用于获得执行执行的主目录,使用如下代码测试: NSString *homePath=NSHomeDirectory(); NSLog(@"执行文件的主目录:%@",homePath); 通过以上代码可以正确的输出应用程序的执行目录,上一张也提到了文件的目录问题,这个和Windows系统的有

马程序员学习笔记——红黑树解析二

---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ---------------------- 四.树中删除元素 1.先找到需要删除的元素. 2. 2.1如果被删元素没有子元素,那么直接用NIL节点代替他: 2.2如果被删元素只有一个子元素,那么直接用这个子元素代替他: 2.3如果被删元素有两个子元素,那么就用左子元素中的最大元素或者右子元素的最小元素代替他. 比如说原来要删除的元素是N,N有两个分支,其中P是N左分支中的最大元素,那么就

capwap学习笔记——初识capwap(二)

2.5.1 AC发现机制 WTP使用AC发现机制来得知哪些AC是可用的,决定最佳的AC来建立CAPWAP连接. WTP的发现过程是可选的.如果在WTP上静态配置了AC,那么WTP并不需要完成AC的发现过程. WTP首先发送一个 Discovery Request message给受限的广播地址,或者CAPWAP的多播地址(224.0.1.140),或者是预配置的AC的单播地址.在IPV6网络中,由于广播并不存在,因此使用"All ACs multicast address" (FF0X

Jquery Easy UI初步学习(二)datagrid的使用

第一篇学的是做一个管理的外框,接着就是数据datagrid绑定了,这里我用asp.net mvc3来做的,主要就是熟悉属性.方法. 打开easyui的demo 就可以看到如下一段代码: 和上篇一样class="easyui-datagrid", data-options="...",这是一样的,其他我在网上查了查,并做了整理 DataGrid 属性 参数名 类型 描述 默认值 title string Datagrid面板的标题 null iconCls strin

[Linux] 学习笔记之安装学习环境(sshd, lrzsz)

紧接前一篇,在VMWare安装完Linux,这个时候我们要使用远程工具连接到虚拟机上去了,以前一直使用Putty,后来到新公司之后,推荐使用SecureCRT,使用之后,觉得效果不错,但是每次连接都失败,linux新手伤不起,在网上搜啊搜,终于找到解决办法.   搜索了很多资料之后,发现是由于我未在Linux上安装ssh服务导致无法使用SecureCRT连接. 1. 可以使用ssh localhost对此进行测试,具体使用如下: 2. 使用apt-get或者yum安装ssh服务,具体哪种操作系统