Python numpy 模块,Infinity() 实例源码

我们从Python开源项目中,提取了以下27个代码示例,用于说明如何使用numpy.Infinity()

项目:py-graphart    作者:dandydarcy    | 项目源码 | 文件源码
def prim(self):
        '''
        Returns Prim's minimum spanninng tree
        '''
        big_f = set([])
        costs = np.empty((self.n), dtype=object)
        costs[:] = np.max(self.costs) + 1
        big_e = np.empty((self.n), dtype=object)
        big_q = set(range(self.n))
        tree_edges = np.array([], dtype=object)
        while len(big_q) > 0:
            v = np.argmin(costs)
            big_q.remove(v)
            costs[v] = np.Infinity
            big_f.add(v)
            if big_e[v] is not None:
                tree_edges = np.append(tree_edges, None)
                tree_edges[-1] = (big_e[v], v)

            for i, w in zip(range(len(self.FSs[v])), self.FSs[v]):
                if w in big_q and self.FS_costs[v][i] < costs[w]:
                    costs[w] = self.FS_costs[v][i]
                    big_e[w] = v
        return tree_edges
项目:PyGraphArt    作者:dnlcrl    | 项目源码 | 文件源码
def prim(self):
        '''
        Returns Prim's minimum spanninng tree
        '''
        big_f = set([])
        costs = np.empty((self.n), dtype=object)
        costs[:] = np.max(self.costs) + 1
        big_e = np.empty((self.n), dtype=object)
        big_q = set(range(self.n))
        tree_edges = np.array([], dtype=object)
        while len(big_q) > 0:
            v = np.argmin(costs)
            big_q.remove(v)
            costs[v] = np.Infinity
            big_f.add(v)
            if big_e[v] is not None:
                tree_edges = np.append(tree_edges, None)
                tree_edges[-1] = (big_e[v], v)

            for i, w in zip(range(len(self.FSs[v])), self.FSs[v]):
                if w in big_q and self.FS_costs[v][i] < costs[w]:
                    costs[w] = self.FS_costs[v][i]
                    big_e[w] = v
        return tree_edges
项目:swarmops    作者:Hvass-Labs    | 项目源码 | 文件源码
def fitness(self, x, limit=np.Infinity):
        """
        Wraps the fitness-function of the actual problem, whose results
        are logged if the fitness is an improvement.
        """

        # Calculate fitness of the actual problem.
        new_fitness = self.problem.fitness(x=x, limit=limit)

        # If log is desired.
        if self.capacity > 0:
            # If the new fitness is an improvement over the worst-known fitness in the log.
            if new_fitness < self.solutions[-1].fitness:
                # Update the worst solution in the log with the new solution.
                self.solutions[-1] = _LogElement(x=x, fitness=new_fitness)

            # Sort the logged solutions.
            self.solutions = sorted(self.solutions, key=lambda solution: solution.fitness)

        return new_fitness

########################################################################
项目:swarmops    作者:Hvass-Labs    | 项目源码 | 文件源码
def fitness(self, x, limit=np.Infinity):
        """
        This is the fitness function that must be implemented for an
        optimization problem.

        It is also sometimes called the cost- or error-function.

        :param x:
            Calculate the fitness value for these parameters in the search-space.

        :param limit:
            Calculation of the fitness can be aborted if the value is greater than this limit.
            This is used for so-called Pre-Emptive Fitness Evaluation in the MetaFitness-class.
            You can ignore this value.

        :return:
            Fitness-value of x.
        """

        # Raise an exception if the child-class has not implemented this function.
        raise NotImplementedError


########################################################################
项目:anonymisation    作者:SGMAP-AGD    | 项目源码 | 文件源码
def get_k(df, groupby, unknown=None):
    """
        Return the k-anonymity level of a df, grouped by the specified columns.

        :param df: The dataframe to get k from
        :param groupby: The columns to group by
        :type df: pandas.DataFrame
        :type groupby: Array
        :return: k-anonymity
        :rtype: int
    """
    df = _remove_unknown(df, groupby, unknown)
    size_group = df.groupby(groupby).size()
    if len(size_group) == 0:
        return np.Infinity
    return min(size_group)
项目:mondrian-kernel    作者:matejbalog    | 项目源码 | 文件源码
def sample_cut(lX, uX, birth_time):
    rate = np.sum(uX - lX)
    if rate > 0:
        E = np.random.exponential(scale=1.0/rate)
        cut_time = birth_time + E
        dim = sample_discrete(uX - lX)
        loc = lX[dim] + (uX[dim] - lX[dim]) * np.random.rand()
        return cut_time, dim, loc
    else:
        return np.Infinity, None, None


# FOURIER FEATURES
项目:py-graphart    作者:dandydarcy    | 项目源码 | 文件源码
def bellman_ford(self, source):
        '''
        Returns Labels-algorithm's shortest paths from source to all other
        nodes, if the (directed) graph doesn't contains cycles
        '''
        if self.oriented is False:
            print 'cannot apply bellman_ford, graph is not oriented'
            return
        dist = np.array([np.Infinity for x in range(self.n)], dtype=np.float32)
        pred = np.empty((self.n), dtype=np.int)
        pred[source] = source
        dist[source] = 0

        for i in np.arange(1, self.n):
            for e in range(len(self.edges)):
                if dist[self.edges[e][0]] + self.costs[e] < dist[self.edges[e][1]]:
                    dist[self.edges[e][1]] = dist[
                        self.edges[e][0]] + self.costs[e]
                    pred[self.edges[e][1]] = self.edges[e][0]

        for e in range(len(self.edges)):
            if dist[self.edges[e][1]] > dist[self.edges[e][0]] + self.costs[e]:
                print 'Error, Graph contains a negative-weight cycle'
                break

        edges = np.array([], dtype=object)
        for v in range(len(pred)):
            edges = np.append(edges, None)
            edges[-1] = [pred[v], v]

        return edges  # , prev, dist
项目:py-graphart    作者:dandydarcy    | 项目源码 | 文件源码
def floyd_warshall(self, source):
        '''
        Returns floyd_warshall's shortest paths from source to all other
        nodes, if the (directed) graph doesn't contains negative cycles
        '''
        print '''warning! apply this algorithm only if constricted, it takes\\
        O(n^3)!'''
        print 'O(n^3) = O(', self.n**3, ')'
        dist = np.empty((self.n, self.n), dtype=np.float32)
        pred = np.zeros((self.n, self.n), dtype=np.int)
        dist.fill(np.Infinity)
        for v in range(self.n):
            dist[v][v] = .0
        for e in range(len(self.edges)):
            u = self.edges[e][0]
            v = self.edges[e][1]
            dist[u][v] = self.costs[e]
            pred[u][v] = v
        for h in range(1, self.n):
            for i in range(1, self.n):
                for j in range(self.n):
                    if dist[i][h] + dist[h][j] < dist[i][j]:
                        dist[i][j] = dist[i][h] + dist[h][j]
                        pred[i][j] = pred[h][j]
            for i in range(1, self.n):
                if dist[i][i] < 0:
                    print 'Error! found negative cycle, thus the problem is inferiorly unlinmited'
                    return
        edges = np.array([], dtype=object)
        for v in range(len(pred)):
            edges = np.append(edges, None)
            edges[-1] = [pred[source][v], v]

        return edges  # , prev, dist
项目:PyGraphArt    作者:dnlcrl    | 项目源码 | 文件源码
def bellman_ford(self, source):
        '''
        Returns Labels-algorithm's shortest paths from source to all other
        nodes, if the (directed) graph doesn't contains cycles
        '''
        if self.oriented is False:
            print 'cannot apply bellman_ford, graph is not oriented'
            return
        dist = np.array([np.Infinity for x in range(self.n)], dtype=np.float32)
        pred = np.empty((self.n), dtype=np.int)
        pred[source] = source
        dist[source] = 0

        for i in np.arange(1, self.n):
            for e in range(len(self.edges)):
                if dist[self.edges[e][0]] + self.costs[e] < dist[self.edges[e][1]]:
                    dist[self.edges[e][1]] = dist[
                        self.edges[e][0]] + self.costs[e]
                    pred[self.edges[e][1]] = self.edges[e][0]

        for e in range(len(self.edges)):
            if dist[self.edges[e][1]] > dist[self.edges[e][0]] + self.costs[e]:
                print 'Error, Graph contains a negative-weight cycle'
                break

        edges = np.array([], dtype=object)
        for v in range(len(pred)):
            edges = np.append(edges, None)
            edges[-1] = [pred[v], v]

        return edges  # , prev, dist
项目:PyGraphArt    作者:dnlcrl    | 项目源码 | 文件源码
def floyd_warshall(self, source):
        '''
        Returns floyd_warshall's shortest paths from source to all other
        nodes, if the (directed) graph doesn't contains negative cycles
        '''
        print '''warning! apply this algorithm only if constricted, it takes\\
        O(n^3)!'''
        print 'O(n^3) = O(', self.n**3, ')'
        dist = np.empty((self.n, self.n), dtype=np.float32)
        pred = np.zeros((self.n, self.n), dtype=np.int)
        dist.fill(np.Infinity)
        for v in range(self.n):
            dist[v][v] = .0
        for e in range(len(self.edges)):
            u = self.edges[e][0]
            v = self.edges[e][1]
            dist[u][v] = self.costs[e]
            pred[u][v] = v
        for h in range(1, self.n):
            for i in range(1, self.n):
                for j in range(self.n):
                    if dist[i][h] + dist[h][j] < dist[i][j]:
                        dist[i][j] = dist[i][h] + dist[h][j]
                        pred[i][j] = pred[h][j]
            for i in range(1, self.n):
                if dist[i][i] < 0:
                    print 'Error! found negative cycle, thus the problem is inferiorly unlinmited'
                    return
        edges = np.array([], dtype=object)
        for v in range(len(pred)):
            edges = np.append(edges, None)
            edges[-1] = [pred[source][v], v]

        return edges  # , prev, dist
项目:poi    作者:jchluo    | 项目源码 | 文件源码
def predict(self, user, loc):
        """Predict the probability about user will checkin in loc.
        prob = Pr[l|Li] = IIPr[l, li] (li in Li)
        see: Exploiting Geographical Influence for Collaborative 
             Point-of-Interest Recommendation
        """
        if user in self._cache:
            if loc not in self._cache[user]:
                return 0.0
            return self._cache[user][loc]

        self._cache[user] = {}
        max_y = -np.Infinity
        for l in xrange(self.num_items):
            if l in self.checkins[user]:
                continue
            y = 0.0 
            for li in self.checkins[user]:
                d = distance(self.locations[l], self.locations[li]) / 1000.0
                y += np.log(self.prob(d))
            if y > max_y:
                max_y = y
            self._cache[user][l] = y
        for l, y in self._cache[user].items():
            self._cache[user][l] = math.e ** (y - max_y)

        if loc not in self._cache[user]:
            return 0.0
        return self._cache[user][loc]
项目:swarmops    作者:Hvass-Labs    | 项目源码 | 文件源码
def __init__(self, x=None, fitness=np.Infinity):
        """
        Create object instance.

        :param x: Position in the search-space aka. candidate solution.
        :param fitness: Associated fitness of the position in the search-space.
        :return: Object instance.
        """

        # Copy arguments to instance variables.
        self.x = x
        self.fitness = fitness


########################################################################
项目:swarmops    作者:Hvass-Labs    | 项目源码 | 文件源码
def fitness(self, x, limit=np.Infinity):
        return np.sum(x ** 2)
项目:swarmops    作者:Hvass-Labs    | 项目源码 | 文件源码
def fitness(self, x, limit=np.Infinity):
        return np.sum(100.0 * (x[1:] - x[:-1] ** 2) ** 2 + (1.0 - x[:-1]) ** 2)
项目:swarmops    作者:Hvass-Labs    | 项目源码 | 文件源码
def fitness(self, x, limit=np.Infinity):
        return np.sum(x ** 2 + 10.0 - 10.0 * np.cos(2 * np.pi * x))
项目:swarmops    作者:Hvass-Labs    | 项目源码 | 文件源码
def fitness(self, x, limit=np.Infinity):
        return np.sum([np.sum(x[:i])**2 for i in range(self.dim)])
项目:swarmops    作者:Hvass-Labs    | 项目源码 | 文件源码
def fitness(self, x, limit=np.Infinity):
        return np.max(np.abs(x))
项目:swarmops    作者:Hvass-Labs    | 项目源码 | 文件源码
def fitness(self, x, limit=np.Infinity):
        absx = np.abs(x)
        fitness = np.sum(absx) + np.prod(absx)

        # For large dim, np.prod(absx) often overflows to infinity.
        # This means the optimizers cannot work properly.
        # So we limit the fitness to 1e20.
        if fitness == np.Infinity or fitness > 1e20:
            fitness = 1e20

        return fitness
项目:swarmops    作者:Hvass-Labs    | 项目源码 | 文件源码
def fitness(self, x, limit=np.Infinity):
        return np.sum(np.floor(x + 0.5) ** 2)
项目:swarmops    作者:Hvass-Labs    | 项目源码 | 文件源码
def fitness(self, x, limit=np.Infinity):
        value = np.e + 20.0 - 20.0 * np.exp(-0.2 * np.sqrt(np.sum(x ** 2) / self.dim)) \
                - np.exp(np.sum(np.cos(2 * np.pi * x)) / self.dim)

        # Due to rounding errors, the value is sometimes slightly negative.
        # This gives a warning in the MetaFitness-class.
        if value < 0.0:
            value = 0.0

        return value
项目:swarmops    作者:Hvass-Labs    | 项目源码 | 文件源码
def fitness(self, x, limit=np.Infinity):
        # Split the calculation into smaller formulas.
        y = 1.0 + (x + 1.0) / 4.0
        a = 10.0 * np.sin(np.pi * y[0]) ** 2
        b = np.sum(((y[:-1] - 1.0) ** 2) * (1.0 + 10.0 * (np.sin(np.pi * y[1:]) ** 2)))
        c = (y[-1] - 1.0) ** 2

        # Penalty term.
        penalty = _penalty(x, 10.0, 100.0, 4.0)

        return np.pi * (a + b + c) / self.dim + penalty
项目:swarmops    作者:Hvass-Labs    | 项目源码 | 文件源码
def fitness(self, x, limit=np.Infinity):
        # Split the calculation into smaller formulas.
        a = np.sin(3 * np.pi * x[0]) ** 2
        b = np.sum(((x[:-1] - 1.0) ** 2) * (1.0 + np.sin(3 * np.pi * x[1:]) ** 2))
        c = (x[-1] - 1.0) ** 2 * (1.0 + np.sin(2 * np.pi * x[-1])**2)

        # Penalty term.
        penalty = _penalty(x, 5.0, 100.0, 4.0)

        return 0.1 * (a + b + c) / self.dim + penalty


########################################################################

# List of all of the above classes for benchmark problems.
项目:swarmops    作者:Hvass-Labs    | 项目源码 | 文件源码
def sphere_func(x, limit=np.Infinity):
    return np.sum(x*x)


########################################################################
项目:seqhawkes    作者:mlukasik    | 项目源码 | 文件源码
def mu_fullsum_func(
    mu,
    node_vec,
    eventmemes,
    etimes,
    T,
    gamma,
    alpha,
    omega,
    W,
    beta,
    kernel_evaluate,
    K_evaluate,
    ):
    '''
    '''

#     return -evaluate_nonapproximated_loglikelihood_wordsbyusers(node_vec, eventmemes, etimes,
#                                                                 T, mu, gamma, alpha, omega, W, beta,
#                                                                 kernel_evaluate, K_evaluate)

    ll = 0

##     alpha_summedrows=np.sum(alpha, axis=1)

    for (eventidx, (infected_u, eventmeme, etime1)) in \
        enumerate(izip(node_vec, eventmemes, etimes)):

#        ll+=gamma[eventmeme]*mu[infected_u]

        ll += event_nonapproximated_logintensity(  #                                                etimes, node_vec, eventmemes,
            infected_u,
            eventmeme,
            etime1,
            T,
            etimes[:eventidx],
            node_vec[:eventidx],
            eventmemes[:eventidx],
            mu,
            gamma,
            omega,
            alpha,
            kernel_evaluate,
            )

##         ll-=alpha_summedrows[int(infected_u)]*K_evaluate(etime1, T, omega)
##         if -ll==np.Infinity:
##             event_nonapproximated_logintensity(infected_u, eventmeme, etime1, T, etimes[:eventidx], node_vec[:eventidx],
##                                                eventmemes[:eventidx], mu, gamma, omega, alpha, kernel_evaluate)

    ll -= T * np.sum(np.outer(mu, gamma))
    return -ll


# =====
项目:seqhawkes    作者:mlukasik    | 项目源码 | 文件源码
def event_approximated_logintensity(
    infected_u,
    eventmeme,
    etime1,
    T,
    etimes,
    node_vec,
    eventmemes,
    mu,
    gamma,
    omega,
    alpha,
    kernel_evaluate,
    print_summed_elements=False,
    ):

    components = []
    added_component = False
    ll = 0
    if mu[int(infected_u)] * gamma[int(eventmeme)] > 0:
        ll += np.log(mu[int(infected_u)] * gamma[int(eventmeme)])
        components.append(np.log(mu[int(infected_u)]
                          * gamma[int(eventmeme)]))
        added_component = True

    for (eventidx, (etime2, node2, eventmeme2)) in \
        enumerate(izip(etimes, node_vec, eventmemes)):
        if etime2 < etime1:
            if eventmeme2 == eventmeme:
                intensity_val = alpha[int(node2), int(infected_u)] \
                    * kernel_evaluate(etime1, etime2, omega)
                if intensity_val > 0:
                    ll += np.log(intensity_val)
                    components.append(np.log(intensity_val))
                    added_component = True

    # If there are other components then 0, we can ignore zeros; however,
    # if there are no components whatsoever, then we get minus infinity

    if not added_component:
        ll = -np.Infinity
    if print_summed_elements:
        print '\t\t\t\t\t\t\t\t\t\t\t[event_approximated_logintensity] intensity=' \
            + '+ '.join(map(lambda x: '%10.6f' % x, components))
    return ll
项目:seqhawkes    作者:mlukasik    | 项目源码 | 文件源码
def evaluate_loglikelihood_nowords(
    node_vec,
    eventmemes,
    etimes,
    T,
    mu,
    gamma,
    alpha,
    omega,
    kernel_evaluate,
    K_evaluate,
    event_logintensity_func,
    ):

    ll = 0
    alpha_summedrows = np.sum(alpha, axis=1)
    for (eventidx, (infected_u, eventmeme, etime1)) in \
        enumerate(izip(node_vec, eventmemes, etimes)):
        ll += event_logintensity_func(
            infected_u,
            eventmeme,
            etime1,
            T,
            etimes[:eventidx],
            node_vec[:eventidx],
            eventmemes[:eventidx],
            mu,
            gamma,
            omega,
            alpha,
            kernel_evaluate,
            )
        ll -= alpha_summedrows[int(infected_u)] * K_evaluate(etime1, T,
                omega)
        if -ll == np.Infinity:
            event_logintensity_func(
                infected_u,
                eventmeme,
                etime1,
                T,
                etimes[:eventidx],
                node_vec[:eventidx],
                eventmemes[:eventidx],
                mu,
                gamma,
                omega,
                alpha,
                kernel_evaluate,
                )

    ll -= T * np.sum(np.outer(mu, gamma))
    return ll


# TODO: need to write a test for this!
项目:seqhawkes    作者:mlukasik    | 项目源码 | 文件源码
def alpha_fullsum_func(
    alpha,
    node_vec,
    eventmemes,
    etimes,
    T,
    mu,
    gamma,
    omega,
    W,
    beta,
    kernel_evaluate,
    K_evaluate,
    ):
    '''
    '''

#     res=0
#    for alphaij_sub in alphaij:
#    alpha[indexes[0]][indexes[1]]=alphaij_sub
#     res=evaluate_nonapproximated_loglikelihood_wordsbyusers(node_vec, eventmemes, etimes,
#                                                             T, mu, gamma, alpha, omega, W, beta,
#                                                             kernel_evaluate, K_evaluate)

    ll = 0

    alpha_summedrows = np.sum(alpha, axis=1)
    for (eventidx, (infected_u, eventmeme, etime1)) in \
        enumerate(izip(node_vec, eventmemes, etimes)):
        ll += event_nonapproximated_logintensity(
            infected_u,
            eventmeme,
            etime1,
            T,
            etimes[:eventidx],
            node_vec[:eventidx],
            eventmemes[:eventidx],
            mu,
            gamma,
            omega,
            alpha,
            kernel_evaluate,
            )
        ll -= alpha_summedrows[int(infected_u)] * K_evaluate(etime1, T,
                omega)

#         if -ll==np.Infinity:
#             event_nonapproximated_logintensity(infected_u, eventmeme, etime1, T,
#                                                etimes[:eventidx], node_vec[:eventidx], eventmemes[:eventidx],
#                                                mu, gamma, omega, alpha, kernel_evaluate)
#
#     ll-=T*np.sum(np.outer(mu, gamma))

    return -ll


# =====