diff --git a/README.md b/README.md index e940b3a3..4aec5c83 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # MachineLearning -**Mahchine Leaning in Action (python)** +**Mahchine Leaning in Action (python) | [ApacheCN(apache中文网)](http://www.apache.wiki/display/ML)** ## 第一部分 分类 @@ -20,6 +20,7 @@ * 8) 预测数值型数据:回归 * 9) 数回归 + * [树回归](./docs/9.树回归.md) ## 第三部分 无监督学习 @@ -32,7 +33,7 @@ ## 第四部分 其他工具 * 13) 使用PCA来简化数据 - *[利用PCA来简化数据](./docs/13.利用PCA来简化数据.md) + * [利用PCA来简化数据](./docs/13.利用PCA来简化数据.md) * 14) 使用SVD简化数据 * 15) 大数据与MapReduce @@ -44,3 +45,4 @@ * 附录D 资源 * 索引 * 版权声明 +* [ApacheCN(apache中文网) 维护更新](http://www.apache.wiki/display/ML) \ No newline at end of file diff --git a/docs/1.机器学习基础.md b/docs/1.机器学习基础.md index d4e74a54..ee1c06e6 100644 --- a/docs/1.机器学习基础.md +++ b/docs/1.机器学习基础.md @@ -5,6 +5,8 @@ * 把无序的数据转换成有用的信息。 * 机器学习的意义 * 我们利用计算机来彰显数据背后的真实含义。 +* 机器学习的任务 + * 机器学习的主要任务就是分类。 * 监督学习 * 样本集:训练数据 + 测试数据 * 特征(feature-是否有缺失情况) + 目标变量(分类-离散值/回归-连续值<0~100、 -999~999>) diff --git a/docs/3.决策树.md b/docs/3.决策树.md index 4a2db238..65494b33 100644 --- a/docs/3.决策树.md +++ b/docs/3.决策树.md @@ -23,3 +23,5 @@ * \\(H = -\sum_{i=0}^np(x_i)\log_2p(x_i)\\) 表示香农熵,用于计算信息熵 * 基尼不纯度(Gini impurity) [本书不做过多的介绍] * 简单来说:就是从一个数据集中随机选取子项,度量其被错误分类到其他分组里的概率。 +* 流程介绍图 +* ![决策树流程介绍图](./3.决策树流程介绍图.jpg) \ No newline at end of file diff --git a/docs/3.决策树流程介绍图.jpg b/docs/3.决策树流程介绍图.jpg new file mode 100644 index 00000000..d5908ded Binary files /dev/null and b/docs/3.决策树流程介绍图.jpg differ diff --git a/docs/9.树回归.md b/docs/9.树回归.md new file mode 100644 index 00000000..f695bff5 --- /dev/null +++ b/docs/9.树回归.md @@ -0,0 +1,13 @@ + +# 9) 树回归 + +* 树回归是什么? + * 分类回归树(Classification and Regression Tree,CART)是一种典型的决策树算法,CART算法不仅可以应用于分类问题,而且可以用于回归问题。 + * CART算法构建的回归树并介绍其中的树剪枝技术(该技术主要的目的是防止数的过拟合) +* 树回归的构建 + * 优点:可以对复杂和非线性的数据建模。 + * 缺点:结果不易理解。 + * 适用数据类型:数值型和标称型数据。 +* 那么问题来了,如何计算连续型数值的混乱度呢? + * `误差`:也就是计算平均差的总值(总方差=方差*样本数) + * 二元切分方式 diff --git a/src/python/01.NumPy.py b/src/python/01.NumPy.py index 256b0b93..496dd0fe 100644 --- a/src/python/01.NumPy.py +++ b/src/python/01.NumPy.py @@ -20,10 +20,15 @@ randArray = random.rand(4, 4) # 转化关系, 数组转化为矩阵 randMat = mat(randArray) -# .I表示对矩阵求逆 +# .I表示对矩阵求逆(可以利用矩阵的初等变换 +# # 意义:逆矩阵是一个判断相似性的工具。逆矩阵A与列向量p相乘后,将得到列向量q,q的第i个分量表示p与A的第i个列向量的相似度。 +# # 参考案例链接: +# # https://www.zhihu.com/question/33258489 +# # http://blog.csdn.net/vernice/article/details/48506027 +# .T表示对矩阵转置(行列颠倒) invRandMat = randMat.I # 输出结果 -print randArray, '\n', randMat, '\n', invRandMat +print randArray, '\n---\n', randMat, '\n+++\n', invRandMat # 矩阵和逆矩阵 进行求积 (单位矩阵,对角线都为1嘛,理论上4*4的矩阵其他的都为0) myEye = randMat*invRandMat # 误差 diff --git a/src/python/03.DecisionTree/DTSklearn.py b/src/python/03.DecisionTree/DTSklearn.py index 2629ef73..f63d2635 100644 --- a/src/python/03.DecisionTree/DTSklearn.py +++ b/src/python/03.DecisionTree/DTSklearn.py @@ -104,6 +104,7 @@ def show_pdf(clf): # from IPython.display import Image # Image(graph.create_png()) + if __name__ == '__main__': x, y = createDataSet() diff --git a/src/python/03.DecisionTree/DecisionTreePlot.py b/src/python/03.DecisionTree/DecisionTreePlot.py index cf11e382..737e4d31 100644 --- a/src/python/03.DecisionTree/DecisionTreePlot.py +++ b/src/python/03.DecisionTree/DecisionTreePlot.py @@ -77,9 +77,9 @@ def plotTree(myTree, parentPt, nodeTxt): plotTree.yOff = plotTree.yOff - 1.0/plotTree.totalD for key in secondDict.keys(): # 判断该节点是否是Node节点 - if type(secondDict[key]).__name__=='dict': + if type(secondDict[key]).__name__ == 'dict': # 如果是就递归调用[recursion] - plotTree(secondDict[key],cntrPt,str(key)) + plotTree(secondDict[key], cntrPt, str(key)) else: # 如果不是,就在原来节点一半的地方找到节点的坐标 plotTree.xOff = plotTree.xOff + 1.0/plotTree.totalW @@ -121,7 +121,7 @@ def createPlot(inTree): # 测试数据集 def retrieveTree(i): - listOfTrees =[ + listOfTrees = [ {'no surfacing': {0: 'no', 1: {'flippers': {0: 'no', 1: 'yes'}}}}, {'no surfacing': {0: 'no', 1: {'flippers': {0: {'head': {0: 'no', 1: 'yes'}}, 1: 'no'}}}} ] diff --git a/src/python/09.RegTrees/TreeNode.py b/src/python/09.RegTrees/TreeNode.py new file mode 100644 index 00000000..c6e76583 --- /dev/null +++ b/src/python/09.RegTrees/TreeNode.py @@ -0,0 +1,16 @@ +#!/usr/bin/python +# coding:utf8 + +''' +Created on 2017-03-06 +Update on 2017-03-06 +@author: jiangzhonglian +''' + + +class treeNode(): + def __init__(self, feat, val, right, left): + self.featureToSplitOn = feat + self.valueOfSplit = val + self.rightBranch = right + self.leftBranch = left diff --git a/src/python/09.RegTrees/regTrees.py b/src/python/09.RegTrees/regTrees.py new file mode 100644 index 00000000..11a8be85 --- /dev/null +++ b/src/python/09.RegTrees/regTrees.py @@ -0,0 +1,324 @@ +#!/usr/bin/python +# coding:utf8 + +''' +Created on Feb 4, 2011 +Update on 2017-03-02 +Tree-Based Regression Methods Source Code for Machine Learning in Action Ch. 9 +@author: Peter Harrington/jiangzhonglian +''' +from numpy import * + + +# 默认解析的数据是用tab分隔,并且是数值类型 +# general function to parse tab -delimited floats +def loadDataSet(fileName): + """loadDataSet(解析每一行,并转化为float类型) + + Args: + fileName 文件名 + Returns: + dataMat 每一行的数据集array类型 + Raises: + """ + # 假定最后一列是结果值 + # assume last column is target value + dataMat = [] + fr = open(fileName) + for line in fr.readlines(): + curLine = line.strip().split('\t') + # 将所有的元素转化为float类型 + # map all elements to float() + fltLine = map(float, curLine) + dataMat.append(fltLine) + return dataMat + + +def binSplitDataSet(dataSet, feature, value): + """binSplitDataSet(将数据集,按照feature列的value进行 二元切分) + + Args: + dataMat 数据集 + feature 特征列 + value 特征列要比较的值 + Returns: + mat0 小于的数据集在左边 + mat1 大于的数据集在右边 + Raises: + """ + # # 测试案例 + # print 'dataSet[:, feature]=', dataSet[:, feature] + # print 'nonzero(dataSet[:, feature] > value)[0]=', nonzero(dataSet[:, feature] > value)[0] + # print 'nonzero(dataSet[:, feature] <= value)[0]=', nonzero(dataSet[:, feature] <= value)[0] + + # dataSet[:, feature] 取去每一行中,第1列的值(从0开始算) + # nonzero(dataSet[:, feature] > value) 返回结果为true行的index下标 + mat0 = dataSet[nonzero(dataSet[:, feature] <= value)[0], :] + mat1 = dataSet[nonzero(dataSet[:, feature] > value)[0], :] + return mat0, mat1 + + +# 返回每一个叶子结点的均值 +# returns the value used for each leaf +def regLeaf(dataSet): + return mean(dataSet[:, -1]) + + +# 计算总方差=方差*样本数 +def regErr(dataSet): + # shape(dataSet)[0] 表示行数 + return var(dataSet[:, -1]) * shape(dataSet)[0] + + +# 1.用最佳方式切分数据集 +# 2.生成相应的叶节点 +def chooseBestSplit(dataSet, leafType=regLeaf, errType=regErr, ops=(1, 4)): + """chooseBestSplit(用最佳方式切分数据集 和 生成相应的叶节点) + + Args: + dataSet 数据集 + leafType 计算叶子节点的函数 + errType 求总方差 + ops [容许误差下降值,切分的最少样本数] + Returns: + bestIndex feature的index坐标 + bestValue 切分的最优值 + Raises: + """ + tolS = ops[0] + tolN = ops[1] + # 如果结果集(最后一列为1个变量),就返回推出 + # .T 对数据集进行转置 + # .tolist()[0] 转化为数组并取第0列 + if len(set(dataSet[:, -1].T.tolist()[0])) == 1: + # exit cond 1 + return None, leafType(dataSet) + # 计算行列值 + m, n = shape(dataSet) + # 无分类误差的总方差和 + # the choice of the best feature is driven by Reduction in RSS error from mean + S = errType(dataSet) + # inf 正无穷大 + bestS, bestIndex, bestValue = inf, 0, 0 + # 循环处理每一列对应的feature值 + for featIndex in range(n-1): + for splitVal in set(dataSet[:, featIndex].T.tolist()[0]): + # 对该列进行分组,然后组内的成员的val值进行 二元切分 + mat0, mat1 = binSplitDataSet(dataSet, featIndex, splitVal) + # 判断二元切分的方式的元素数量是否符合预期 + if (shape(mat0)[0] < tolN) or (shape(mat1)[0] < tolN): + continue + newS = errType(mat0) + errType(mat1) + # 如果二元切分,算出来的误差在可接受范围内,那么就记录切分点,并记录最小误差 + if newS < bestS: + bestIndex = featIndex + bestValue = splitVal + bestS = newS + # 判断二元切分的方式的元素误差是否符合预期 + # if the decrease (S-bestS) is less than a threshold don't do the split + if (S - bestS) < tolS: + return None, leafType(dataSet) + mat0, mat1 = binSplitDataSet(dataSet, bestIndex, bestValue) + # 对整体的成员进行判断,是否符合预期 + if (shape(mat0)[0] < tolN) or (shape(mat1)[0] < tolN): + return None, leafType(dataSet) + return bestIndex, bestValue + + +# assume dataSet is NumPy Mat so we can array filtering +def createTree(dataSet, leafType=regLeaf, errType=regErr, ops=(1, 4)): + # 选择最好的切分方式: feature索引值,最优切分值 + # choose the best split + feat, val = chooseBestSplit(dataSet, leafType, errType, ops) + # if the splitting hit a stop condition return val + if feat is None: + return val + retTree = {} + retTree['spInd'] = feat + retTree['spVal'] = val + # 大于在右边,小于在左边 + lSet, rSet = binSplitDataSet(dataSet, feat, val) + # 递归的进行调用 + retTree['left'] = createTree(lSet, leafType, errType, ops) + retTree['right'] = createTree(rSet, leafType, errType, ops) + return retTree + + +# 判断节点是否是一个字典 +def isTree(obj): + return (type(obj).__name__ == 'dict') + + +# 计算左右枝丫的均值 +def getMean(tree): + if isTree(tree['right']): + tree['right'] = getMean(tree['right']) + if isTree(tree['left']): + tree['left'] = getMean(tree['left']) + return (tree['left']+tree['right'])/2.0 + + +# 检查是否适合合并分枝 +def prune(tree, testData): + # 判断是否测试数据集没有数据 + if shape(testData)[0] == 0: + return getMean(tree) + # 对测试进行分支,看属于哪只分支,然后返回tree结果的均值 + if (isTree(tree['right']) or isTree(tree['left'])): + lSet, rSet = binSplitDataSet(testData, tree['spInd'], tree['spVal']) + if isTree(tree['left']): + tree['left'] = prune(tree['left'], lSet) + if isTree(tree['right']): + tree['right'] = prune(tree['right'], rSet) + + # 如果左右两边无子分支,那么计算一下总方差 和 该结果集的本身不分枝的总方差比较 + # 1.如果测试数据集足够大,将tree进行分支到最后 + # 2.如果测试数据集不够大,那么就无法进行合并 + # 注意返回的结果: 是合并后对原来为字典tree进行赋值,相当于进行了合并 + if not isTree(tree['left']) and not isTree(tree['right']): + lSet, rSet = binSplitDataSet(testData, tree['spInd'], tree['spVal']) + # power(x, y)表示x的y次方 + errorNoMerge = sum(power(lSet[:, -1] - tree['left'], 2)) + sum(power(rSet[:, -1] - tree['right'], 2)) + treeMean = (tree['left'] + tree['right'])/2.0 + errorMerge = sum(power(testData[:, -1] - treeMean, 2)) + # 如果 合并的总方差 < 不合并的总方差,那么就进行合并 + if errorMerge < errorNoMerge: + print "merging" + return treeMean + else: + return tree + else: + return tree + + +# 得到模型的ws系数:f(x) = x0 + x1*featrue1+ x3*featrue2 ... +# create linear model and return coeficients +def modelLeaf(dataSet): + ws, X, Y = linearSolve(dataSet) + return ws + + +# 计算线性模型的误差值 +def modelErr(dataSet): + ws, X, Y = linearSolve(dataSet) + yHat = X * ws + # print corrcoef(yHat, Y, rowvar=0) + return sum(power(Y - yHat, 2)) + + + # helper function used in two places +def linearSolve(dataSet): + m, n = shape(dataSet) + # 产生一个关于1的矩阵 + X = mat(ones((m, n))) + Y = mat(ones((m, 1))) + # X的0列为1,常数项,用于计算平衡误差 + X[:, 1: n] = dataSet[:, 0: n-1] + Y = dataSet[:, -1] + + # 转置矩阵*矩阵 + xTx = X.T * X + # 如果矩阵的逆不存在,会造成程序异常 + if linalg.det(xTx) == 0.0: + raise NameError('This matrix is singular, cannot do inverse,\ntry increasing the second value of ops') + # 最小二乘法求最优解 + ws = xTx.I * (X.T * Y) + return ws, X, Y + + +# 回归树测试案例 +def regTreeEval(model, inDat): + return float(model) + + +# 模型树测试案例 +def modelTreeEval(model, inDat): + n = shape(inDat)[1] + X = mat(ones((1, n+1))) + X[:, 1: n+1] = inDat + # print X, model + return float(X * model) + + +# 计算预测的结果 +def treeForeCast(tree, inData, modelEval=regTreeEval): + if not isTree(tree): + return modelEval(tree, inData) + if inData[tree['spInd']] <= tree['spVal']: + if isTree(tree['left']): + return treeForeCast(tree['left'], inData, modelEval) + else: + return modelEval(tree['left'], inData) + else: + if isTree(tree['right']): + return treeForeCast(tree['right'], inData, modelEval) + else: + return modelEval(tree['right'], inData) + + +# 预测结果 +def createForeCast(tree, testData, modelEval=regTreeEval): + m = len(testData) + yHat = mat(zeros((m, 1))) + for i in range(m): + yHat[i, 0] = treeForeCast(tree, mat(testData[i]), modelEval) + return yHat + + +if __name__ == "__main__": + # # 测试数据集 + # testMat = mat(eye(4)) + # print testMat + # print type(testMat) + # mat0, mat1 = binSplitDataSet(testMat, 1, 0.5) + # print mat0, '\n-----------\n', mat1 + + # 回归树 + # myDat = loadDataSet('testData/RT_data1.txt') + # myDat = loadDataSet('testData/RT_data2.txt') + # myMat = mat(myDat) + # myTree = createTree(myMat) + + # 1. 预剪枝就是,提起设置最大误差数和最少元素数 + # myDat = loadDataSet('testData/RT_data3.txt') + # myMat = mat(myDat) + # myTree = createTree(myMat, ops=(0, 1)) + # print myTree + + # 2.后剪枝 + # myDatTest = loadDataSet('testData/RT_data3test.txt') + # myMat2Test = mat(myDatTest) + # myFinalTree = prune(myTree, myMat2Test) + # print '\n\n\n-------------------' + # print myFinalTree + + # -------- + # 模型树求解 + # myDat = loadDataSet('testData/RT_data4.txt') + # myMat = mat(myDat) + # myTree = createTree(myMat, modelLeaf, modelErr) + # print myTree + + # 回归树 VS 模型树 VS 线性回归 + trainMat = mat(loadDataSet('testData/RT_bikeSpeedVsIq_train.txt')) + testMat = mat(loadDataSet('testData/RT_bikeSpeedVsIq_test.txt')) + # 回归树 + myTree1 = createTree(trainMat, ops=(1, 20)) + print myTree1 + yHat1 = createForeCast(myTree1, testMat[:, 0]) + print "回归树:", corrcoef(yHat1, testMat[:, 1],rowvar=0)[0, 1] + + # 模型树 + myTree2 = createTree(trainMat, modelLeaf, modelErr, ops=(1, 20)) + yHat2 = createForeCast(myTree2, testMat[:, 0], modelTreeEval) + print myTree2 + print "模型树:", corrcoef(yHat2, testMat[:, 1],rowvar=0)[0, 1] + + # 线性回归 + ws, X, Y = linearSolve(trainMat) + print ws + m = len(testMat[:, 0]) + yHat3 = mat(zeros((m, 1))) + for i in range(shape(testMat)[0]): + yHat3[i] = testMat[i, 0]*ws[1, 0] + ws[0, 0] + print "线性回归:", corrcoef(yHat3, testMat[:, 1],rowvar=0)[0, 1] diff --git a/src/python/regression.py b/src/python/regression.py index de328368..ab997872 100644 --- a/src/python/regression.py +++ b/src/python/regression.py @@ -11,6 +11,7 @@ import os from numpy import * import matplotlib.pylab as plt + def loadDataSet(fileName): #general function to parse tab -delimited floats numFeat = len(open(fileName).readline().split('\t')) - 1 #get number of fields dataMat = []; labelMat = [] @@ -24,6 +25,7 @@ def loadDataSet(fileName): #general function to parse tab -delimited floats labelMat.append(float(curLine[-1])) return dataMat,labelMat + def standRegres(xArr,yArr): # >>> A.T # transpose, 转置 xMat = mat(xArr); yMat = mat(yArr).T @@ -37,6 +39,7 @@ def standRegres(xArr,yArr): ws = xTx.I * (xMat.T*yMat) # 最小二乘法求最优解 return ws + def plotBestFit(xArr, yArr, ws): xMat = mat(xArr) @@ -60,6 +63,7 @@ def plotBestFit(xArr, yArr, ws): plt.xlabel('X'); plt.ylabel('Y') plt.show() + def main1(): # w0*x0+w1*x1+w2*x2=f(x) project_dir = os.path.dirname(os.path.dirname(os.getcwd())) @@ -91,6 +95,7 @@ def lwlr(testPoint, xArr, yArr,k=1.0): ws = xTx.I * (xMat.T * (weights * yMat)) return testPoint * ws + def lwlrTest(testArr,xArr,yArr,k=1.0): #loops over all the data points and applies lwlr to each one m = shape(testArr)[0] # m*1的矩阵 @@ -101,6 +106,7 @@ def lwlrTest(testArr,xArr,yArr,k=1.0): #loops over all the data points and appl yHat[i] = lwlr(testArr[i],xArr,yArr,k) return yHat + def lwlrTestPlot(xArr, yArr, yHat): xMat = mat(xArr) @@ -123,11 +129,13 @@ def lwlrTestPlot(xArr, yArr, yHat): plt.xlabel('X'); plt.ylabel('Y') plt.show() + def main2(): # w0*x0+w1*x1+w2*x2=f(x) - project_dir = os.path.dirname(os.path.dirname(os.getcwd())) + # project_dir = os.path.dirname(os.path.dirname(os.getcwd())) # 1.收集并准备数据 - xArr, yArr = loadDataSet("%s/resources/ex0.txt" % project_dir) + # xArr, yArr = loadDataSet("%s/resources/ex0.txt" % project_dir) + xArr, yArr = loadDataSet("testData/Regression_data.txt") # print xArr, '---\n', yArr # 2.训练模型, f(x)=a1*x1+b2*x2+..+nn*xn中 (a1,b2, .., nn).T的矩阵值 yHat = lwlrTest(xArr, xArr, yArr, 0.003) @@ -136,12 +144,14 @@ def main2(): # 数据可视化 lwlrTestPlot(xArr, yArr, yHat) -if __name__=="__main__": + +if __name__ == "__main__": # 线性回归 # main1() # 局部加权线性回归 main2() + def rssError(yArr,yHatArr): #yArr and yHatArr both need to be arrays return ((yArr-yHatArr)**2).sum() diff --git a/testData/RT_bikeSpeedVsIq_test.txt b/testData/RT_bikeSpeedVsIq_test.txt new file mode 100755 index 00000000..9fbf3e1f --- /dev/null +++ b/testData/RT_bikeSpeedVsIq_test.txt @@ -0,0 +1,200 @@ +12.000000 121.010516 +19.000000 157.337044 +12.000000 116.031825 +15.000000 132.124872 +2.000000 52.719612 +6.000000 39.058368 +3.000000 50.757763 +20.000000 166.740333 +11.000000 115.808227 +21.000000 165.582995 +3.000000 41.956087 +3.000000 34.432370 +13.000000 116.954676 +1.000000 32.112553 +7.000000 50.380243 +7.000000 94.107791 +23.000000 188.943179 +18.000000 152.637773 +9.000000 104.122082 +18.000000 127.805226 +0.000000 83.083232 +15.000000 148.180104 +3.000000 38.480247 +8.000000 77.597839 +7.000000 75.625803 +11.000000 124.620208 +13.000000 125.186698 +5.000000 51.165922 +3.000000 31.179113 +15.000000 132.505727 +19.000000 137.978043 +9.000000 106.481123 +20.000000 172.149955 +11.000000 104.116556 +4.000000 22.457996 +20.000000 175.735047 +18.000000 165.350412 +22.000000 177.461724 +16.000000 138.672986 +17.000000 156.791788 +19.000000 150.327544 +19.000000 156.992196 +23.000000 163.624262 +8.000000 92.537227 +3.000000 32.341399 +16.000000 144.445614 +11.000000 119.985586 +16.000000 145.149335 +12.000000 113.284662 +5.000000 47.742716 +11.000000 115.852585 +3.000000 31.579325 +1.000000 43.758671 +1.000000 61.049125 +13.000000 132.751826 +23.000000 163.233087 +12.000000 115.134296 +8.000000 91.370839 +8.000000 86.137955 +14.000000 120.857934 +3.000000 33.777477 +10.000000 110.831763 +10.000000 104.174775 +20.000000 155.920696 +4.000000 30.619132 +0.000000 71.880474 +7.000000 86.399516 +7.000000 72.632906 +5.000000 58.632985 +18.000000 143.584511 +23.000000 187.059504 +6.000000 65.067119 +6.000000 69.110280 +19.000000 142.388056 +15.000000 137.174489 +21.000000 159.719092 +9.000000 102.179638 +20.000000 176.416294 +21.000000 146.516385 +18.000000 147.808343 +23.000000 154.790810 +16.000000 137.385285 +18.000000 166.885975 +15.000000 136.989000 +20.000000 144.668679 +14.000000 137.060671 +19.000000 140.468283 +11.000000 98.344084 +16.000000 132.497910 +1.000000 59.143101 +20.000000 152.299381 +13.000000 134.487271 +0.000000 77.805718 +3.000000 28.543764 +10.000000 97.751817 +4.000000 41.223659 +11.000000 110.017015 +12.000000 119.391386 +20.000000 158.872126 +2.000000 38.776222 +19.000000 150.496148 +15.000000 131.505967 +22.000000 179.856157 +13.000000 143.090102 +14.000000 142.611861 +13.000000 120.757410 +4.000000 27.929324 +16.000000 151.530849 +15.000000 148.149702 +5.000000 44.188084 +16.000000 141.135406 +12.000000 119.817665 +8.000000 80.991524 +3.000000 29.308640 +6.000000 48.203468 +8.000000 92.179834 +22.000000 162.720371 +10.000000 91.971158 +2.000000 33.481943 +8.000000 88.528612 +1.000000 54.042173 +8.000000 92.002928 +5.000000 45.614646 +3.000000 34.319635 +14.000000 129.140558 +17.000000 146.807901 +17.000000 157.694058 +4.000000 37.080929 +20.000000 169.942381 +10.000000 114.675638 +5.000000 34.913029 +14.000000 137.889747 +0.000000 79.043129 +16.000000 139.084390 +6.000000 53.340135 +13.000000 142.772612 +0.000000 73.103173 +3.000000 37.717487 +15.000000 134.116395 +18.000000 138.748257 +23.000000 180.779121 +10.000000 93.721894 +23.000000 166.958335 +6.000000 74.473589 +6.000000 73.006291 +3.000000 34.178656 +1.000000 33.395482 +22.000000 149.933384 +18.000000 154.858982 +6.000000 66.121084 +1.000000 60.816800 +5.000000 55.681020 +6.000000 61.251558 +15.000000 125.452206 +16.000000 134.310255 +19.000000 167.999681 +5.000000 40.074830 +22.000000 162.658997 +12.000000 109.473909 +4.000000 44.743405 +11.000000 122.419496 +14.000000 139.852014 +21.000000 160.045407 +15.000000 131.999358 +15.000000 135.577799 +20.000000 173.494629 +8.000000 82.497177 +12.000000 123.122032 +10.000000 97.592026 +16.000000 141.345706 +8.000000 79.588881 +3.000000 54.308878 +4.000000 36.112937 +19.000000 165.005336 +23.000000 172.198031 +15.000000 127.699625 +1.000000 47.305217 +13.000000 115.489379 +8.000000 103.956569 +4.000000 53.669477 +0.000000 76.220652 +12.000000 114.153306 +6.000000 74.608728 +3.000000 41.339299 +5.000000 21.944048 +22.000000 181.455655 +20.000000 171.691444 +10.000000 104.299002 +21.000000 168.307123 +20.000000 169.556523 +23.000000 175.960552 +1.000000 42.554778 +14.000000 137.286185 +16.000000 136.126561 +12.000000 119.269042 +6.000000 63.426977 +4.000000 27.728212 +4.000000 32.687588 +23.000000 151.153204 +15.000000 129.767331 diff --git a/testData/RT_bikeSpeedVsIq_train.txt b/testData/RT_bikeSpeedVsIq_train.txt new file mode 100755 index 00000000..638d5c70 --- /dev/null +++ b/testData/RT_bikeSpeedVsIq_train.txt @@ -0,0 +1,200 @@ +3.000000 46.852122 +23.000000 178.676107 +0.000000 86.154024 +6.000000 68.707614 +15.000000 139.737693 +17.000000 141.988903 +12.000000 94.477135 +8.000000 86.083788 +9.000000 97.265824 +7.000000 80.400027 +8.000000 83.414554 +1.000000 52.525471 +16.000000 127.060008 +9.000000 101.639269 +14.000000 146.412680 +15.000000 144.157101 +17.000000 152.699910 +19.000000 136.669023 +21.000000 166.971736 +21.000000 165.467251 +3.000000 38.455193 +6.000000 75.557721 +4.000000 22.171763 +5.000000 50.321915 +0.000000 74.412428 +5.000000 42.052392 +1.000000 42.489057 +14.000000 139.185416 +21.000000 140.713725 +5.000000 63.222944 +5.000000 56.294626 +9.000000 91.674826 +22.000000 173.497655 +17.000000 152.692482 +9.000000 113.920633 +1.000000 51.552411 +9.000000 100.075315 +16.000000 137.803868 +18.000000 135.925777 +3.000000 45.550762 +16.000000 149.933224 +2.000000 27.914173 +6.000000 62.103546 +20.000000 173.942381 +12.000000 119.200505 +6.000000 70.730214 +16.000000 156.260832 +15.000000 132.467643 +19.000000 161.164086 +17.000000 138.031844 +23.000000 169.747881 +11.000000 116.761920 +4.000000 34.305905 +6.000000 68.841160 +10.000000 119.535227 +20.000000 158.104763 +18.000000 138.390511 +5.000000 59.375794 +7.000000 80.802300 +11.000000 108.611485 +10.000000 91.169028 +15.000000 154.104819 +5.000000 51.100287 +3.000000 32.334330 +15.000000 150.551655 +10.000000 111.023073 +0.000000 87.489950 +2.000000 46.726299 +7.000000 92.540440 +15.000000 135.715438 +19.000000 152.960552 +19.000000 162.789223 +21.000000 167.176240 +22.000000 164.323358 +12.000000 104.823071 +1.000000 35.554328 +11.000000 114.784640 +1.000000 36.819570 +12.000000 130.266826 +12.000000 126.053312 +18.000000 153.378289 +7.000000 70.089159 +15.000000 139.528624 +19.000000 157.137999 +23.000000 183.595248 +7.000000 73.431043 +11.000000 128.176167 +22.000000 183.181247 +13.000000 112.685801 +18.000000 161.634783 +6.000000 63.169478 +7.000000 63.393975 +19.000000 165.779578 +14.000000 143.973398 +22.000000 185.131852 +3.000000 45.275591 +6.000000 62.018003 +0.000000 83.193398 +7.000000 76.847802 +19.000000 147.087386 +7.000000 62.812086 +1.000000 49.910068 +11.000000 102.169335 +11.000000 105.108121 +6.000000 63.429817 +12.000000 121.301542 +17.000000 163.253962 +13.000000 119.588698 +0.000000 87.333807 +20.000000 144.484066 +21.000000 168.792482 +23.000000 159.751246 +20.000000 162.843592 +14.000000 145.664069 +19.000000 146.838515 +12.000000 132.049377 +18.000000 155.756119 +22.000000 155.686345 +7.000000 73.913958 +1.000000 66.761881 +7.000000 65.855450 +6.000000 56.271026 +19.000000 155.308523 +12.000000 124.372873 +17.000000 136.025960 +14.000000 132.996861 +21.000000 172.639791 +17.000000 135.672594 +8.000000 90.323742 +5.000000 62.462698 +16.000000 159.048794 +14.000000 139.991227 +3.000000 37.026678 +9.000000 100.839901 +9.000000 93.097395 +15.000000 123.645221 +15.000000 147.327185 +1.000000 40.055830 +0.000000 88.192829 +17.000000 139.174517 +22.000000 169.354493 +17.000000 136.354272 +9.000000 90.692829 +7.000000 63.987997 +14.000000 128.972231 +10.000000 108.433394 +2.000000 49.321034 +19.000000 171.615671 +9.000000 97.894855 +0.000000 68.962453 +9.000000 72.063371 +22.000000 157.000070 +12.000000 114.461754 +6.000000 58.239465 +9.000000 104.601048 +8.000000 90.772359 +22.000000 164.428791 +5.000000 34.804083 +5.000000 37.089459 +22.000000 177.987605 +10.000000 89.439608 +6.000000 70.711362 +23.000000 181.731482 +20.000000 151.538932 +7.000000 66.067228 +6.000000 61.565125 +20.000000 184.441687 +9.000000 91.569158 +9.000000 98.833425 +17.000000 144.352866 +9.000000 94.498314 +15.000000 121.922732 +18.000000 166.408274 +10.000000 89.571299 +8.000000 75.373772 +22.000000 161.001478 +8.000000 90.594227 +5.000000 57.180933 +20.000000 161.643007 +8.000000 87.197370 +8.000000 95.584308 +15.000000 126.207221 +7.000000 84.528209 +18.000000 161.056986 +10.000000 86.762615 +1.000000 33.325906 +9.000000 105.095502 +2.000000 22.440421 +9.000000 93.449284 +14.000000 106.249595 +21.000000 163.254385 +22.000000 161.746628 +20.000000 152.973085 +17.000000 122.918987 +7.000000 58.536412 +1.000000 45.013277 +13.000000 137.294148 +10.000000 88.123737 +2.000000 45.847376 +20.000000 163.385797 diff --git a/testData/RT_data1.txt b/testData/RT_data1.txt new file mode 100755 index 00000000..fa98fa58 --- /dev/null +++ b/testData/RT_data1.txt @@ -0,0 +1,200 @@ +0.036098 0.155096 +0.993349 1.077553 +0.530897 0.893462 +0.712386 0.564858 +0.343554 -0.371700 +0.098016 -0.332760 +0.691115 0.834391 +0.091358 0.099935 +0.727098 1.000567 +0.951949 0.945255 +0.768596 0.760219 +0.541314 0.893748 +0.146366 0.034283 +0.673195 0.915077 +0.183510 0.184843 +0.339563 0.206783 +0.517921 1.493586 +0.703755 1.101678 +0.008307 0.069976 +0.243909 -0.029467 +0.306964 -0.177321 +0.036492 0.408155 +0.295511 0.002882 +0.837522 1.229373 +0.202054 -0.087744 +0.919384 1.029889 +0.377201 -0.243550 +0.814825 1.095206 +0.611270 0.982036 +0.072243 -0.420983 +0.410230 0.331722 +0.869077 1.114825 +0.620599 1.334421 +0.101149 0.068834 +0.820802 1.325907 +0.520044 0.961983 +0.488130 -0.097791 +0.819823 0.835264 +0.975022 0.673579 +0.953112 1.064690 +0.475976 -0.163707 +0.273147 -0.455219 +0.804586 0.924033 +0.074795 -0.349692 +0.625336 0.623696 +0.656218 0.958506 +0.834078 1.010580 +0.781930 1.074488 +0.009849 0.056594 +0.302217 -0.148650 +0.678287 0.907727 +0.180506 0.103676 +0.193641 -0.327589 +0.343479 0.175264 +0.145809 0.136979 +0.996757 1.035533 +0.590210 1.336661 +0.238070 -0.358459 +0.561362 1.070529 +0.377597 0.088505 +0.099142 0.025280 +0.539558 1.053846 +0.790240 0.533214 +0.242204 0.209359 +0.152324 0.132858 +0.252649 -0.055613 +0.895930 1.077275 +0.133300 -0.223143 +0.559763 1.253151 +0.643665 1.024241 +0.877241 0.797005 +0.613765 1.621091 +0.645762 1.026886 +0.651376 1.315384 +0.697718 1.212434 +0.742527 1.087056 +0.901056 1.055900 +0.362314 -0.556464 +0.948268 0.631862 +0.000234 0.060903 +0.750078 0.906291 +0.325412 -0.219245 +0.726828 1.017112 +0.348013 0.048939 +0.458121 -0.061456 +0.280738 -0.228880 +0.567704 0.969058 +0.750918 0.748104 +0.575805 0.899090 +0.507940 1.107265 +0.071769 -0.110946 +0.553520 1.391273 +0.401152 -0.121640 +0.406649 -0.366317 +0.652121 1.004346 +0.347837 -0.153405 +0.081931 -0.269756 +0.821648 1.280895 +0.048014 0.064496 +0.130962 0.184241 +0.773422 1.125943 +0.789625 0.552614 +0.096994 0.227167 +0.625791 1.244731 +0.589575 1.185812 +0.323181 0.180811 +0.822443 1.086648 +0.360323 -0.204830 +0.950153 1.022906 +0.527505 0.879560 +0.860049 0.717490 +0.007044 0.094150 +0.438367 0.034014 +0.574573 1.066130 +0.536689 0.867284 +0.782167 0.886049 +0.989888 0.744207 +0.761474 1.058262 +0.985425 1.227946 +0.132543 -0.329372 +0.346986 -0.150389 +0.768784 0.899705 +0.848921 1.170959 +0.449280 0.069098 +0.066172 0.052439 +0.813719 0.706601 +0.661923 0.767040 +0.529491 1.022206 +0.846455 0.720030 +0.448656 0.026974 +0.795072 0.965721 +0.118156 -0.077409 +0.084248 -0.019547 +0.845815 0.952617 +0.576946 1.234129 +0.772083 1.299018 +0.696648 0.845423 +0.595012 1.213435 +0.648675 1.287407 +0.897094 1.240209 +0.552990 1.036158 +0.332982 0.210084 +0.065615 -0.306970 +0.278661 0.253628 +0.773168 1.140917 +0.203693 -0.064036 +0.355688 -0.119399 +0.988852 1.069062 +0.518735 1.037179 +0.514563 1.156648 +0.976414 0.862911 +0.919074 1.123413 +0.697777 0.827805 +0.928097 0.883225 +0.900272 0.996871 +0.344102 -0.061539 +0.148049 0.204298 +0.130052 -0.026167 +0.302001 0.317135 +0.337100 0.026332 +0.314924 -0.001952 +0.269681 -0.165971 +0.196005 -0.048847 +0.129061 0.305107 +0.936783 1.026258 +0.305540 -0.115991 +0.683921 1.414382 +0.622398 0.766330 +0.902532 0.861601 +0.712503 0.933490 +0.590062 0.705531 +0.723120 1.307248 +0.188218 0.113685 +0.643601 0.782552 +0.520207 1.209557 +0.233115 -0.348147 +0.465625 -0.152940 +0.884512 1.117833 +0.663200 0.701634 +0.268857 0.073447 +0.729234 0.931956 +0.429664 -0.188659 +0.737189 1.200781 +0.378595 -0.296094 +0.930173 1.035645 +0.774301 0.836763 +0.273940 -0.085713 +0.824442 1.082153 +0.626011 0.840544 +0.679390 1.307217 +0.578252 0.921885 +0.785541 1.165296 +0.597409 0.974770 +0.014083 -0.132525 +0.663870 1.187129 +0.552381 1.369630 +0.683886 0.999985 +0.210334 -0.006899 +0.604529 1.212685 +0.250744 0.046297 diff --git a/testData/RT_data2.txt b/testData/RT_data2.txt new file mode 100755 index 00000000..bee167b9 --- /dev/null +++ b/testData/RT_data2.txt @@ -0,0 +1,200 @@ +1.000000 0.409175 1.883180 +1.000000 0.182603 0.063908 +1.000000 0.663687 3.042257 +1.000000 0.517395 2.305004 +1.000000 0.013643 -0.067698 +1.000000 0.469643 1.662809 +1.000000 0.725426 3.275749 +1.000000 0.394350 1.118077 +1.000000 0.507760 2.095059 +1.000000 0.237395 1.181912 +1.000000 0.057534 0.221663 +1.000000 0.369820 0.938453 +1.000000 0.976819 4.149409 +1.000000 0.616051 3.105444 +1.000000 0.413700 1.896278 +1.000000 0.105279 -0.121345 +1.000000 0.670273 3.161652 +1.000000 0.952758 4.135358 +1.000000 0.272316 0.859063 +1.000000 0.303697 1.170272 +1.000000 0.486698 1.687960 +1.000000 0.511810 1.979745 +1.000000 0.195865 0.068690 +1.000000 0.986769 4.052137 +1.000000 0.785623 3.156316 +1.000000 0.797583 2.950630 +1.000000 0.081306 0.068935 +1.000000 0.659753 2.854020 +1.000000 0.375270 0.999743 +1.000000 0.819136 4.048082 +1.000000 0.142432 0.230923 +1.000000 0.215112 0.816693 +1.000000 0.041270 0.130713 +1.000000 0.044136 -0.537706 +1.000000 0.131337 -0.339109 +1.000000 0.463444 2.124538 +1.000000 0.671905 2.708292 +1.000000 0.946559 4.017390 +1.000000 0.904176 4.004021 +1.000000 0.306674 1.022555 +1.000000 0.819006 3.657442 +1.000000 0.845472 4.073619 +1.000000 0.156258 0.011994 +1.000000 0.857185 3.640429 +1.000000 0.400158 1.808497 +1.000000 0.375395 1.431404 +1.000000 0.885807 3.935544 +1.000000 0.239960 1.162152 +1.000000 0.148640 -0.227330 +1.000000 0.143143 -0.068728 +1.000000 0.321582 0.825051 +1.000000 0.509393 2.008645 +1.000000 0.355891 0.664566 +1.000000 0.938633 4.180202 +1.000000 0.348057 0.864845 +1.000000 0.438898 1.851174 +1.000000 0.781419 2.761993 +1.000000 0.911333 4.075914 +1.000000 0.032469 0.110229 +1.000000 0.499985 2.181987 +1.000000 0.771663 3.152528 +1.000000 0.670361 3.046564 +1.000000 0.176202 0.128954 +1.000000 0.392170 1.062726 +1.000000 0.911188 3.651742 +1.000000 0.872288 4.401950 +1.000000 0.733107 3.022888 +1.000000 0.610239 2.874917 +1.000000 0.732739 2.946801 +1.000000 0.714825 2.893644 +1.000000 0.076386 0.072131 +1.000000 0.559009 1.748275 +1.000000 0.427258 1.912047 +1.000000 0.841875 3.710686 +1.000000 0.558918 1.719148 +1.000000 0.533241 2.174090 +1.000000 0.956665 3.656357 +1.000000 0.620393 3.522504 +1.000000 0.566120 2.234126 +1.000000 0.523258 1.859772 +1.000000 0.476884 2.097017 +1.000000 0.176408 0.001794 +1.000000 0.303094 1.231928 +1.000000 0.609731 2.953862 +1.000000 0.017774 -0.116803 +1.000000 0.622616 2.638864 +1.000000 0.886539 3.943428 +1.000000 0.148654 -0.328513 +1.000000 0.104350 -0.099866 +1.000000 0.116868 -0.030836 +1.000000 0.516514 2.359786 +1.000000 0.664896 3.212581 +1.000000 0.004327 0.188975 +1.000000 0.425559 1.904109 +1.000000 0.743671 3.007114 +1.000000 0.935185 3.845834 +1.000000 0.697300 3.079411 +1.000000 0.444551 1.939739 +1.000000 0.683753 2.880078 +1.000000 0.755993 3.063577 +1.000000 0.902690 4.116296 +1.000000 0.094491 -0.240963 +1.000000 0.873831 4.066299 +1.000000 0.991810 4.011834 +1.000000 0.185611 0.077710 +1.000000 0.694551 3.103069 +1.000000 0.657275 2.811897 +1.000000 0.118746 -0.104630 +1.000000 0.084302 0.025216 +1.000000 0.945341 4.330063 +1.000000 0.785827 3.087091 +1.000000 0.530933 2.269988 +1.000000 0.879594 4.010701 +1.000000 0.652770 3.119542 +1.000000 0.879338 3.723411 +1.000000 0.764739 2.792078 +1.000000 0.504884 2.192787 +1.000000 0.554203 2.081305 +1.000000 0.493209 1.714463 +1.000000 0.363783 0.885854 +1.000000 0.316465 1.028187 +1.000000 0.580283 1.951497 +1.000000 0.542898 1.709427 +1.000000 0.112661 0.144068 +1.000000 0.816742 3.880240 +1.000000 0.234175 0.921876 +1.000000 0.402804 1.979316 +1.000000 0.709423 3.085768 +1.000000 0.867298 3.476122 +1.000000 0.993392 3.993679 +1.000000 0.711580 3.077880 +1.000000 0.133643 -0.105365 +1.000000 0.052031 -0.164703 +1.000000 0.366806 1.096814 +1.000000 0.697521 3.092879 +1.000000 0.787262 2.987926 +1.000000 0.476710 2.061264 +1.000000 0.721417 2.746854 +1.000000 0.230376 0.716710 +1.000000 0.104397 0.103831 +1.000000 0.197834 0.023776 +1.000000 0.129291 -0.033299 +1.000000 0.528528 1.942286 +1.000000 0.009493 -0.006338 +1.000000 0.998533 3.808753 +1.000000 0.363522 0.652799 +1.000000 0.901386 4.053747 +1.000000 0.832693 4.569290 +1.000000 0.119002 -0.032773 +1.000000 0.487638 2.066236 +1.000000 0.153667 0.222785 +1.000000 0.238619 1.089268 +1.000000 0.208197 1.487788 +1.000000 0.750921 2.852033 +1.000000 0.183403 0.024486 +1.000000 0.995608 3.737750 +1.000000 0.151311 0.045017 +1.000000 0.126804 0.001238 +1.000000 0.983153 3.892763 +1.000000 0.772495 2.819376 +1.000000 0.784133 2.830665 +1.000000 0.056934 0.234633 +1.000000 0.425584 1.810782 +1.000000 0.998709 4.237235 +1.000000 0.707815 3.034768 +1.000000 0.413816 1.742106 +1.000000 0.217152 1.169250 +1.000000 0.360503 0.831165 +1.000000 0.977989 3.729376 +1.000000 0.507953 1.823205 +1.000000 0.920771 4.021970 +1.000000 0.210542 1.262939 +1.000000 0.928611 4.159518 +1.000000 0.580373 2.039114 +1.000000 0.841390 4.101837 +1.000000 0.681530 2.778672 +1.000000 0.292795 1.228284 +1.000000 0.456918 1.736620 +1.000000 0.134128 -0.195046 +1.000000 0.016241 -0.063215 +1.000000 0.691214 3.305268 +1.000000 0.582002 2.063627 +1.000000 0.303102 0.898840 +1.000000 0.622598 2.701692 +1.000000 0.525024 1.992909 +1.000000 0.996775 3.811393 +1.000000 0.881025 4.353857 +1.000000 0.723457 2.635641 +1.000000 0.676346 2.856311 +1.000000 0.254625 1.352682 +1.000000 0.488632 2.336459 +1.000000 0.519875 2.111651 +1.000000 0.160176 0.121726 +1.000000 0.609483 3.264605 +1.000000 0.531881 2.103446 +1.000000 0.321632 0.896855 +1.000000 0.845148 4.220850 +1.000000 0.012003 -0.217283 +1.000000 0.018883 -0.300577 +1.000000 0.071476 0.006014 diff --git a/testData/RT_data3.txt b/testData/RT_data3.txt new file mode 100755 index 00000000..daf5acd5 --- /dev/null +++ b/testData/RT_data3.txt @@ -0,0 +1,200 @@ +0.228628 -2.266273 +0.965969 112.386764 +0.342761 -31.584855 +0.901444 87.300625 +0.585413 125.295113 +0.334900 18.976650 +0.769043 64.041941 +0.297107 -1.798377 +0.901421 100.133819 +0.176523 0.946348 +0.710234 108.553919 +0.981980 86.399637 +0.085873 -10.137104 +0.537834 90.995536 +0.806158 62.877698 +0.708890 135.416767 +0.787755 118.642009 +0.463241 17.171057 +0.300318 -18.051318 +0.815215 118.319942 +0.139880 7.336784 +0.068373 -15.160836 +0.457563 -34.044555 +0.665652 105.547997 +0.084661 -24.132226 +0.954711 100.935789 +0.953902 130.926480 +0.487381 27.729263 +0.759504 81.106762 +0.454312 -20.360067 +0.295993 -14.988279 +0.156067 7.557349 +0.428582 15.224266 +0.847219 76.240984 +0.499171 11.924204 +0.203993 -22.379119 +0.548539 83.114502 +0.790312 110.159730 +0.937766 119.949824 +0.218321 1.410768 +0.223200 15.501642 +0.896683 107.001620 +0.582311 82.589328 +0.698920 92.470636 +0.823848 59.342323 +0.385021 24.816941 +0.061219 6.695567 +0.841547 115.669032 +0.763328 115.199195 +0.934853 115.753994 +0.222271 -9.255852 +0.217214 -3.958752 +0.706961 106.180427 +0.888426 94.896354 +0.549814 137.267576 +0.107960 -1.293195 +0.085111 37.820659 +0.388789 21.578007 +0.467383 -9.712925 +0.623909 87.181863 +0.373501 -8.228297 +0.513332 101.075609 +0.350725 -40.086564 +0.716211 103.345308 +0.731636 73.912028 +0.273863 -9.457556 +0.211633 -8.332207 +0.944221 100.120253 +0.053764 -13.731698 +0.126833 22.891675 +0.952833 100.649591 +0.391609 3.001104 +0.560301 82.903945 +0.124723 -1.402796 +0.465680 -23.777531 +0.699873 115.586605 +0.164134 -27.405211 +0.455761 9.841938 +0.508542 96.403373 +0.138619 -29.087463 +0.335182 2.768225 +0.908629 118.513475 +0.546601 96.319043 +0.378965 13.583555 +0.968621 98.648346 +0.637999 91.656617 +0.350065 -1.319852 +0.632691 93.645293 +0.936524 65.548418 +0.310956 -49.939516 +0.437652 19.745224 +0.166765 -14.740059 +0.571214 114.872056 +0.952377 73.520802 +0.665329 121.980607 +0.258070 -20.425137 +0.912161 85.005351 +0.777582 100.838446 +0.642707 82.500766 +0.885676 108.045948 +0.080061 2.229873 +0.039914 11.220099 +0.958512 135.837013 +0.377383 5.241196 +0.661073 115.687524 +0.454375 3.043912 +0.412516 -26.419289 +0.854970 89.209930 +0.698472 120.521925 +0.465561 30.051931 +0.328890 39.783113 +0.309133 8.814725 +0.418943 44.161493 +0.553797 120.857321 +0.799873 91.368473 +0.811363 112.981216 +0.785574 107.024467 +0.949198 105.752508 +0.666452 120.014736 +0.652462 112.715799 +0.290749 -14.391613 +0.508548 93.292829 +0.680486 110.367074 +0.356790 -19.526539 +0.199903 -3.372472 +0.264926 5.280579 +0.166431 -6.512506 +0.370042 -32.124495 +0.628061 117.628346 +0.228473 19.425158 +0.044737 3.855393 +0.193282 18.208423 +0.519150 116.176162 +0.351478 -0.461116 +0.872199 111.552716 +0.115150 13.795828 +0.324274 -13.189243 +0.446196 -5.108172 +0.613004 168.180746 +0.533511 129.766743 +0.740859 93.773929 +0.667851 92.449664 +0.900699 109.188248 +0.599142 130.378529 +0.232802 1.222318 +0.838587 134.089674 +0.284794 35.623746 +0.130626 -39.524461 +0.642373 140.613941 +0.786865 100.598825 +0.403228 -1.729244 +0.883615 95.348184 +0.910975 106.814667 +0.819722 70.054508 +0.798198 76.853728 +0.606417 93.521396 +0.108801 -16.106164 +0.318309 -27.605424 +0.856421 107.166848 +0.842940 95.893131 +0.618868 76.917665 +0.531944 124.795495 +0.028546 -8.377094 +0.915263 96.717610 +0.925782 92.074619 +0.624827 105.970743 +0.331364 -1.290825 +0.341700 -23.547711 +0.342155 -16.930416 +0.729397 110.902830 +0.640515 82.713621 +0.228751 -30.812912 +0.948822 69.318649 +0.706390 105.062147 +0.079632 29.420068 +0.451087 -28.724685 +0.833026 76.723835 +0.589806 98.674874 +0.426711 -21.594268 +0.872883 95.887712 +0.866451 94.402102 +0.960398 123.559747 +0.483803 5.224234 +0.811602 99.841379 +0.757527 63.549854 +0.569327 108.435392 +0.841625 60.552308 +0.264639 2.557923 +0.202161 -1.983889 +0.055862 -3.131497 +0.543843 98.362010 +0.689099 112.378209 +0.956951 82.016541 +0.382037 -29.007783 +0.131833 22.478291 +0.156273 0.225886 +0.000256 9.668106 +0.892999 82.436686 +0.206207 -12.619036 +0.487537 5.149336 diff --git a/testData/RT_data3test.txt b/testData/RT_data3test.txt new file mode 100755 index 00000000..80880d1f --- /dev/null +++ b/testData/RT_data3test.txt @@ -0,0 +1,200 @@ +0.421862 10.830241 +0.105349 -2.241611 +0.155196 21.872976 +0.161152 2.015418 +0.382632 -38.778979 +0.017710 20.109113 +0.129656 15.266887 +0.613926 111.900063 +0.409277 1.874731 +0.807556 111.223754 +0.593722 133.835486 +0.953239 110.465070 +0.257402 15.332899 +0.645385 93.983054 +0.563460 93.645277 +0.408338 -30.719878 +0.874394 91.873505 +0.263805 -0.192752 +0.411198 10.751118 +0.449884 9.211901 +0.646315 113.533660 +0.673718 125.135638 +0.805148 113.300462 +0.759327 72.668572 +0.519172 82.131698 +0.741031 106.777146 +0.030937 9.859127 +0.268848 -34.137955 +0.474901 -11.201301 +0.588266 120.501998 +0.893936 142.826476 +0.870990 105.751746 +0.430763 39.146258 +0.057665 15.371897 +0.100076 9.131761 +0.980716 116.145896 +0.235289 -13.691224 +0.228098 16.089151 +0.622248 99.345551 +0.401467 -1.694383 +0.960334 110.795415 +0.031214 -5.330042 +0.504228 96.003525 +0.779660 75.921582 +0.504496 101.341462 +0.850974 96.293064 +0.701119 102.333839 +0.191551 5.072326 +0.667116 92.310019 +0.555584 80.367129 +0.680006 132.965442 +0.393899 38.605283 +0.048940 -9.861871 +0.963282 115.407485 +0.655496 104.269918 +0.576463 141.127267 +0.675708 96.227996 +0.853457 114.252288 +0.003933 -12.182861 +0.549512 97.927224 +0.218967 -4.712462 +0.659972 120.950439 +0.008256 8.026816 +0.099500 -14.318434 +0.352215 -3.747546 +0.874926 89.247356 +0.635084 99.496059 +0.039641 14.147109 +0.665111 103.298719 +0.156583 -2.540703 +0.648843 119.333019 +0.893237 95.209585 +0.128807 5.558479 +0.137438 5.567685 +0.630538 98.462792 +0.296084 -41.799438 +0.632099 84.895098 +0.987681 106.726447 +0.744909 111.279705 +0.862030 104.581156 +0.080649 -7.679985 +0.831277 59.053356 +0.198716 26.878801 +0.860932 90.632930 +0.883250 92.759595 +0.818003 110.272219 +0.949216 115.200237 +0.460078 -35.957981 +0.561077 93.545761 +0.863767 114.125786 +0.476891 -29.774060 +0.537826 81.587922 +0.686224 110.911198 +0.982327 119.114523 +0.944453 92.033481 +0.078227 30.216873 +0.782937 92.588646 +0.465886 2.222139 +0.885024 90.247890 +0.186077 7.144415 +0.915828 84.010074 +0.796649 115.572156 +0.127821 28.933688 +0.433429 6.782575 +0.946796 108.574116 +0.386915 -17.404601 +0.561192 92.142700 +0.182490 10.764616 +0.878792 95.289476 +0.381342 -6.177464 +0.358474 -11.731754 +0.270647 13.793201 +0.488904 -17.641832 +0.106773 5.684757 +0.270112 4.335675 +0.754985 75.860433 +0.585174 111.640154 +0.458821 12.029692 +0.218017 -26.234872 +0.583887 99.413850 +0.923626 107.802298 +0.833620 104.179678 +0.870691 93.132591 +0.249896 -8.618404 +0.748230 109.160652 +0.019365 34.048884 +0.837588 101.239275 +0.529251 115.514729 +0.742898 67.038771 +0.522034 64.160799 +0.498982 3.983061 +0.479439 24.355908 +0.314834 -14.256200 +0.753251 85.017092 +0.479362 -17.480446 +0.950593 99.072784 +0.718623 58.080256 +0.218720 -19.605593 +0.664113 94.437159 +0.942900 131.725134 +0.314226 18.904871 +0.284509 11.779346 +0.004962 -14.624176 +0.224087 -50.547649 +0.974331 112.822725 +0.894610 112.863995 +0.167350 0.073380 +0.753644 105.024456 +0.632241 108.625812 +0.314189 -6.090797 +0.965527 87.418343 +0.820919 94.610538 +0.144107 -4.748387 +0.072556 -5.682008 +0.002447 29.685714 +0.851007 79.632376 +0.458024 -12.326026 +0.627503 139.458881 +0.422259 -29.827405 +0.714659 63.480271 +0.672320 93.608554 +0.498592 37.112975 +0.698906 96.282845 +0.861441 99.699230 +0.112425 -12.419909 +0.164784 5.244704 +0.481531 -18.070497 +0.375482 1.779411 +0.089325 -14.216755 +0.036609 -6.264372 +0.945004 54.723563 +0.136608 14.970936 +0.292285 -41.723711 +0.029195 -0.660279 +0.998307 100.124230 +0.303928 -5.492264 +0.957863 117.824392 +0.815089 113.377704 +0.466399 -10.249874 +0.876693 115.617275 +0.536121 102.997087 +0.373984 -37.359936 +0.565162 74.967476 +0.085412 -21.449563 +0.686411 64.859620 +0.908752 107.983366 +0.982829 98.005424 +0.052766 -42.139502 +0.777552 91.899340 +0.374316 -3.522501 +0.060231 10.008227 +0.526225 87.317722 +0.583872 67.104433 +0.238276 10.615159 +0.678747 60.624273 +0.067649 15.947398 +0.530182 105.030933 +0.869389 104.969996 +0.698410 75.460417 +0.549430 82.558068 diff --git a/testData/RT_data4.txt b/testData/RT_data4.txt new file mode 100755 index 00000000..b9a4a34d --- /dev/null +++ b/testData/RT_data4.txt @@ -0,0 +1,200 @@ +0.070670 3.470829 +0.534076 6.377132 +0.747221 8.949407 +0.668970 8.034081 +0.586082 6.997721 +0.764962 9.318110 +0.658125 7.880333 +0.346734 4.213359 +0.313967 3.762496 +0.601418 7.188805 +0.404396 4.893403 +0.154345 3.683175 +0.984061 11.712928 +0.597514 7.146694 +0.005144 3.333150 +0.142295 3.743681 +0.280007 3.737376 +0.542008 6.494275 +0.466781 5.532255 +0.706970 8.476718 +0.191038 3.673921 +0.756591 9.176722 +0.912879 10.850358 +0.524701 6.067444 +0.306090 3.681148 +0.429009 5.032168 +0.695091 8.209058 +0.984495 11.909595 +0.702748 8.298454 +0.551771 6.715210 +0.272894 3.983313 +0.014611 3.559081 +0.699852 8.417306 +0.309710 3.739053 +0.444877 5.219649 +0.717509 8.483072 +0.576550 6.894860 +0.284200 3.792626 +0.675922 8.067282 +0.304401 3.671373 +0.233675 3.795962 +0.453779 5.477533 +0.900938 10.701447 +0.502418 6.046703 +0.781843 9.254690 +0.226271 3.546938 +0.619535 7.703312 +0.519998 6.202835 +0.399447 4.934647 +0.785298 9.497564 +0.010767 3.565835 +0.696399 8.307487 +0.524366 6.266060 +0.396583 4.611390 +0.059988 3.484805 +0.946702 11.263118 +0.417559 4.895128 +0.609194 7.239316 +0.730687 8.858371 +0.586694 7.061601 +0.829567 9.937968 +0.964229 11.521595 +0.276813 3.756406 +0.987041 11.947913 +0.876107 10.440538 +0.747582 8.942278 +0.117348 3.567821 +0.188617 3.976420 +0.416655 4.928907 +0.192995 3.978365 +0.244888 3.777018 +0.806349 9.685831 +0.417555 4.990148 +0.233805 3.740022 +0.357325 4.325355 +0.190201 3.638493 +0.705127 8.432886 +0.336599 3.868493 +0.473786 5.871813 +0.384794 4.830712 +0.502217 6.117244 +0.788220 9.454959 +0.478773 5.681631 +0.064296 3.642040 +0.332143 3.886628 +0.618869 7.312725 +0.854981 10.306697 +0.570000 6.764615 +0.512739 6.166836 +0.112285 3.545863 +0.723700 8.526944 +0.192256 3.661033 +0.181268 3.678579 +0.196731 3.916622 +0.510342 6.026652 +0.263713 3.723018 +0.141105 3.529595 +0.150262 3.552314 +0.824724 9.973690 +0.588088 6.893128 +0.411291 4.856380 +0.763717 9.199101 +0.212118 3.740024 +0.264587 3.742917 +0.973524 11.683243 +0.250670 3.679117 +0.823460 9.743861 +0.253752 3.781488 +0.838332 10.172180 +0.501156 6.113263 +0.097275 3.472367 +0.667199 7.948868 +0.487320 6.022060 +0.654640 7.809457 +0.906907 10.775188 +0.821941 9.936140 +0.859396 10.428255 +0.078696 3.490510 +0.938092 11.252471 +0.998868 11.863062 +0.025501 3.515624 +0.451806 5.441171 +0.883872 10.498912 +0.583567 6.912334 +0.823688 10.003723 +0.891032 10.818109 +0.879259 10.639263 +0.163007 3.662715 +0.344263 4.169705 +0.796083 9.422591 +0.903683 10.978834 +0.050129 3.575105 +0.605553 7.306014 +0.628951 7.556742 +0.877052 10.444055 +0.829402 9.856432 +0.121422 3.638276 +0.721517 8.663569 +0.066532 3.673471 +0.996587 11.782002 +0.653384 7.804568 +0.739494 8.817809 +0.640341 7.636812 +0.337828 3.971613 +0.220512 3.713645 +0.368815 4.381696 +0.782509 9.349428 +0.645825 7.790882 +0.277391 3.834258 +0.092569 3.643274 +0.284320 3.609353 +0.344465 4.023259 +0.182523 3.749195 +0.385001 4.426970 +0.747609 8.966676 +0.188907 3.711018 +0.806244 9.610438 +0.014211 3.517818 +0.574813 7.040672 +0.714500 8.525624 +0.538982 6.393940 +0.384638 4.649362 +0.915586 10.936577 +0.883513 10.441493 +0.804148 9.742851 +0.466011 5.833439 +0.800574 9.638874 +0.654980 8.028558 +0.348564 4.064616 +0.978595 11.720218 +0.915906 10.833902 +0.285477 3.818961 +0.988631 11.684010 +0.531069 6.305005 +0.181658 3.806995 +0.039657 3.356861 +0.893344 10.776799 +0.355214 4.263666 +0.783508 9.475445 +0.039768 3.429691 +0.546308 6.472749 +0.786882 9.398951 +0.168282 3.564189 +0.374900 4.399040 +0.737767 8.888536 +0.059849 3.431537 +0.861891 10.246888 +0.597578 7.112627 +0.126050 3.611641 +0.074795 3.609222 +0.634401 7.627416 +0.831633 9.926548 +0.019095 3.470285 +0.396533 4.773104 +0.794973 9.492009 +0.889088 10.420003 +0.003174 3.587139 +0.176767 3.554071 +0.943730 11.227731 +0.758564 8.885337 diff --git a/testData/Regression_data.txt b/testData/Regression_data.txt new file mode 100755 index 00000000..ad0df51b --- /dev/null +++ b/testData/Regression_data.txt @@ -0,0 +1,200 @@ +1.000000 0.067732 3.176513 +1.000000 0.427810 3.816464 +1.000000 0.995731 4.550095 +1.000000 0.738336 4.256571 +1.000000 0.981083 4.560815 +1.000000 0.526171 3.929515 +1.000000 0.378887 3.526170 +1.000000 0.033859 3.156393 +1.000000 0.132791 3.110301 +1.000000 0.138306 3.149813 +1.000000 0.247809 3.476346 +1.000000 0.648270 4.119688 +1.000000 0.731209 4.282233 +1.000000 0.236833 3.486582 +1.000000 0.969788 4.655492 +1.000000 0.607492 3.965162 +1.000000 0.358622 3.514900 +1.000000 0.147846 3.125947 +1.000000 0.637820 4.094115 +1.000000 0.230372 3.476039 +1.000000 0.070237 3.210610 +1.000000 0.067154 3.190612 +1.000000 0.925577 4.631504 +1.000000 0.717733 4.295890 +1.000000 0.015371 3.085028 +1.000000 0.335070 3.448080 +1.000000 0.040486 3.167440 +1.000000 0.212575 3.364266 +1.000000 0.617218 3.993482 +1.000000 0.541196 3.891471 +1.000000 0.045353 3.143259 +1.000000 0.126762 3.114204 +1.000000 0.556486 3.851484 +1.000000 0.901144 4.621899 +1.000000 0.958476 4.580768 +1.000000 0.274561 3.620992 +1.000000 0.394396 3.580501 +1.000000 0.872480 4.618706 +1.000000 0.409932 3.676867 +1.000000 0.908969 4.641845 +1.000000 0.166819 3.175939 +1.000000 0.665016 4.264980 +1.000000 0.263727 3.558448 +1.000000 0.231214 3.436632 +1.000000 0.552928 3.831052 +1.000000 0.047744 3.182853 +1.000000 0.365746 3.498906 +1.000000 0.495002 3.946833 +1.000000 0.493466 3.900583 +1.000000 0.792101 4.238522 +1.000000 0.769660 4.233080 +1.000000 0.251821 3.521557 +1.000000 0.181951 3.203344 +1.000000 0.808177 4.278105 +1.000000 0.334116 3.555705 +1.000000 0.338630 3.502661 +1.000000 0.452584 3.859776 +1.000000 0.694770 4.275956 +1.000000 0.590902 3.916191 +1.000000 0.307928 3.587961 +1.000000 0.148364 3.183004 +1.000000 0.702180 4.225236 +1.000000 0.721544 4.231083 +1.000000 0.666886 4.240544 +1.000000 0.124931 3.222372 +1.000000 0.618286 4.021445 +1.000000 0.381086 3.567479 +1.000000 0.385643 3.562580 +1.000000 0.777175 4.262059 +1.000000 0.116089 3.208813 +1.000000 0.115487 3.169825 +1.000000 0.663510 4.193949 +1.000000 0.254884 3.491678 +1.000000 0.993888 4.533306 +1.000000 0.295434 3.550108 +1.000000 0.952523 4.636427 +1.000000 0.307047 3.557078 +1.000000 0.277261 3.552874 +1.000000 0.279101 3.494159 +1.000000 0.175724 3.206828 +1.000000 0.156383 3.195266 +1.000000 0.733165 4.221292 +1.000000 0.848142 4.413372 +1.000000 0.771184 4.184347 +1.000000 0.429492 3.742878 +1.000000 0.162176 3.201878 +1.000000 0.917064 4.648964 +1.000000 0.315044 3.510117 +1.000000 0.201473 3.274434 +1.000000 0.297038 3.579622 +1.000000 0.336647 3.489244 +1.000000 0.666109 4.237386 +1.000000 0.583888 3.913749 +1.000000 0.085031 3.228990 +1.000000 0.687006 4.286286 +1.000000 0.949655 4.628614 +1.000000 0.189912 3.239536 +1.000000 0.844027 4.457997 +1.000000 0.333288 3.513384 +1.000000 0.427035 3.729674 +1.000000 0.466369 3.834274 +1.000000 0.550659 3.811155 +1.000000 0.278213 3.598316 +1.000000 0.918769 4.692514 +1.000000 0.886555 4.604859 +1.000000 0.569488 3.864912 +1.000000 0.066379 3.184236 +1.000000 0.335751 3.500796 +1.000000 0.426863 3.743365 +1.000000 0.395746 3.622905 +1.000000 0.694221 4.310796 +1.000000 0.272760 3.583357 +1.000000 0.503495 3.901852 +1.000000 0.067119 3.233521 +1.000000 0.038326 3.105266 +1.000000 0.599122 3.865544 +1.000000 0.947054 4.628625 +1.000000 0.671279 4.231213 +1.000000 0.434811 3.791149 +1.000000 0.509381 3.968271 +1.000000 0.749442 4.253910 +1.000000 0.058014 3.194710 +1.000000 0.482978 3.996503 +1.000000 0.466776 3.904358 +1.000000 0.357767 3.503976 +1.000000 0.949123 4.557545 +1.000000 0.417320 3.699876 +1.000000 0.920461 4.613614 +1.000000 0.156433 3.140401 +1.000000 0.656662 4.206717 +1.000000 0.616418 3.969524 +1.000000 0.853428 4.476096 +1.000000 0.133295 3.136528 +1.000000 0.693007 4.279071 +1.000000 0.178449 3.200603 +1.000000 0.199526 3.299012 +1.000000 0.073224 3.209873 +1.000000 0.286515 3.632942 +1.000000 0.182026 3.248361 +1.000000 0.621523 3.995783 +1.000000 0.344584 3.563262 +1.000000 0.398556 3.649712 +1.000000 0.480369 3.951845 +1.000000 0.153350 3.145031 +1.000000 0.171846 3.181577 +1.000000 0.867082 4.637087 +1.000000 0.223855 3.404964 +1.000000 0.528301 3.873188 +1.000000 0.890192 4.633648 +1.000000 0.106352 3.154768 +1.000000 0.917886 4.623637 +1.000000 0.014855 3.078132 +1.000000 0.567682 3.913596 +1.000000 0.068854 3.221817 +1.000000 0.603535 3.938071 +1.000000 0.532050 3.880822 +1.000000 0.651362 4.176436 +1.000000 0.901225 4.648161 +1.000000 0.204337 3.332312 +1.000000 0.696081 4.240614 +1.000000 0.963924 4.532224 +1.000000 0.981390 4.557105 +1.000000 0.987911 4.610072 +1.000000 0.990947 4.636569 +1.000000 0.736021 4.229813 +1.000000 0.253574 3.500860 +1.000000 0.674722 4.245514 +1.000000 0.939368 4.605182 +1.000000 0.235419 3.454340 +1.000000 0.110521 3.180775 +1.000000 0.218023 3.380820 +1.000000 0.869778 4.565020 +1.000000 0.196830 3.279973 +1.000000 0.958178 4.554241 +1.000000 0.972673 4.633520 +1.000000 0.745797 4.281037 +1.000000 0.445674 3.844426 +1.000000 0.470557 3.891601 +1.000000 0.549236 3.849728 +1.000000 0.335691 3.492215 +1.000000 0.884739 4.592374 +1.000000 0.918916 4.632025 +1.000000 0.441815 3.756750 +1.000000 0.116598 3.133555 +1.000000 0.359274 3.567919 +1.000000 0.814811 4.363382 +1.000000 0.387125 3.560165 +1.000000 0.982243 4.564305 +1.000000 0.780880 4.215055 +1.000000 0.652565 4.174999 +1.000000 0.870030 4.586640 +1.000000 0.604755 3.960008 +1.000000 0.255212 3.529963 +1.000000 0.730546 4.213412 +1.000000 0.493829 3.908685 +1.000000 0.257017 3.585821 +1.000000 0.833735 4.374394 +1.000000 0.070095 3.213817 +1.000000 0.527070 3.952681 +1.000000 0.116163 3.129283