本文整理汇总了Python中sandbox.util.Parameter.Parameter类的典型用法代码示例。如果您正苦于以下问题:Python Parameter类的具体用法?Python Parameter怎么用?Python Parameter使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Parameter类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: evaluateCvOuter
def evaluateCvOuter(self, X, y, folds):
"""
Computer the average AUC using k-fold cross validation and the linear kernel.
"""
Parameter.checkInt(folds, 2, float('inf'))
idx = cross_val.StratifiedKFold(y, folds)
metricMethods = [Evaluator.auc2, Evaluator.roc]
if self.kernel == "linear":
logging.debug("Running linear rank SVM ")
trainMetrics, testMetrics = AbstractPredictor.evaluateLearn2(X, y, idx, self.modelSelectLinear, self.predict, metricMethods)
elif self.kernel == "rbf":
logging.debug("Running RBF rank SVM")
trainMetrics, testMetrics = AbstractPredictor.evaluateLearn2(X, y, idx, self.modelSelectRBF, self.predict, metricMethods)
bestTrainAUCs = trainMetrics[0]
bestTrainROCs = trainMetrics[1]
bestTestAUCs = testMetrics[0]
bestTestROCs = testMetrics[1]
bestParams = {}
bestMetaDicts = {}
allMetrics = [bestTrainAUCs, bestTrainROCs, bestTestAUCs, bestTestROCs]
return (bestParams, allMetrics, bestMetaDicts)
示例2: evaluate
def evaluate(self, X1, X2):
"""
Find kernel evaluation between two matrices X1 and X2 whose rows are
examples and have an identical number of columns.
:param X1: First set of examples.
:type X1: :class:`numpy.ndarray`
:param X2: Second set of examples.
:type X2: :class:`numpy.ndarray`
"""
Parameter.checkClass(X1, numpy.ndarray)
Parameter.checkClass(X2, numpy.ndarray)
if X1.shape[1] != X2.shape[1]:
raise ValueError("Invalid matrix dimentions: " + str(X1.shape) + " " + str(X2.shape))
j1 = numpy.ones((X1.shape[0], 1))
j2 = numpy.ones((X2.shape[0], 1))
diagK1 = numpy.sum(X1**2, 1)
diagK2 = numpy.sum(X2**2, 1)
X1X2 = numpy.dot(X1, X2.T)
Q = (2*X1X2 - numpy.outer(diagK1, j2) - numpy.outer(j1, diagK2) )/ (2*self.sigma**2)
return numpy.exp(Q)
示例3: randCrossValidation
def randCrossValidation(folds, numExamples, dtype=numpy.int32):
"""
Returns a list of tuples (trainIndices, testIndices) using k-fold cross
validation. In this case we randomise the indices and then split into
folds.
:param folds: The number of cross validation folds.
:type folds: :class:`int`
:param numExamples: The number of examples.
:type numExamples: :class:`int`
"""
Parameter.checkInt(folds, 1, numExamples)
Parameter.checkInt(numExamples, 2, float('inf'))
foldSize = float(numExamples)/folds
indexList = []
inds = numpy.array(numpy.random.permutation(numExamples), dtype)
for i in range(0, folds):
testIndices = inds[int(foldSize*i): int(foldSize*(i+1))]
trainIndices = numpy.setdiff1d(numpy.arange(0, numExamples), testIndices)
indexList.append((trainIndices, testIndices))
return indexList
示例4: bootstrap2
def bootstrap2(repetitions, numExamples):
"""
Perform 0.632 bootstrap in whcih we take a sample with replacement from
the dataset of size numExamples. The examples not present in the training
set are used to form the test set. We oversample the test set to include
0.368 of the examples from the training set. Returns a list of tuples of the form
(trainIndices, testIndices).
:param repetitions: The number of repetitions of bootstrap to perform.
:type repetitions: :class:`int`
:param numExamples: The number of examples.
:type numExamples: :class:`int`
"""
Parameter.checkInt(numExamples, 2, float('inf'))
Parameter.checkInt(repetitions, 1, float('inf'))
inds = []
for i in range(repetitions):
trainInds = numpy.random.randint(numExamples, size=numExamples)
testInds = numpy.setdiff1d(numpy.arange(numExamples), numpy.unique(trainInds))
#testInds = numpy.r_[testInds, trainInds[0:(numExamples*0.368)]]
inds.append((trainInds, testInds))
return inds
示例5: setSampleReplace
def setSampleReplace(self, sampleReplace):
"""
:param sampleReplace: A boolean to decide whether to sample with replacement.
:type sampleReplace: :class:`bool`
"""
Parameter.checkBoolean(sampleReplace)
self.sampleReplace = sampleReplace
示例6: setNumTrees
def setNumTrees(self, numTrees):
"""
:param numTrees: The number of trees to generate in the forest.
:type numTrees: :class:`int`
"""
Parameter.checkInt(numTrees, 1, float('inf'))
self.numTrees = numTrees
示例7: setMaxDepth
def setMaxDepth(self, maxDepth):
"""
:param maxDepth: the maximum depth of the learnt tree.
:type maxDepth: :class:`int`
"""
Parameter.checkInt(maxDepth, 1, float("inf"))
self.maxDepth = int(maxDepth)
示例8: setErrorCost
def setErrorCost(self, errorCost):
"""
The penalty on errors on positive labels. The penalty for negative labels
is 1.
"""
Parameter.checkFloat(errorCost, 0.0, 1.0)
self.errorCost = errorCost
示例9: setBestResponse
def setBestResponse(self, bestResponse):
"""
:param bestResponse: the label corresponding to "positive"
:type bestResponse: :class:`int`
"""
Parameter.checkInt(bestResponse, -float("inf"), float("inf"))
self.bestResponse = bestResponse
示例10: parallelPenaltyGridRbf
def parallelPenaltyGridRbf(svm, X, y, fullX, gridPoints, pdfX, pdfY1X, pdfYminus1X):
"""
Find out the "ideal" penalty.
"""
Parameter.checkClass(X, numpy.ndarray)
Parameter.checkClass(y, numpy.ndarray)
chunkSize = 10
idealPenalties = numpy.zeros((svm.Cs.shape[0], svm.gammas.shape[0]))
paramList = []
for i in range(svm.Cs.shape[0]):
for j in range(svm.gammas.shape[0]):
paramList.append((X, y, fullX, svm.Cs[i], svm.gammas[j], gridPoints, pdfX, pdfY1X, pdfYminus1X))
pool = multiprocessing.Pool()
resultsIterator = pool.imap(computeIdealPenalty, paramList, chunkSize)
for i in range(svm.Cs.shape[0]):
for j in range(svm.gammas.shape[0]):
idealPenalties[i, j] = resultsIterator.next()
pool.terminate()
return idealPenalties
示例11: setWeight
def setWeight(self, weight):
"""
:param weight: the weight on the positive examples between 0 and 1 (the negative weight is 1-weight)
:type weight: :class:`float`
"""
Parameter.checkFloat(weight, 0.0, 1.0)
self.weight = weight
示例12: predict
def predict(self, X):
"""
Make a prediction for a set of examples given as the rows of the matrix X.
:param X: A matrix with examples as rows
:type X: :class:`ndarray`
:return: A vector of scores corresponding to each example.
"""
Parameter.checkClass(X, numpy.ndarray)
Parameter.checkArray(X)
scores = numpy.zeros(X.shape[0])
root = self.tree.getVertex((0, 0))
root.setTestInds(numpy.arange(X.shape[0]))
#We go down the tree making predictions at each stage
for d in range(self.maxDepth+1):
for k in range(2**d):
if self.tree.vertexExists((d, k)):
self.classifyNode(self.tree, X, d, k)
node = self.tree.getVertex((d,k))
if node.isLeafNode():
inds = node.getTestInds()
scores[inds] = node.getScore()
return scores
示例13: __init__
def __init__(self, fileName):
"""
Lock a job whose results are saved as fileName.
"""
Parameter.checkClass(fileName, str)
self.fileName = fileName
self.lockFileName = self.fileName + ".lock"
示例14: predictEdges
def predictEdges(self, vertexIndices):
"""
This makes a prediction for a series of edges using the following score
\sum_z \in n(x) \cup n(y) = 1/|log(n(z)|
Returns a matrix with rows are a ranked list of verticies of length self.windowSize.
"""
Parameter.checkInt(self.windowSize, 1, self.graph.getNumVertices())
logging.info("Running predictEdges in " + str(self.__class__.__name__))
P = numpy.zeros((vertexIndices.shape[0], self.windowSize))
S = numpy.zeros((vertexIndices.shape[0], self.windowSize))
W = self.graph.getWeightMatrix()
for i in range(vertexIndices.shape[0]):
Util.printIteration(i, self.printStep, vertexIndices.shape[0])
scores = numpy.zeros(self.graph.getNumVertices())
for j in range(0, self.graph.getNumVertices()):
commonNeighbours = numpy.nonzero(W[vertexIndices[i], :] * W[j, :])[0]
for k in commonNeighbours:
q = numpy.log(numpy.nonzero(W[k, :])[0].shape[0])
if q != 0:
scores[j] = scores[j] + 1/q
P[i, :], S[i, :] = self.indicesFromScores(vertexIndices[i], scores)
return P, S
示例15: array1DToRow
def array1DToRow(X, precision=3):
"""
Take a 1D numpy array and print in latex table row format i.e. x1 & x2 .. xn
:param X: The array to print
:type X: :class:`ndarray`
:param precision: The precision of the printed floating point numbers.
:type precision: :class:`int`
"""
Parameter.checkInt(precision, 0, 10)
if X.ndim != 1:
raise ValueError("Array must be one dimensional")
n = X.shape[0]
outputStr = ""
if X.dtype == float:
fmtStr = "%." + str(precision) + "f & "
endFmtStr = "%." + str(precision) + "f"
else:
fmtStr = "%d & "
endFmtStr = "%d"
for i in range(0, n):
if i != n - 1:
outputStr += fmtStr % X[i]
else:
outputStr += endFmtStr % X[i]
return outputStr