① numpy中np.c_和np.r_

np.r_是按列连接两个矩阵,就是把两矩阵上下相加,要求列数相等,类似于pandas中的concat()。

np.c_是按行连接两个矩阵,就是把两矩阵左右相加,要求行数相等,类似于pandas中的merge()。

下面看一个例子:

import numpy as np
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
c = np.c_[a,b] print(np.r_[a,b])
print(c)
print(np.c_[c,a])

输出结果:

 [1 2 3 4 5 6]

 [[1 4]
[2 5]
[3 6]] [[1 4 1]
[2 5 2]
[3 6 3]]

注意:在numpy中,一个列表虽然是横着表示的,但它是列向量。

②numpy.random.randn()  以及类似函数

numpy.random.rand(d0,d1,…,dn)——and函数根据给定维度生成[0,1)之间的数据,包含0,不包含1,例如:

np.random.rand(4,2)

输出:

array([[ 0.02173903,  0.44376568],

   [ 0.25309942,  0.85259262],

   [ 0.56465709,  0.95135013],

   [ 0.14145746,  0.55389458]])

np.random.rand(4,3,2) # shape: 4*3*2

输出:

array([[[ 0.08256277,  0.11408276],
[ 0.11182496, 0.51452019],
[ 0.09731856, 0.18279204]], [[ 0.74637005, 0.76065562],
[ 0.32060311, 0.69410458],
[ 0.28890543, 0.68532579]], [[ 0.72110169, 0.52517524],
[ 0.32876607, 0.66632414],
[ 0.45762399, 0.49176764]], [[ 0.73886671, 0.81877121],
[ 0.03984658, 0.99454548],
[ 0.18205926, 0.99637823]]])

numpy.random.randn(d0,d1,…,dn)——randn函数返回一个或一组样本,具有标准正态分布。

np.random.randn() # 当没有参数时,返回单个数据

输出:

-1.1241580894939212

np.random.randn(2,4)

输出:

array([[ 0.27795239, -2.57882503,  0.3817649 ,  1.42367345],
       [-1.16724625, -0.22408299,  0.63006614, -0.41714538]])

注:标准正态分布又称为u分布,是以0为均值、以1为标准差的正态分布,记为N(0,1)

转载自:https://blog.csdn.net/u012149181/article/details/78913167

③numpy.linspace

numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)

在指定的间隔内返回均匀间隔的数字。

返回num均匀分布的样本,在[start, stop]。

这个区间的端点可以任意的被排除在外。

参数解释:

start:序列起始点

stop:序列结束点(endpoint为真时包括stop,为假时不包括)

(以下是可选参数)

num:生成的样本数,默认50

endpoint:为真时包括stop,为假时不包括

restep:为真时输出带有步长,为假时输出只有一个ndarry

例如:

In [4]: np.linspace(1, 10, 10, endpoint = False, retstep= True)
Out[4]: (array([ 1. ,  1.9,  2.8,  3.7,  4.6,  5.5,  6.4,  7.3,  8.2,  9.1]), 0.9)

dtype:输出的数组的类型

④numpy.zeros

zeros(shape, dtype=float, order='C')

返回来一个给定形状和类型的用0填充的数组;

参数解释:

shape:形状

dtype:数据类型,可选参数,默认numpy.float64

order:可选参数,c代表与c语言类似,行优先;F代表列优先

例如:

np.zeros(5)
array([ 0.,  0.,  0.,  0.,  0.])

np.zeros((5,), dtype=np.int)
array([0, 0, 0, 0, 0])

⑥matplotlib.pyplot里contour与contourf

contour和contourf都是画三维等高线图的,不同点在于contourf会对等高线间的区域进行填充,例如:(左:contour;右:contourf)

无论contour还是contourf,都是绘制三维图,其中前两个参数x和y为两个等长一维数组,第三个参数z为二维数组(表示平面点xi,yi映射的函数值)。
正是由于contourf可以填充等高线之间的空隙颜色,呈现出区域的分划状,所以很多分类机器学习模型的可视化常会借助其展现。
 
⑦plt.rcParams[]
pylot使用rc配置文件来自定义图形的各种默认属性,称之为rc配置或rc参数。通过rc参数可以修改默认的属性,包括窗体大小、每英寸的点数、线条宽度、颜色、样式、坐标轴、坐标和网络属性、文本、字体等。rc参数存储在字典变量中,通过字典的方式进行访问,例如:
plt.rcParams['savefig.dpi'] = 300 #图片像素
plt.rcParams['figure.dpi'] = 300 #分辨率
plt.rcParams['figure.figsize'] = (10, 10)        # 图像显示大小
plt.rcParams['image.interpolation'] = 'nearest'  # 最近邻差值: 像素为正方形
#Interpolation/resampling即插值,是一种图像处理方法,它可以为数码图像增加或减少象素的数目。
#某些数码相机运用插值的方法创造出象素比传感器实际能产生象素多的图像,或创造数码变焦产生的图像。实际上,几乎所有的图像处理软件支持一种或以上插值方法。图像放大后锯齿现象的强弱直接反映了图像处理器插值运算的成熟程度
plt.rcParams['image.cmap'] = 'gray'  # 使用灰度输出而不是彩色输出
plt.axis('off')    #打印图片的时候不显示坐标轴

⑧np.random.seed(0)

作用:使得随机数可预测

具体来讲:当我们设置相同的seed,每次生成的随机数相同。如果不设置seed,则每次会生成不同的随机数

例如:

 >>>> numpy.random.seed(0) ; numpy.random.rand(4)
array([ 0.55,  0.72,  0.6 ,  0.54])
>>> numpy.random.seed(0) ; numpy.random.rand(4)
array([ 0.55,  0.72,  0.6 ,  0.54])
 >>> numpy.random.rand(4)
array([ 0.42,  0.65,  0.44,  0.89])
>>> numpy.random.rand(4)
array([ 0.96,  0.38,  0.79,  0.53])

⑨plt.cm.Spectral

例如:

%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt np.random.seed(1) # 产生相同的随机数 X = np.random.randn(1, 10)
Y = np.random.randn(1, 10)
label = np.array([1,1,0,0,0,0,0,1,1,1])#####两种颜色 plt.scatter(X, Y, c = label, s = 180, cmap = plt.cm.Spectral);
这句代码plt.scatter(X, Y, c = label, s = 40, cmap = plt.cm.Spectral);中的cmap = plt.cm.Spectral是什么意思?
cmap = plt.cm.Spectral实现的功能是给label为1的点一种颜色,给label为0的点另一种颜色。
 
⑩ pandas dataframe添加列:
df=pd.DataFrame(columns=['A','B'],data=[[1,2],[3,4]])

#df
# A B
#0 1 2
#1 3 4 df['C']=None #df
# A B C
#0 1 2 None
#1 3 4 None

Python&机器学习总结(一)的更多相关文章

  1. 常用python机器学习库总结

    开始学习Python,之后渐渐成为我学习工作中的第一辅助脚本语言,虽然开发语言是Java,但平时的很多文本数据处理任务都交给了Python.这些年来,接触和使用了很多Python工具包,特别是在文本处 ...

  2. [Python] 机器学习库资料汇总

    声明:以下内容转载自平行宇宙. Python在科学计算领域,有两个重要的扩展模块:Numpy和Scipy.其中Numpy是一个用python实现的科学计算包.包括: 一个强大的N维数组对象Array: ...

  3. 【转】常见的python机器学习工具包比较

    http://algosolo.com/ 分析对比了常见的python机器学习工具包,包括: scikit-learn mlpy Modular toolkit for Data Processing ...

  4. python机器学习《回归 一》

    唠嗑唠嗑 依旧是每一次随便讲两句生活小事.表示最近有点懒,可能是快要考试的原因,外加这两天都有笔试和各种面试,让心情变得没那么安静的敲代码,没那么安静的学习算法.搞得第一次和技术总监聊天的时候都不太懂 ...

  5. 2016年GitHub排名前20的Python机器学习开源项目(转)

    当今时代,开源是创新和技术快速发展的核心.本文来自 KDnuggets 的年度盘点,介绍了 2016 年排名前 20 的 Python 机器学习开源项目,在介绍的同时也会做一些有趣的分析以及谈一谈它们 ...

  6. [resource]Python机器学习库

    reference: http://qxde01.blog.163.com/blog/static/67335744201368101922991/ Python在科学计算领域,有两个重要的扩展模块: ...

  7. Python机器学习包

    常用Python机器学习包 Numpy:用于科学计算的包 Pandas:提供高性能,易于使用的数据结构和数据分析工具 Scipy:用于数学,科学工程的软件 StatsModels:用于探索数据.估计统 ...

  8. python机器学习实战(一)

    python机器学习实战(一) 版权声明:本文为博主原创文章,转载请指明转载地址 www.cnblogs.com/fydeblog/p/7140974.html  前言 这篇notebook是关于机器 ...

  9. python机器学习实战(二)

    python机器学习实战(二) 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7159775.html 前言 这篇noteboo ...

  10. python机器学习实战(三)

    python机器学习实战(三) 版权声明:本文为博主原创文章,转载请指明转载地址 www.cnblogs.com/fydeblog/p/7277205.html  前言 这篇notebook是关于机器 ...

随机推荐

  1. 【Silverlight】Bing Maps学习系列(七):使用Bing Maps的图片系统(Tile System)

    [Silverlight]Bing Maps学习系列(七):使用Bing Maps的图片系统(Tile System) 目前包括微软必应地图在内的几乎所有在线电子地图(如:Google Maps等)都 ...

  2. 【UVa 10881】Piotr's Ants

    Piotr's Ants Porsition:Uva 10881 白书P9 中文改编题:[T^T][FJUT]第二届新生赛真S题地震了 "One thing is for certain: ...

  3. hdoj--5526--欧拉回路(欧拉回路)

     欧拉回路 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Su ...

  4. HTTP请求错误码大全(转)

    一些常见的状态码为: 200 - 服务器成功返回网页 404 - 请求的网页不存在 503 - 服务不可用 详细分解: 1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态代码. 代码 说明 ...

  5. [NOI2018]冒泡排序

    https://www.zybuluo.com/ysner/note/1261482 题面 戳我 \(8pts\ n\leq9\) \(44pts\ n\leq18\) \(ex12pts\ q_i= ...

  6. springboot开发过程中的小坑(持续更新)

    1. 启动的Application必须放到一个package下面,如下: package com.example.kikidemo; import org.springframework.boot.S ...

  7. ssh验证和端口转发

    ssh 服务登录验证 ssh 服务登录验证方式: 用户/ 口令 基于密钥 基于用户和口令登录验证 客户端发起ssh请求,服务器会把自己的公钥发送给用户 用户会根据服务器发来的公钥对密码进行加密 加密后 ...

  8. sql语句如何查询当天,一周,一月的数据的语句

    sql查询当天,一周,一个月数据的语句 --查询当天:   select * from info where DateDiff(dd,datetime,getdate())=0 --查询24小时内的: ...

  9. Java中的锁机制,你真的了解吗?

    学到锁说明你已经学过多线程了,只有在多线程并发的情况下才会涉及到锁,相信大家用的最多的要数synchronized了,因为这个也是最简单的,直接加在方法上就可以使一个方法同步.那么除了synchron ...

  10. Ubuntu 16.04 安装OpenSSH7.4

      前几天突然收到接到网安总队下发通知说我们在aws里面的服务器存在重大漏洞及安全隐患.必须在规定时间内修改.我们收到邮件打开Excel发现这些问题 是由于OpenSSH版本太低导致的.于是便安排紧急 ...