机器学习基本库学习

前言

之前做过将近一年的python爬虫,python语言基础还是有的。眼下机器学习如日中天,项目中有用到机器学习对采集的内容进行分类的功能,闲暇之际学习一下相关的库,以期待money++

简介

  • numpy
    python科学计算基础库
  • matplotlib
    Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形
  • pandas
    python数据分析库

NumPy基本知识点

数组输出设置

set_printoptions(precision=None, threshold=None, edgeitems=None, linewidth=None, suppress=None, nanstr=None, infstr=None, formatter=None)

  • precision 输出浮点数精度设置,默认为8
  • threshold 触发输出总结的阈值,可以设置为np.inf全部打印出来

切片 来源

  • python序列切片地址可以写为[开始:结束:步长],其中的开始、结束和步长都可以省略

    • range(10) =>[0,1,2,3,4,5,6,7,8,9]
    • 开始start省略时,默认从第0项开始 range(10)[:10:2] => [0,2,4,6,8]
    • 结尾省略的时候,默认到数组最后 range(10)[1::2] => [1,3,5,7,9]
    • 开始和结尾不省略的时候,step缺省为1 range(10)[2:6:] => [2,3,4,5]
    • 步长step=n;代表从start开始(start也算)每隔step间隔,取一个数,一直到结尾end range(20)[::3] => [0,3,6,9,12,15,18]
    • 当step等于负数的时候,从右向左取数 range(10)[::-1] => [9,8,7,6,5,4,3,2,1,0]; range(10)[::-2] => [9,7,5,3,1]
    • a[start:end]:取得范围为[start,end)
    • a[:end]:取得范围为[0,end)
    • a[start:]:取得范围为从start到最后(包括最后)
    • 多维切片

      In [1]: import numpy as npIn [2]: a = np.arange(25).reshape((5,5))In [3]: a
      Out[3]: 
      array([[ 0,  1,  2,  3,  4],[ 5,  6,  7,  8,  9],[10, 11, 12, 13, 14],[15, 16, 17, 18, 19],[20, 21, 22, 23, 24]])# 各个维度分别取,冒号表示取这个维度的所有In [4]: a[:,2:5]
      Out[4]: 
      array([[ 2,  3,  4],[ 7,  8,  9],[12, 13, 14],[17, 18, 19],[22, 23, 24]])In [5]: a[:, None].shape
      Out[5]: (5, 1, 5)# None代表新增加一个维度,它有一个别称叫newaxis, None放在哪一维,就会在哪一维上出现新的维度In [6]: a[:, None]
      Out[6]: 
      array([[[ 0,  1,  2,  3,  4]],      [[ 5,  6,  7,  8,  9]],      [[10, 11, 12, 13, 14]],      [[15, 16, 17, 18, 19]],      [[20, 21, 22, 23, 24]]])
      In [7]: a[:,:, None].shape
      Out[7]: (5, 5, 1)In [8]: a[..., None].shape
      Out[8]: (5, 5, 1)

      The dots (…) represent as many colons as needed to produce a complete indexing tuple. For example, if x is a rank 5 array (i.e., it has 5 axes), then

      • x[1,2,…] is equivalent to x[1,2,:,:,:],
      • x[…,3] to x[:,:,:,:,3]
      • x[4,…,5,:] to x[4,:,:,5,:].
      >>> c = np.array( [[[  0,  1,  2],               # a 3D array (two stacked 2D arrays)
      ...                 [ 10, 12, 13]],
      ...                [[100,101,102],
      ...                 [110,112,113]]])
      >>> c.shape
      (2, 2, 3)
      >>> c[1,...]                                   # same as c[1,:,:] or c[1]
      array([[100, 101, 102],[110, 112, 113]])
      >>> c[...,2]                                   # same as c[:,:,2]
      array([[  2,  13],[102, 113]])

测试安装

import matplotlib.pyplot as plt
import numpy as npX = np.linspace(-np.pi,np.pi,256,endpoint=True)
(C,S)=np.cos(X),np.sin(X)#这里用到了Matplotlib和numpy模块,linspace在(−π,π)之间分成共256个小段,
#并把这256个值赋予X。C,S分别是cosine和sine值(X,C,S都是numpy数组)
plt.plot(X,C)
plt.plot(X,S)#进行显示
plt.show()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/508650.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

unixODBC的使用

unixODBC介绍 unixODBC is a complete, free/open, ODBC solution for UNIX/Linux. 官网 http://www.unixodbc.org/源码下载url ftp://ftp.unixodbc.org/pub/unixODBC/ unixODBC版本目前有两套,soname为libodbc.so.1与soname为libodbc.so.2 对于使用libodbc.so.…

Jupyter notebook应用总结

简介 Jupyter Notebook 是一个交互式笔记本程序, 其有丰富的快捷键来便捷的完成工作。Notebook 有两种键盘输入模式。即命令模式和编辑模式,这与 Vim 有些类似。在编辑模式下,可以往单元中键入代码或文本,此时单元格被绿色的框线包围&#x…

opencv常用函数

给源图像增加边界 cv2.copyMakeBorder(src,top, bottom, left, right ,borderType,value) src:源图像top,bottem,left,right: 分别表示四个方向上边界的长度 borderType: 边界的类型BORDER_REFLICATE  # 直接用边界的颜色填充, aaaaaa | abcdefg | ggggBORDER_RE…

【TensorFlow】稀疏矢量

官方Document: https://tensorflow.google.cn/api_guides/python/sparse_ops开发测试环境: Win10Python 3.6.4tensorflow-gpu 1.6.0 SparseTensor与SparseTensorValue的理解 SparseTensor(indices, values, dense_shape) 稀疏矢量的表示 indices shape为[N, ndims]的2-D i…

【Numpy】array操作总结

官方Document: https://www.numpy.org/devdocs/reference/routines.array-manipulation.html开发测试环境 Win10Python 3.6.4NumPy 1.14.2 Basic operations 函数原型作用[copyto](dst, src[, casting, where])Copies values from one array to another, broadcasting as nec…

【TensorFlow】conv2d函数参数解释以及padding理解

卷积conv2d CNN在深度学习中有着举足轻重的地位,主要用于特征提取。在TensorFlow中涉及的函数是tf.nn.conv2d。 tf.nn.conv2d(input, filter, strides, padding, use_cudnn_on_gpuTrue, data_format“NHWC”, dilations[1, 1, 1, 1], nameNone) input 代表做卷积的…

卷积与傅立叶变换

一、卷积 1、一维的卷积 连续: 在泛函分析中,卷积是通过两个函数f(x)f(x)和g(x)g(x)生成第三个函数的一种算子,它代表的意义是:两个函数中的一个(我取g(x)g(x),可以任意取)函数,把g(x)g(x)经过翻转平移,…

海明纠错码工作原理

海明纠错码 海明码(Hamming Code)是一个可以有多个校验位,具有检测并纠正一位错误代码的纠错码,所以它也仅用于信道特性比较好的环境中,如以太局域网中,因为如果信道特性不好的情况下,出现的错…

OpenCV-Python bindings是如何生成的(1)

翻译自How OpenCV-Python Bindings Works? 目标 学习 OpenCV-Python bindings是如何生成的如何为Python扩展新的opencv模块 OpenCV-Python bindings是如何生成的 在OpenCV里,所有算法都是用C实现的。但是这些算法可以在别的语言里使用,比如Python&…

OpenCV-Python bindings是如何生成的(2)

OpenCV-Python bindings生成流程 通过上篇文章和opencv python模块中的CMakeLists.txt文件,可以了解到opencv-python bindings生成的整个流程: 生成headers.txt文件 将每个模块的头文件添加到list中,通过一些关键词过滤掉一些不需要扩展的头文件&#x…

【TensorFlow】学习资源汇总以及知识总结

官方资源 官方网站 https://tensorflow.org 非翻墙神器不能访问也(关键是我用了翻墙神器也没能访问)伪官方网站 https://tensorflow.google.cn/ 墙内的人可以查阅的资料github https://github.com/tensorflow/tensorflow官方提供的models以及tutorial h…

机器学习资源锦集

http://www.cnblogs.com/pinard 十年码农,对数学统计学,数据挖掘,机器学习,大数据平台,大数据平台应用开发,大数据可视化感兴趣。github 深度学习 【深度学习】批归一化(Batch Normalization&…

获取训练数据的方式

下载搜狗词库 https://pinyin.sogou.com/dict/ 在官网搜索相关的词库下载,比如地名等,然后使用脚本将此条转换成txt保存, 来源 # -*- coding: utf-8 -*- import os import sys import struct # 主要两部分 # 1.全局拼音表,貌似…

浅谈python MRO与Mixin模式

MRO(Method Resolution Order) In object-oriented programming languages with multiple inheritance, the diamond problem (sometimes referred to as the “deadly diamond of death”) is an ambiguity that arises when two classes B and C inherit from A, and class D…

CentOS7开发环境搭建(2)

关闭SELinux # 查看 $ getenforce Disabled $ sestatus SELinux status: enabled SELinuxfs mount: /sys/fs/selinux SELinux root directory: /etc/selinux Loaded policy name: targeted Current mode: …

IntelliJ IDEA开发环境应用

安装 下载windows压缩包获取帮助: idea.medeming.com/jihuoma 常用设置 全局设置,对新建的工程生效 【File】【Other Settings】【Setings for New Projects…】 比如配置maven的路径以及配置文件的路径,基本设置一次即可,不需要每次新建工…

tcp状态机-三次握手-四次挥手以及常见面试题

TCP状态机介绍 在网络协议栈中,目前只有TCP提供了一种面向连接的可靠性数据传输。而可靠性,无非就是保证,我发给你的,你一定要收到。确保中间的通信过程中,不会丢失数据和乱序。在TCP保证可靠性数据传输的实现来看&am…

Visual studio Code的C/C++开发环境搭建

文章目录VS CodeC/C环境配置环境准备使用实例基于 VSCode 的远程开发平台环境准备参考VS Code Visual Studio Code(简称VS Code)是一个由微软开发,同时支持Windows 、 Linux和macOS等操作系统且开放源代码的代码编辑器,它支持测试…

Linux网络编程--文件描述符

文件描述符 在Unix和Unix-like操作系统中,文件描述符(file descriptor, FD)是一个文件或者像pipe或者network socket等之类的输入/输出源的唯一标识。 文件描述符通常是一个非负整数,负数通常代表无值或者错误。 文件描述符是POSIX API的一部分。每个除…

深信服 linux软件开发面试题整理

1、结构体可以进行比较 int memcmp ( const void * ptr1, const void * ptr2, size_t num ); Compare two blocks of memory Compares the first num bytes of the block of memory pointed by ptr1 to the first num bytes pointed by ptr2, returning zero if they all match…