美文网首页
数据_常用命令_Python

数据_常用命令_Python

作者: 计算士 | 来源:发表于2015-06-02 09:57 被阅读880次

打印计数器

def flushPrint(variable):
    sys.stdout.write('\r')
    sys.stdout.write('%s' % variable)
    sys.stdout.flush()

单变量最小二乘(OLS)回归拟合

def OLSRegressFit(x,y):
   xx = sm.add_constant(x, prepend=True)
   res = sm.OLS(y,xx).fit()
   constant, beta = res.params
   r2 = res.rsquared
   return [constant, beta, r2]

双对数坐标系下线性回归拟合画图(幂律函数)

def alloPlot(x,y,col,lab):
    lx = np.log(x+1)
    ly = np.log(y+1)
    xx = sm.add_constant(lx, prepend=True)
    res = sm.OLS(ly,xx).fit()
    constant, beta = res.params
    plt.plot(x,y, "o",color=col)
    plt.plot(x,np.exp(constant)*x**beta,color=col,label=lab+' '+str(np.round(beta,2)))

纵轴对数坐标下线性回归拟合(指数函数)

def semilogPlot(x,y,col,lab):
    ly = np.log(y)
    xx = sm.add_constant(x, prepend=True)
    res = sm.OLS(ly,xx).fit()
    constant, beta = res.params
    plt.plot(x,y, "o",color=col)
    plt.plot(x,np.exp(constant+x*beta),color=col,label=lab+' '+str(np.round(beta,2)))

计算一个平衡过的流网络从源到各节点的流距离

def flowDistanceFromSource(G): #input a balanced nx graph
    R = G.reverse()
    mapping = {'source':'sink','sink':'source'}
    H = nx.relabel_nodes(R,mapping)
    #---------initialize flow distance dict------
    L = dict((i,1) for i in G.nodes())
    #---------prepare weighted out-degree dict------
    T = G.out_degree(weight='weight')
    #---------iterate until converge------------
    ls = np.array(L.values())
    delta = len(L)*0.001 + 1
    k=0
    while delta > len(L)*0.001:
        k+=1
        if k>20:
            break
        for i in L:
            l=1
            for m,n in H.edges(i):
                l+=L[n]*H[m][n].values()[0]/float(T[m])
            L[i]=l
        delta = sum(np.abs(np.array(L.values()) - ls))
        ls = np.array(L.values())
    #---------clean the result-------
    del L['sink']
    for i in L:
        L[i]-=1
    L['sink'] = L.pop('source')
    L['source'] = 0
    return L

计算一个平衡过的流网络从各节点到汇的流距离

def flowDistanceToSink(G): #input a balanced nx graph
    #---------initialize flow distance dict------
    L = dict((i,1) for i in G.nodes())
    #---------prepare weighted out-degree dict------
    T = G.out_degree(weight='weight')
    #---------iterate until converge------------
    ls = np.array(L.values())
    delta = len(L)*0.001 + 1
    k=0
    while delta > len(L)*0.001:
        k+=1
        if k>20:
            break
        for i in L:
            l=1
            for m,n in G.edges(i):
                l+=L[n]*G[m][n].values()[0]/float(T[m])
            L[i]=l
        delta = sum(np.abs(np.array(L.values()) - ls))
        ls = np.array(L.values())
    for i in L:
        L[i]-=1
    return L

相关文章

  • Mysql NO.1 库&表级操作常用命令

    库级操作常用命令: 表级操作常用命令: 插入数据: 查询数据: 修改数据: 删除数据:

  • python 命令

    python 常用命令总结 http://www.runoob.com/python3/python3-upper...

  • mysql 常用命令

    MySQL 数据库常用命令 1、MySQL常用命令 create database name; 创建数据库use ...

  • MySQL数据库常用命令

    MySQL 数据库常用命令 1、MySQL常用命令 create database name; 创建数据库 use...

  • mysql的简单操作

    mySQL 数据库常用命令1、MySQL常用命令create database name; 创建数据库use da...

  • 数据_常用命令_Python

    打印计数器 单变量最小二乘(OLS)回归拟合 双对数坐标系下线性回归拟合画图(幂律函数) 纵轴对数坐标下线性回归拟...

  • Redis-数据结构&常用指令

    零、本文纲要 一、Redis数据结构二、Redis常用命令三、String类型&常用命令四、Hash类型&常用命令...

  • python 系统常用命令(二)

    python封装常用系统命令 python写的系统常用命令,linux和windows通用,用的时候直接from ...

  • pipenv的使用

    pipenv是一个python包管理工具,它能同时管理python虚拟环境和python依赖,官方推荐。 常用命令...

  • pipenv的使用

    pipenv是一个python包管理工具,它能同时管理python虚拟环境和python依赖,官方推荐。 常用命令...

网友评论

      本文标题:数据_常用命令_Python

      本文链接:https://www.haomeiwen.com/subject/slldqttx.html