def test_createTreeEx2(self): myDat1 = regTrees.loadDataSet('ex2.txt') myDat1 = np.mat(myDat1) regTree = regTrees.createTree(myDat1) print(regTree) myDat1 = regTrees.loadDataSet('ex2.txt') myDat1 = np.mat(myDat1) regTree = regTrees.createTree(myDat1, ops=(10000, 4)) # 手动调参比较敏感 print(regTree)
def test_bike(self): trainMat = np.mat(regTrees.loadDataSet('bikeTrain.txt')) testMat = np.mat(regTrees.loadDataSet('bikeTest.txt')) #print(testMat, trainMat) myTree = regTrees.createTree(trainMat, ops=(1, 20)) # 回归树 yHat = regTrees.createForeCast(myTree, testMat[:, 0]) r1 = np.corrcoef(yHat, testMat[:, 1], rowvar=0)[0, 1] print(r1) # 回归树的相关系数 print("-" * 80) myTree = regTrees.createTree(trainMat, regTrees.modelLeaf, regTrees.modelErr, (1, 20)) # 模型树 yHat = regTrees.createForeCast(myTree, testMat[:, 0], regTrees.modelTreeEval) r2 = np.corrcoef(yHat, testMat[:, 1], rowvar=0)[0, 1] print(r2) # 模型树的相关系数
def test_createTreeEx3(self): myDat1 = regTrees.loadDataSet('exp2.txt') myDat1 = np.mat(myDat1) regTree = regTrees.createTree(myDat1, regTrees.modelLeaf, regTrees.modelErr, (1, 10)) print(regTree)
def test_createTree0(self): myDat1 = regTrees.loadDataSet('ex0.txt') myDat1 = np.mat(myDat1) regTree = regTrees.createTree(myDat1) print(regTree)
def test_loadData(self): a = regTrees.loadDataSet('ex00.txt') print(a)
reDraw(tolS, tolN) root = Tk() reDraw.f = Figure(figsize=(5, 4), dpi=100) #create canvas reDraw.canvas = FigureCanvasTkAgg(reDraw.f, master=root) reDraw.canvas.draw() reDraw.canvas.get_tk_widget().grid(row=0, columnspan=3) Label(root, text="tolN").grid(row=1, column=0) tolNentry = Entry(root) tolNentry.grid(row=1, column=1) tolNentry.insert(0, '10') Label(root, text="tolS").grid(row=2, column=0) tolSentry = Entry(root) tolSentry.grid(row=2, column=1) tolSentry.insert(0, '1.0') Button(root, text="ReDraw", command=drawNewTree).grid(row=1, column=2, rowspan=3) chkBtnVar = IntVar() chkBtn = Checkbutton(root, text="Model Tree", variable=chkBtnVar) chkBtn.grid(row=3, column=0, columnspan=2) reDraw.rawDat = mat(regTrees.loadDataSet('sine.txt')) reDraw.testDat = arange(min(reDraw.rawDat[:, 0]), max(reDraw.rawDat[:, 0]), 0.01) reDraw(1.0, 10) root.mainloop()