def tfln(tfin, tfout): datax = [] datay1 = [] datay2 = [] for i in xrange(0, len(tfin)): datax.append( expandToPoly(tfin[i][0], tfin[i][1]) ) datay1.append(tfout[i][0]) datay2.append(tfout[i][1]) datax = np.transpose(np.array(np.float32(datax))) datay1 = np.array(np.float32(datay1)) datay2 = np.array(np.float32(datay2)) #w1 = tfu.linearRegression(datax, datay1, 1000000, 0.001, 100) w2 = tfu.linearRegression(datax, datay2, 100000, 0.001, 100) #dfile.saveVector(w1, 'data/w31.txt') dfile.saveVector(w2, 'data/w41.txt') #print w1 print w2
def fitPoly(x, y, nPoly): if nPoly < 1: print "fitPoly() >> 多项式次数错误: %d<1" %(nPoly) return x = np.float32(x) data_x = [] for i in xrange(len(x)): px = [1, x[i]] for j in xrange(2, nPoly+1): px.append( px[j-1] * px[1] ) data_x.append(px) data_x = np.transpose(data_x) #每列是一个样本 data_x = np.array(np.float32(data_x)) data_y = np.array(np.float32(y)) return tfu.linearRegression(data_x, data_y, 5000, 0.1, 100)