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=np.arange(
100)
random.shuffile(arr)
res1=random.permutation(arr)
res2=random.permutaion(
10)
arr=np.arange(
9).reshape((
3,
3))
random.shuffile(arr)
res1=random.permutation(arr)
res2=random.permutaion(
10)
梯度下降和随机梯度下降
import numpy
as np
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))
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)