【机器学习实战】——常见函数积累

目录

第二章 k近邻算法

1、array.sum(axies = 1) :

2、array.argsort(axies=0/1)

3、array.tile(mat,(m,n))

4、dict.get(key,value)

5、sorted函数

6、string.strip()函数

7、string.split()

8、scatter()函数

9、min()&max()

10、enumerate(s,0/1)

11、np.where()

12、zip()函数,压缩数据

13、*list——解压

14、round(float类型的数,保留小数的位数)——保留指定位数的小数

第十章 聚类算法

1、nonzero()函数

解释

2、matrix.A

3.add_axes()新增子区域


第二章 k近邻算法

1、array.sum(axies = 1) :

返回数组行向量和组成的数组

2、array.argsort(axies=0/1)

https://blog.csdn.net/Python798/article/details/81138040

返回返回的是数组值从小到大的索引值

axies = 0:按列排序

axies = 1:按行排列

3、array.tile(mat,(m,n))

https://www.jianshu.com/p/9519f1984c70

复制功能,将数组mat横向复制m个,纵向复制n个

4、dict.get(key,value)

根据键名称来获得在字典dictionary中对应的值,若在dict中不存在该键key,则返回指定的value值,注意这不会改变原始字典,即不会将不存在的key添加到字典中去

a = {1:2,3:1}
print(a.get(1,999))
print(a.get(4,12))
print(a)2#key存在返回值
12#key不存在返回指定的value
{1: 2, 3: 1}#不改变原始字典的键值对

以下方式会改变原始字典的键值对:

a = {1:2,3:1}
key = "jjj"
print(a)
a[key] = a.get(key,0)
print(a){1: 2, 3: 1}
{1: 2, 3: 1, 'jjj': 0}

5、sorted函数

根据一定的规则(升序or降序)对指定维度(这里通过operator来指定)进行排序

sorted(classCount.items(),#获得所有的键值对,以元组的形式存在,元组存放在一个列表中key = operator.itemgetter(1),#对第二个元素进行排序reverse = True)#True表示从大到小进行排序

6、string.strip()函数

去掉字符串首尾空格

7、string.split()

按照指定的划分规则将字符串划分成一个个元素组成一个列表

8、scatter()函数

https://blog.csdn.net/TeFuirnever/article/details/88944438?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param

    plt.scatter(returnmat[:,0],returnmat[:,1],15*np.array(classLabelVector),#指的是标记的大小15*np.array(classLabelVector))#表示的是颜色的值

9、min()&max()

返回最值

array.min(n)

当n=0时,返回的是每一列的最小值组成的列表,当n=1,返回的是每一行的最小值组成的列表

对于max来说同理

10、enumerate(s,0/1)

https://www.cnblogs.com/tylf-lk/p/10133489.html

返回的是一个元组,(index,value),索引号和值组成的元组

for  i in enumerate(s,1):print(i)

11、np.where()

https://www.cnblogs.com/massquantity/p/8908859.html

根据一定的筛选条件返回数值

12、zip()函数,压缩数据

https://blog.csdn.net/Trent1985/article/details/77096683

将多个序列的相同位置的元素组合成一个元组,最后变成一个列表返回

注意:这里zip所接受的多个序列的维度必须是一致的,各维度的·长度也必须是一样的,否则无法进行配对

from numpy import array
from numpy import int64
loc = (array([180, 180, 181, 181, 236, 236, 236, 236, 237, 237, 237, 237, 238,238, 238, 238], dtype=int64), array([580, 581, 580, 581, 566, 567, 568, 569, 566, 567, 568, 569, 566,567, 568, 569], dtype=int64))loc_ = loc[::-1]#反向进行取值
print(*loc_)
for i in (zip(*loc_)):print(i)'''
[580 581 580 581 566 567 568 569 566 567 568 569 566 567 568 569] [180 180 181 181 236 236 236 236 237 237 237 237 238 238 238 238]
(580, 180)
(581, 180)
(580, 181)
(581, 181)
(566, 236)
(567, 236)
(568, 236)
(569, 236)
(566, 237)
(567, 237)
(568, 237)
(569, 237)
(566, 238)
(567, 238)
(568, 238)
(569, 238)'''

13、*list——解压

将list中的元素独立开来,作为独立的参数

https://blog.csdn.net/hellenlee22/article/details/89740923

14、round(float类型的数,保留小数的位数)——保留指定位数的小数

第十章 聚类算法

1、nonzero()函数

解释

nonzero(a)

返回数组a中非零元素的索引值数组。

(1)只有a中非零元素才会有索引值,那些零值元素没有索引值;
(2)返回的索引值数组是一个2维tuple数组,该tuple数组中包含一维的array数组。其中,一维array向量的个数与a的维数是一致的。
(3)索引值数组的每一个array均是从一个维度上来描述其索引值。比如,如果a是一个二维数组,则索引值数组有两个array,第一个array从行维度来描述索引值;第二个array从列维度来描述索引值。
(4) 该np.transpose(np.nonzero(x))
函数能够描述出每一个非零元素在不同维度的索引值。
(5)通过a[nonzero(a)]得到所有a中的非零值

链接:https://blog.csdn.net/u013698770/article/details/54632047

2、matrix.A

将矩阵mat转换成数组adrray

https://blog.csdn.net/qq_41800366/article/details/87866932

3.add_axes()新增子区域

个人理解就是类似于photoshop中的图层一样,为图中图做准备

add_axes新增子区域

add_axes为新增子区域,该区域可以座落在figure内任意位置,且该区域可任意设置大小
可以用来做一些子图,图中图
考虑如下代码:
import numpy as np
import matplotlib.pyplot as plt

#新建figure
fig = plt.figure()
#定义数据
x = [1, 2, 3, 4, 5, 6, 7]
y = [1, 7, 15, 24, 30, 50, 55]

#新建区域ax1
#figure的百分比,从figure 10%的位置开始绘制, 宽高是figure的80%
left, bottom, width, height = 0.1, 0.1, 0.8, 0.8
#获得绘制的句柄
ax1 = fig.add_axes([left, bottom, width, height])
ax1.plot(x, y, ‘r’)
ax1.set_title(‘area1’)

#新增区域ax2,嵌套在ax1内,看一看图中图是什么样,这就是与subplot的区别
left, bottom, width, height = 0.2, 0.6, 0.25, 0.25
#获得绘制的句柄
ax2 = fig.add_axes([left, bottom, width, height])
ax2.plot(x,y, ‘b’)
ax2.set_title(‘area2’)
plt.show()

参考链接:https://blog.csdn.net/qq_41011336/article/details/83017101

import matplotlib.pyplot as plt
import numpy as np
import cv2fig = plt.figure()# 获得图像窗口句柄
rect0 = [0.1,0.1,0.8,0.8] # left, bottom, width, height
rect1 = [0.3,0.3,0.5,0.5] # left, bottom, width, height# 读取图片
img = plt.imread(r"E:\Portland.png")
img1 = plt.imread(r"E:\二分聚类结果.png")# 新增图层,在同一个图像窗口进行绘制,这是每一个图层的句柄
ax0 = fig.add_axes(rect0,label='ax0')
ax1 = fig.add_axes(rect1,label='ax1')# 显示图像
ax0.imshow(img)
ax1.imshow(img1)plt.show()

 

 

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

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

相关文章

安装oracle 11g 客户端,检查过程中报物理内存不足的解决

今早接到同事电话,说安装oracle 11g客户端的时候,在检查先决条件的时候,报错,说内存不足,但是本机的内存是2G,肯定够用:如图: 找了一圈,原来Oracle执行先决条件检查是依赖…

Codeforces Round #401 (Div. 2) D. Cloud of Hashtags

题目链接:D. Cloud of Hashtags 题意: 给你n个字符串,让你删后缀,使得这些字符串按字典序排列,要求是删除的后缀最少 题解: 由于n比较大,我们可以将全部的字符串存在一个数组里面,然…

史陶比尔机器人的 LLI (Low Level Interface)

史陶比尔机器人的 LLI (Low Level Interface) 史陶比尔机器人拥有 Low Level Interface (LLI)接口选项. 在CS8C控制器的时代,LLI 接口仍然可用。这是一个选项接口。.这是除了VAL3编程语言之外的替代操作系统。通过C程序替代你的程序。 这里的…

HALCON示例程序check_bottle_crate.hdev啤酒箱内酒瓶数检测

HALCON示例程序check_bottle_crate.hdev啤酒箱内酒瓶数检测 示例程序源码(加注释) 获取系统关于“空白区域储存的设置” get_system (‘store_empty_region’, StoreEmptyRegion)系统“空白区域储存”设置为 ‘false’ set_system (‘store_empty_regi…

单片机平台的最小偏差圆弧插补算法

在CNC机床的G代码中,最常见的有G0、G1、G2、G3代码,分别表示直线和圆弧插补,直线插补对于单片机来说,比较容易实现,只需要将位移增量转换为脉冲增量然后输出给步进电机就可以了,但对于圆弧插补,…

【转】JS跨域(ajax跨域、iframe跨域)解决方法及原理详解(jsonp)

这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据。只要协议、域名、端口有任何一个不同,都被当作是不同的域。 下表给出了相对http://store.…

Lua基本语法-lua与C#的交互(相当简单详细的例子)

lua脚本 与 C#的交互 本文提供全流程,中文翻译。Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例) 1Lua And C# —— Lua 和 C#的交互准备工作 2C# Create Lu…

漫谈程序员系列:千奇百怪的程序员

干开发时间长了,遇见好多好玩儿的程序员。 看看你躺枪了没。 博客之星评选,点击投我一票,谢谢。投过了也可以点哦,每天都可以投投一票。 留一手 有个哥们儿,在一合资公司做程序员,能力挺强,写…

SCARA机器人与 DELTA机器人

1、SCARA机器人SCARA(Selective Compliance Assembly Robot Arm,中文译名:选择顺应性装配机器手臂)是一种圆柱坐标型的特殊类型的工业机器人。1978年,日本山梨大学牧野洋发明SCARA,该机器人具有四个轴和四个…

一直以来都没直视的轮播-_-

一直以来做项目碰到轮播图我都是去网站上找现成插件拿来用,现成的插件1是省时间,拿来改改尺寸改改参数就能直接用,2是现在的插件确实很强大,对于我一个刚刚学习前端的人来说,牛人写的轮播我看懂也要花些功夫&#xff0…

HALCON示例程序circles.hdev边界轮廓的圆形拟合

HALCON示例程序circles.hdev边界轮廓的圆形拟合 小哥哥小姐姐觉得有用点个赞呗! 示例程序源码(加注释) 读入图片 read_image (Image, ‘double_circle’)窗口初始化 dev_close_window () get_image_size (Image, Width, Height) dev_open…

asp.net 微信企业号办公系统-流程设计--保存与发布

如果流程未设计完时可以先保存,以后再打开接着设计。点击工具栏上的保存按钮即可保存当前流程设计: 如果下次要接着设计,则可以打开该流程继续设计: 如果流程设计完成,可以点击安装按钮来发布流程,流程安装成功后即加入…

Canny边缘检测算法原理及其VC实现详解(二)

3、 Canny算法的实现流程 由于本文主要目的在于学习和实现算法,而对于图像读取、视频获取等内容不进行阐述。因此选用OpenCV算法库作为其他功能的实现途径(关于OpenCV的使用,作者将另文表述)。首先展现本文将要处理的彩色图片。 …

IDEA注册jar包使用和常用插件

IDEA注册jar包使用 点击获取下载地址或生成注册码 一、安装完成后,先不启动,首先如下图修改相关的地方。 二、启动IDEA,并且激活IDEA IDEA插件仓库 IntelliJ IDEA Plugins 一、Maven Helper 我一般用这款插件来查看maven的依赖树。在不使用此…

Android Monkey压力测试

一. JAVA环境的搭建 安装jdk-8u151-windows-x64,可以到官网或者应用中心下载.JAVA环境变量的搭建: 在"我的电脑"-"属性"-"高级"-"环境变量"中,点击新建,填写变量名为JAVA_HOME,变量值为JAVA安装的路径.在系统变量中找到Path,点击编辑,…

bzoj 4517: [Sdoi2016]排列计数

4517: [Sdoi2016]排列计数 Time Limit: 60 Sec Memory Limit: 128 MBSubmit: 637 Solved: 396[Submit][Status][Discuss]Description 求有多少种长度为 n 的序列 A,满足以下条件:1 ~ n 这 n 个数在序列中各出现了一次若第 i 个数 A[i] 的值为 i&#x…

自制反汇编逆向分析工具 迭代第六版本 (五)

本工具从最初版的跳转分布图只为了更直观地分析反汇编代码的分支结构,第三版开始对直观图进行逆向分支代码的输出,第四版对分支输出策略的一些探索,第五版结合之前的探索进行改进。第六版在现在功能的基础上进行增强,利用第六版&a…

centos7搭建FTP服务器

1.   使用 yum 安装 vsftpd:yum install -y vsftpd 2.  启动 VSFTPD:systemctl start vsftpd.service 3.  启动后可监听到21端口:netstat -nltp | grep 21 4.  配置FTP权限:(vsftpd.conf,修改前先备…

教你如何剖析源码

一、源码阅读需求 在学习中,我们会需要了解,学习,使用一个框架,一个新的函数库。在工作中,因为业务需求,因为性能问题,可能通过一个更高性能的工具,架构去优化我们的程序。 那么&…

php调用API支付接口(转自刘68)

首先访问 https://charging.teegon.com/ 注册账号, 找到开发配置 记下client_id和client_secret。 点击 天工开放平台 点击天工收银 点击 SDK下载与使用 选择php版下载 解压后获得 打开form.php这个是样板文件可以用它来测试是否成功,测试前需要先修…