矩阵基本运算的 Python 实现
from...import与import区别在于import直接导入指定的库,而from....import则是从指定的库中导入指定的模块
import...as则是将import A as B,给予A库一个B的别称,帮助记忆
在机器学习中,对象是指含有一组特征的行向量。这个领域最出色的技术就是使用图形处理器的 GPU 运算,矢量化编程的一个重要特点就是可以直接将数学公式转换为相应的程序代码,维度是指在一定的前提下描述一个数学对象所需的参数个数,完整表述应为“对象X基于前提A是n维”。
scatter(x,y)和plot(x,y,'*')的效果一致就是根据x和y坐标绘制出所有点而已,
而plot默认是将所有点按一定的顺序连接成一条多段线当plot指定了线性时,就可以绘制不同的图像,比如plot(x,y,'*')
下面是一段测试程序:
# -*- coding: utf-8 -*-
# Filename : mytest1.py
import numpy as np # 导入 numpy库
from numpy import * # 导入 numpy库
import matplotlib.pyplot as plt # 导入 matplotlib 库
# 测试数据集-二维 list
dataSet = [[-0.017612,14.053064],[-1.395634 ,4.662541],[-0.752157
,6.538620],[-1.322371 ,7.152853],[0.423363 ,11.054677],[0.406704
,7.067335],[0.667394 ,12.741452], [-2.460150 ,6.866805],[0.569411
,9.548755],[-0.026632 ,10.427743],[0.850433 ,6.920334],[1.347183
,13.175500],[1.176813 ,3.167020],[-1.781871 ,9.097953]]
dataMat = mat(dataSet).T # 将数据集转换为 numpy矩阵,并转置
plt.scatter(dataMat[0],dataMat[1],c='red',marker='o') # 绘制数据集散点图
# 绘制直线图形
X = np.linspace(-2,2,100) # 产生直线数据集
# 建立线性方程
Y = 2.8*X+9
plt.plot(X,Y) # 绘制直线图
plt.show() # 显示绘制后的结果
输出结果如下:
理解数学公式与 Numpy
import numpy as np
myZero = np.zeros([3,5])
print myZero
print '\n'
myOnes = np.ones([3,5])
print myOnes
print '\n'
myRand = np.random.rand(3,4)
print myRand
print '\n'
myEye = eye(3)
print myEye
输出结果:
[[ 0. 0. 0. 0. 0.]
[ 0. 0. 0. 0. 0.]
[ 0. 0. 0. 0. 0.]]
[[ 1. 1. 1. 1. 1.]
[ 1. 1. 1. 1. 1.]
[ 1. 1. 1. 1. 1.]]
[[ 0.08391638 0.45111372 0.13425541 0.4058907 ]
[ 0.4899189 0.09429184 0.49567921 0.05946378]
[ 0.9062396 0.34326417 0.43128689 0.73593377]]
[[ 1. 0. 0.]
[ 0. 1. 0.]
[ 0. 0. 1.]]
矩阵基本运算的 Python 实现的更多相关文章
- Eigen矩阵基本运算
1 矩阵基本运算简介 Eigen重载了+,-,*运算符.同时提供了一些方法如dot(),cross()等.对于矩阵类的运算符重载只支持线性运算,比如matrix1*matrix2是矩阵相乘,当然必须要 ...
- leetcode-Spiral Matrix II 螺旋矩阵2之python大法好,四行就搞定,你敢信?
Spiral Matrix II 螺旋矩阵 Given an integer n, generate a square matrix filled with elements from 1 to n2 ...
- 矩阵类的python实现
科学计算离不开矩阵的运算.当然,python已经有非常好的现成的库:numpy. 我写这个矩阵类,并不是打算重新造一个轮子,只是作为一个练习,记录在此. 注:这个类的函数还没全部实现,慢慢在完善吧. ...
- 推荐系统之矩阵分解及其Python代码实现
有如下R(5,4)的打分矩阵:(“-”表示用户没有打分) 其中打分矩阵R(n,m)是n行和m列,n表示user个数,m行表示item个数 那么,如何根据目前的矩阵R(5,4)如何对未打分的商品进行评分 ...
- 线性规划之单纯形算法矩阵描述与python实现
声明 本文为本人原创,转载请注明出处.本文仅发表在博客园,作者LightningStar. 问题描述 所有的线性规划问题都可以归约到标准型的问题,规约过程比较简单且已经超出本文范围,不再描述,可以参考 ...
- leetcode 73 矩阵置零 Python
矩阵置零 给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0.请使用原地算法. 示例 1: 输入: [ [1,1,1], [1,0,1], [1 ...
- 顺时针打印矩阵元素(python实现)
我觉得我的算法比较简单易懂,比网上的那些简单些.至于时间复杂度就没有比较了. 算法思想:从最外层向内层遍历矩阵 # my algorithmimport math def print_matrix(m ...
- LeetCode--059--螺旋矩阵 II(python)
效率超级低,但是能过.... class Solution: def generateMatrix(self, n): tR = tC = 0 dR = n-1 dC = n-1 x = [[0 fo ...
- Python+MapReduce实现矩阵相乘
算法原理 map阶段 在map阶段,需要做的是进行数据准备.把来自矩阵A的元素aij,标识成p条<key, value>的形式,key="i,k",(其中k=1,2,. ...
随机推荐
- [Js]面向对象的拖拽
<html xmlns="http://www.w3.org/1999/xhtml"><head><style>#div1 {width:100 ...
- BindingNavigator操作DatagridView的数据
参考 http://wenku.baidu.com/link?url=NWfEfArPZvDO_aI-xEKBHVGoZY9wQO_Oty_GCsGLiPspheCzFYLf_dytuWAqN2_0A ...
- ANT-build.xml编译文件详解
Ant 开发Ant的构建文件当开始一个新的项目时,首先应该编写Ant构建文件.构建文件定义了构建过程,并被团队开发中每个人使用.Ant构建文件默认命名为build.xml,也可以取其他的名字.只不过在 ...
- Microsoft Mole原理及常见问题整理
Moles与Moq(Rhino.Mocks)比较 作用范围 Moq与Rhino.Mocks这类的Mock是对Interface或AbstractClass做Mock, 而Moles是Mock整个 ...
- VMWare Workstation 10.0 Preview CN
What's New in the VMware Workstation Technology Preview July 2013 The VMware Workstation team is exc ...
- python3使用requests发闪存
闪存ing.cnblogs.com是博客园类似推特.饭否的服务, 我写了以下程序可以完成发闪存的操作,目的是顺便练习使用requests库. requests是一个python 轻量的http客户端库 ...
- c#图像处理入门(-bitmap类和图像像素值获取方法) 转
一.Bitmap类 Bitmap对象封装了GDI+中的一个位图,此位图由图形图像及其属性的像素数据组成.因此Bitmap是用于处理由像素数据定义的图像的对象.该类的主要方法和属性如下: 1. GetP ...
- Virtual Friend Function
一般而言,友元作为一种紧耦合的设计,被视作类的一部分.一个经典的应用就是关于类的序列化和反序列化. class A { friend ostream& operator<<(ost ...
- Ubuntu安装软件提示”需要安装不能信任的软件包”解决办法
用 Ubuntu 安装输入法软件包时提示"需要安装不能信任的软件包","这个动作需要从没有授权的软件源来安装软件包",赋予权限执行仍然无法安装,上网查了一下,只 ...
- D - Mysterious Present
这个题和求最长递增序列的题类似,为了能输出一组可行的数据,我还用了一点儿链表的知识. Description Peter decided to wish happy birthday to his f ...