python杂记

xiaoxiao2021-02-27  306

python杂记

numpy 矩阵点乘

import numpy as np a=np.mat([[1],[1]]) b=np.mat([[2],[2]]) c=np.multiply(a,b)

numpy.random随机函数:shuffle()和permutation()

import numpy as np from numpy import random #arr是一维 arr=np.arange(100)#[0,1,2,...,99] random.shuffile(arr)#对arr进行就地随机排序 res1=random.permutation(arr)#对arr进行随机排序,但arr本身元素不变 res2=random.permutaion(10)#可以给定一个整数直接排序 #arr是多维数据,上述两个方法只针对the first axis排序 arr=np.arange(9).reshape((3,3)) random.shuffile(arr)#arr的每一行元素内容不变,改变的是它们的顺序 res1=random.permutation(arr) res2=random.permutaion(10)

梯度下降和随机梯度下降

import numpy as np #m,W,alpha分别是样本总数, 模型参数和学习率 #以线性回归为例 #梯度下降 for k in range(iter_num): W = W-alpha*(X*W-Y)*(X.T) #随机梯度下降 for k in range(iter_num): for i in range(m): W = W -alpha/m*(X[i].T)*(X[i]*W-Y[i]) #改进的随机梯度下降 for k in range(iter_num): index = list(np.arange(m)) for i in range(m): alpha = 0.01+4/(1+i+j)#学习率迭代调整 rand_index = int(np.random.uniform(0,m))#生成一个0~m间的随机数 W = W -alpha/m*(X[rand_index].T)*(X[rand_index]*W-Y[rand_index])#随机选择样本 del(index[rand_index])

序列化存储字典到本地文件

import pickle #存储 def store_tree(tree,filename): '''注意若是'w',则会报错:"write() argument must be str, not bytes";同样获取时为'rb'.''' fw = open(filename,'wb') pickle.dump(tree,fw) fw.close() #获取 def get_tree(filename): fr = open(filename,'rb') return pickle.load(fr)
转载请注明原文地址: https://www.6miu.com/read-4885.html

最新回复(0)