ANU COMP6670 Python学习笔记

目录

  • ANU COMP6670 Python学习笔记
  • Numpy
  • Numpy矩阵运算总结
    • 1. 创建矩阵对象
    • 2. 元素获取
    • 3. 矩阵运算
    • 4. 高级运算
  • Matplotlib相关
    • 1.quiver画箭头
    • 2.scatter画散点图
    • 3.plot
  • Sklearn
    • 1. sklearn中的make_blobs的用法
  • Python语法
  • Assignment1 相关代码

Numpy

首先import相关库

# numpy
import numpy as np!pip install sympy
import sympy as sp# matplotlib
import matplotlib.pyplot as plt
%matplotlib inline

Numpy矩阵运算总结

1. 创建矩阵对象

import numpy as np #引入numpy库#创建一维的narray对象(1行5列)
a = np.array([1,2,3,4,5])#创建二维的narray对象(2行5列)
a2 = np.array([[1,2,3,4,5],[6,7,8,9,10]])#创建多维对象以其类推

2. 元素获取

#获取单个元素:
print('\nSingle Element Extraction')
b = A[0, 0]
print(b)#获取第一列:
print('\nColumn Extraction')
b = A[:, 0]
print(b)#获取第一行:
print('\nRow Extraction')
b = A[0, :]
print(b)#获取某几行某几列元素(第2、3行第3、4列):
#冒号左闭右开
print('\nRow Extraction')
b = A[1:3, 2:5]
print(b)

3. 矩阵运算

运算符 作用
+ 矩阵对应元素相加
- 矩阵对应元素相减
* 矩阵对应元素相乘(注意区别于理论上的矩阵乘法)
/ 矩阵对应元素相除
% 矩阵对应元素相除后取余
** 矩阵每个元素都取n次方,如**2:每个元素都取平方
@ 理论上的矩阵乘法
A = np.array([[2, 3], [0, 1]])
x = np.array([[1], [3]])#Matrix Multiplication Example
b = A @ x
print('\nMatrix Multiplication')
print(b)
#结果:[[11]
#      [ 3]]#Matrix Addition Example
b = A + x
print('\nMatrix Addition')
print(b)
#结果:[[3 4]
#       [3 4]]#Elementwise Multiplication Example
b = A * x
print('\nElementwise Matrix Multiplication')
print(b)
#结果:[[2 3]
#       [0 3]]

4. 高级运算

运算函数 结果
np.dot(a,b) 计算a和b的点积
A.T 得到矩阵A的转置矩阵
np.linalg.inv(A) 得到矩阵A的逆矩阵
np.linalg.pinv(A) 得到矩阵A的伪逆矩阵
np.linalg.solve(A, B) 求解线性方程组AX=B
# define A,B
A = np.array([[2, 3, 4], [0, 1, 3], [-1, 0, 2]])
B = np.array([[3], [5],[7]])# show solution
X = np.linalg.solve(A, B)
print (X)
# 结果: [[-11.]
#        [ 11.]
#        [ -2.]]A_inv = np.linalg.inv(A)#YOUR CODE HERE
print(A_inv)
# 结果:
# [[-2.  6. -5.]
#  [ 3. -8.  6.]
#  [-1.  3. -2.]]A = np.array([[1, 3], [2, 7], [5, 1]])
B = np.array([[13], [30], [9]])
A_pseudo_inverse =  np.linalg.pinv(A)
print(A_pseudo_inverse)
# 结果:
# [[-0.00544323 -0.02799378  0.21228616]
#  [ 0.05287714  0.12908243 -0.0622084 ]]

Matplotlib相关

1.quiver画箭头

https://matplotlib.org/3.1.1/api/_as_gen/matplotlib.pyplot.quiver.html
https://blog.csdn.net/liuchengzimozigreat/article/details/84566650

2.scatter画散点图

https://www.cnblogs.com/shuaishuaidefeizhu/p/11359826.html
https://blog.csdn.net/m0_37393514/article/details/81298503

3.plot

https://www.jianshu.com/p/ed3f31fc6a41

Sklearn

1. sklearn中的make_blobs的用法

sklearn中的make_blobs函数主要是为了生成数据集的,具体如下:

调用make_blobs

from sklearn.datasets import make_blobs

make_blobs的用法

data, label = make_blobs(n_features=2, n_samples=100, centers=3, random_state=3, cluster_std=[0.8, 2, 5])
  • n_features表示每一个样本有多少特征值
  • n_samples表示样本的个数
  • centers是聚类中心点的个数,可以理解为label的种类数
  • random_state是随机种子,可以固定生成的数据
  • cluster_std设置每个类别的方差

例子:

'''创建训练的数据集'''
from sklearn.datasets import make_blobs
data, label = make_blobs(n_features=2, n_samples=100, centers=2, random_state=2019, cluster_std=[0.6,0.7] )

data有2个特征(n_features=2),样本个数是100(n_samples=100)

再看看生成的label:
label只有0或者1(centers=2),维度是100

random_state给定数值后,每次生成的数据集就是固定的,方便后期复现,默认的是每次随机生成

原文链接:https://blog.csdn.net/weixin_44177568/article/details/102213508

Python语法

1.python里面交换两个变量的值:

a,b = b,a

不需要先建一个temp先接下来,再赋值。直接交换就行。

Assignment1 相关代码

高斯消去法获得REFRREF矩阵


schmidt正交化获得标准正交基


ANU COMP6670 Python学习笔记相关推荐

  1. [python教程入门学习]python学习笔记(CMD执行文件并传入参数)

    本文章向大家介绍python学习笔记(CMD执行文件并传入参数),主要包括python学习笔记(CMD执行文件并传入参数)使用实例.应用技巧.基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋 ...

  2. python学习笔记之编写readConfig读写配置文件

    python学习笔记之编写readConfig读写配置文件_weixin_34055910的博客-CSDN博客

  3. Python学习笔记(十一)

    Python学习笔记(十一): 生成器,迭代器回顾 模块 作业-计算器 1. 生成器,迭代器回顾 1. 列表生成式:[x for x in range(10)] 2. 生成器 (generator o ...

  4. Python学习笔记一简介及安装配置

    Python学习笔记一 参考教程:廖雪峰官网https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e54 ...

  5. python学习笔记目录

    人生苦短,我学python学习笔记目录: week1 python入门week2 python基础week3 python进阶week4 python模块week5 python高阶week6 数据结 ...

  6. Python学习笔记(二):标准流与重定向

    Python学习笔记(二):标准流与重定向 - SamWei - 博客园 Python学习笔记(二):标准流与重定向 Posted on 2012-02-19 22:36 SamWei 阅读(176) ...

  7. python 学习笔记 12 -- 写一个脚本获取城市天气信息

    近期在玩树莓派,前面写过一篇在树莓派上使用1602液晶显示屏,那么可以显示后最重要的就是显示什么的问题了. 最easy想到的就是显示时间啊,CPU利用率啊.IP地址之类的.那么我认为呢,假设可以显示当 ...

  8. python基本语法语句-python学习笔记:基本语法

    原标题:python学习笔记:基本语法 缩进:必须使用4个空格来表示每级缩进,支持Tab字符 if语句,经常与else, elif(相当于else if) 配合使用. for语句,迭代器,依次处理迭代 ...

  9. 廖Python学习笔记一

    1. 廖Python学习笔记 大的分类 如函数 用二级标题,下面的用三级 如输入输出 1.1.1. 输入输出 1.1.1.1. 输出 用 print() 在括号里加上字符串,就可以向屏幕上输出指定的文 ...

最新文章

  1. 2022-2028中国曝光机市场现状及未来发展趋势
  2. 阿里无人车配送快递突破 100 万单,小蛮驴牵引的自动驾驶战略布局
  3. QIIME 2用户文档. 3老司机上路指南(2018.11)
  4. pytorch 自定义参数不更新
  5. The application could not be verified
  6. ubuntu14.04安装dropbox
  7. codefore 213 C Relay Race (朴素DP)
  8. 了解如何解决OSGI捆绑包
  9. 怎么让员工服从管理_职场 | 在职场中,遇到不服从管理的员工,该怎么办呢?...
  10. linux常用计划任务,浅谈:linux cron 计划任务常用符号小结
  11. spring-jar包详解整理
  12. iOS-代码实现TableViewCell创建多个样式的Cell
  13. 关于全局低级键盘hook的记录(WH_KEYBOARD_LL)
  14. Jxl读写Excel文件
  15. 金字塔原理(Pyramid Principle)
  16. 网页设计html轮播代码,20行js代码实现网页轮播图效果
  17. 关于源级串联电感提高稳定性的理由
  18. Windows系统,文件和文件夹命名规则
  19. python交易是什么意思_Py交易是什么意思
  20. Vue设计模式,发布订阅,响应式原理(简略版)

热门文章

  1. 3.4-注意缺陷多动障碍儿童
  2. 卡西欧95计算机怎么玩游戏,你真的会用计算器么?来玩转卡西欧计算器吧
  3. 机试指南 cha3 哈夫曼
  4. 推荐给大家的一款很不错的PHP文库管理系统(九鸟文库)-php 开源系统
  5. Android二维码生成器工具类
  6. php对plc的TCP通信,西门子S7-1200PLC之间TCP通信实例步骤
  7. 李南江的前端课程(一)浏览器的组成和浏览器请求的过程
  8. android语音识别Demo
  9. 单位根检验urdf_ADF单位根检验_具体操作
  10. 高速接口----7系列收发器GTP(1)