160412岭回归笔记
来源:互联网 发布:雅马哈 yas 107知乎 编辑:程序博客网 时间:2024/04/27 05:44
岭回归
import numpy as npfrom scipy import linalgx = np.random.randn(10*2).reshape(10,2)np.savetxt("x.txt",x)#np.loadtxt("x.txt")x = np.hstack((np.ones((10,1)),x))b = np.array([2,3,4])y = np.random.randon(10)*0.5+np.dot(x,b)np.savetxt("y.txt",y)lam = [1,2,3,4]xx = np.dot(x.T,x)xy = np.dot(x.T,y)n = 10p = 2tx = x[1]ty = y[1]txx = xx-np.outer(tx,tx)txy = xy-ty*txdef cvridge0(lam0): lamm=np.identity(p+1)*lam0 lamm[0,0]=0 L = np.linalg.cholesky(txx+lamm) lb = linalg.solve_triangular(L,txy,lower= True) tcoe = linalg.solve_triangular(L.T,lb) return (ty-np.dot(tcoe,tx))**2np.arrary(map(cvridge0,lam))
def cvridge(txmty): txx = xx-np.outer(tx,tx) txy = xy-ty def cvridge0(lam0): lamm = np.identity(p+1)*lam0 lamm[0,0] = 0 L = np.linalg.cholesky(txx+lamm) lb = linalg.solve_triangular(L,txy,lower= True) tcoe = linalg.solve_triangular(L.T,lb) return (ty-np.dot(tcoe,tx))**2 return np.array(map(cvridge0,lam))errm = np.array(map(cvridge,x,y))print errm
import numpy as npfrom scipy import linalgclass Ridge(object): def __init__(self,x=0,y=0,inter=True,lam=0) np0=x.shape self.n = np0[0] self.p = np0[1] if inter: self.x = np.hstack((np.ones((self.n,1)),x)) else: self.x = x self.y = y self.lam = lam self.lammin = 0 self.coe = 0 self.xx = np.dot(self.x.T,self.x) self.xy = np.dot(self.x.T,self.y) self.cverr = 0 def ridge(self): lamm = np.identity(p+1)*self.lammin lamm[0,0] = 0 L = np.linalg.cholesky(self.xx,lamm) lb = linalg.solve_triangular(L,self.xy,lower = True) self.coe = linalg.solve_triangular(L.T,lb) #return self.coe def cvreg(self): def cvridge(tx,ty): txx = self.xx-np.outer(tx,tx) txy = self.xy-ty*tx def cvridge0(lam0): lamm = np.identity(p+1)*lam0 lamm[0,0]=0 L = np.linalg.cholesky(txx+lamm) lb = linalg.solve_triangular(L,txy,lower =True) tcoe = linalg.solve_triangular(L.T,lb) return (ty-np.dot(tcoe,tx))**2 return np.array(map(cvridge0,lam)) errm = np.array(map(cvridge,self.x,self.y)) self.cverr = errm.sum(axis = 0) self.lammin = lam[self.cverr.argmin()]##################################################
x = np.loadtxt("x.txt")y = np.loadtxt("y.txt")lam = [1,2,3,4]ridge1 = Ridge(x = x,y = y,lam = lam)ridge1.cvreg()ridge1.cverr
ridge1.ridge()ridge1.coe()
import numpy as npx = np.random.normal(size = (200,3))xx = np.dot(x.T,x)#np.identity(2)*5print xxxx[1:,1:] = xx[1:,1:]+np.identity(2)*5xx
python并行
imoirt mklprint mkl.get_max_threads()
$:ipcluster start -n 4 –profile=mpi
from ipyparallel import Client#from mpi4py import MPIimport numpy as npimport timec = Client()view = c[:]with view.sync_imports(): import numpyx = np.array(np.random.normal(size = (20000,1000)))st = time.time()view.scatter('a',x)print 1,time.time()-stview.activate()view.block=Truest = time.time()view.execute('z = numpy.dot(a.T,a)')#%px z = numpy.dot(a.T,a)print 2,time.time()-stst = time.time()z = np.array(view.get("z"))print 3,time.time()-stst = time.time()b1 = np.sum(z,axis = 0)print 4,time.time()-st
0 0
- 160412岭回归笔记
- 《机器学习实战》学习笔记-[10]-回归-岭回归
- Spark Mllib 回归学习笔记一(java):线性回归(线性,lasso,岭),广义回归
- 回归,岭回归。LASSO回归
- 岭回归 & lasso 回归
- lasso 回归 & 岭回归
- 线性回归学习笔记
- ISLR线性回归笔记
- 逻辑回归笔记
- 逻辑回归学习笔记
- 最小角回归笔记
- 逻辑回归笔记
- 线性回归笔记
- logistic回归笔记
- 线性回归学习笔记
- 逻辑回归学习笔记
- 逻辑回归笔记
- 线性回归--最小二乘法笔记
- iOS获取设备唯一标示号
- String与StringBuffer、StringBuilder的区别
- 【蓝桥杯】【基础练习13】【闰年判断】
- 转载_
- Android 写log 到文件中
- 160412岭回归笔记
- 【黑马Android】(05)短信/查询和添加/内容观察者使用/子线程网络图片查看器和Handler消息处理器/html查看器/使用HttpURLConnection采用Post方式请求数据/开源项目
- android(NDK+JNI)---JNI数据类型
- 03. command积累
- 雨刷程序参考代码1
- 尚未在 Web 服务器上注册ASP.NET 4.5。安装VS2015后的问题
- [Quartz] Job 详解
- Cocos2d-JS中标签和菜单
- Spinner的简单功能和用法