def plotTest(): featureDatas, classTypes = GradientRegression.loadDataSet() weights = GradientRegression.getBestRegressionWeightsByGradientAscent( featureDatas, classTypes) print weights GradientRegression.plotBestRegressionLine( featureDatas, classTypes, weights)
def randomGradientAscentTest(): featureDatas, classTypes = GradientRegression.loadDataSet() weightsMatrix, weights = GradientRegression.getBestWeightsByRandomGradientAscent( featureDatas, classTypes, 50) print weights GradientRegression.plotBestRegressionLine( featureDatas, classTypes, weights)
def colicTest(): frTrain = open('dataset/trainingDatas.txt') frTest = open('dataset/testDatas.txt') trainingSet = [] trainingLabels = [] for line in frTrain.readlines(): currLine = line.strip().split('\t') lineArr = [] for i in range(len(currLine) - 1): lineArr.append(float(currLine[i])) trainingSet.append(lineArr) trainingLabels.append(float(currLine[-1])) trainWeights = GradientRegression.getBestWeightsByRandomGradientAscent(trainingSet, trainingLabels, 1000)[1] print trainWeights errorCount = 0 numTestVec = 0.0 for line in frTest.readlines(): numTestVec += 1.0 currLine = line.strip().split('\t') lineArr = [] for i in range(len(currLine) - 1): lineArr.append(float(currLine[i])) if int(GradientRegression.logisticClassify(lineArr, trainWeights)) != int(currLine[-1]): errorCount += 1 errorRate = (float(errorCount) / numTestVec) print "the error rate of this test is: %f" % errorRate return errorRate
def weightsTest(): featureDatas, classTypes = GradientRegression.loadDataSet() weights = GradientRegression.getBestRegressionWeightsByGradientAscent(featureDatas, classTypes) print weights
def plotWeightsAstringencyTest(): featureDatas, classTypes = GradientRegression.loadDataSet() GradientRegression.plotWeightsAstringency(featureDatas, classTypes)