㈠ 怎樣基於python networkx實現社區發現
k_clique_communities的input是G,networkx的graph的數據結構。 所以原鏈接的test.txt文件應該是包涵一個graph的文件。
networkx可以讀取的graph文件種類如鏈接所示。Reading and writing graphs
常見的類型有edgelist (usually stored as a text file)和GML。如果我們用Network data 的dolphins social network (which is stored as a GML file)做例子的話,運行如下的code:
import networkx as nx import matplotlib.pyplot as plt G = nx.read_gml('dolphins.gml')klist = list(nx.k_clique_communities(G,3)) #list of k-cliques in the network. each element contains the nodes that consist the clique.#plottingpos = nx.spring_layout(G)plt.clf()nx.draw(G,pos = pos, with_labels=False)nx.draw(G,pos = pos, nodelist = klist[0], node_color = 'b')nx.draw(G,pos = pos, nodelist = klist[1], node_color = 'y')plt.show()
我們的到如下結果:
<img src="https://pic3.mg.com/50/v2-_hd.png" data-rawwidth="800" data-rawheight="600" class="origin_image zh-lightbox-thumb" width="800" data-original="https://pic3.mg.com/v2-_r.png">
which gives us four clique communities.
㈡ python畫網路圖的問題
可以用python的一個包networkx,在這里下載http://pypi.python.org/pypi/networkx/#downloads
安裝後,在python shell 里可以編寫如下代碼:
import networkx as nx
G=nx.Graph()
G.add_node("spam")
G.add_edge(1,2)
print(G.nodes())[1, 2, 'spam']
print(G.edges())[(1, 2)]
然後按F5執行,即可看到上面的圖。
㈢ Hopfield神經網路用python實現講解
神經網路結構具有以下三個特點:
神經元之間全連接,並且為單層神經網路。
每個神經元既是輸入又是輸出,導致得到的權重矩陣相對稱,故可節約計算量。
在輸入的激勵下,其輸出會產生不斷的狀態變化,這個反饋過程會一直反復進行。假如Hopfield神經網路是一個收斂的穩定網路,則這個反饋與迭代的計算過程所產生的變化越來越小,一旦達到了穩定的平衡狀態,Hopfield網路就會輸出一個穩定的恆值。
Hopfield網路可以儲存一組平衡點,使得當給定網路一組初始狀態時,網路通過自行運行而最終收斂於這個設計的平衡點上。當然,根據熱力學上,平衡狀態分為stable state和metastable state, 這兩種狀態在網路的收斂過程中都是非常可能的。
為遞歸型網路,t時刻的狀態與t-1時刻的輸出狀態有關。之後的神經元更新過程也採用的是非同步更新法(Asynchronous)。
Hopfield神經網路用python實現
㈣ python畫網路圖
用PIL可以劃出來。。這個好劃,
假設是400*200的圖。。,我劃一下。稍後給你代碼
㈤ 怎麼用python寫mininet的拓撲
為Mininet添加自定義拓撲:Mininet原生提供了多種拓撲類型:SingleSwitchTopo:簡單拓撲(Host——Switch——Host)LinearTopo(k,n):鏈狀拓撲,k台交換機以單鏈形態連接,分別下接n台主機TreeTopo(depth,fanout):樹形拓撲,創建一個深度為depth、扇出為fanout的樹狀拓撲Mininet默認情況下並沒有實現胖樹的網路拓撲,但Mininet支持添加自定義拓撲的功能。本文根據Mininet自帶的拓撲定義,在原拓撲庫中添加了胖樹拓撲類,實現從命令行直接啟動k叉胖樹拓撲環境。(註:加粗的代碼行為自定義拓撲關鍵部分)mininet/topo.py:所有的拓撲類都繼承自topo模塊下的Topo基類,Topo基類實現了addNode、addSwitch、addHost、addPort、addLink等添加節點、鏈路的重要方法。Topo模塊中還實現了單交換機拓撲SingleSwitchTopo類和鏈狀拓撲LinearTopo類。mininet/topolib.py:topolib模塊中定義了樹狀拓撲TreeTopo類,自定義的拓撲類可以定義在topolib模塊下也可定義在topo模塊下,拓撲類的__init__方法中可添加構建拓撲所需要的參數,Mininet在調用拓撲類時會將從命令行接收的topo選項之後的參數*args和關鍵字參數**kwargs傳遞到該拓撲類的__init__方法中初始化該拓撲類的對象。如本文中定義的FatTree拓撲類需要接收參數k以確定胖樹的叉數:classFatTreeTopo(Topo):def__init__(self,k=4):"Createfat-treetopo."#initializationcodebin/mn:mn是Mininet執行的解釋器,負責解析參數,定義了MininetRunner類用來構建、配置並運行整個Mininet平台。自定義的拓撲類需要導入mn中,然後在存放拓撲參數的字典TOPOS中加入對應的鍵值,就可以在mn命令中使用自定義的拓撲了:frommininet.topolibimportFatTreeTopoTOPOS={'linear':LinearTopo,'single':SingleSwitchTopo,'tree':TreeTopo,'fattree':FatTreeTopo}啟動8叉胖樹自定義拓撲的Mininet拓撲環境:$sudomn--topo=fattree,k=8
㈥ 現在tensorflow和mxnet很火,是否還有必要學習scikit-learn等框架
很有必要,但不用太深入,在Kaggle上認真搞2,3個比賽能進10%的程度就夠了
㈦ 哪些專業會深入學習到python
就我所知的專業需要學習python專業課的有(基本上數據結構學得越深,python就學得越深):軟體工程、通信工程、物聯網、機器人、信息管理、信息技術、計算機科學……
㈧ BP神經網路——Python簡單實現三層神經網路(Numpy)
我們將在Python中創建一個NeuralNetwork類,以訓練神經元以給出准確的預測。該課程還將具有其他幫助程序功能。
1. 應用Sigmoid函數
我們將使用 Sigmoid函數 (它繪制一條「 S」形曲線)作為神經網路的激活函數。
2. 訓練模型
這是我們將教神經網路做出准確預測的階段。每個輸入將具有權重(正或負)。
這意味著具有大量正權重或大量負權重的輸入將對結果輸出產生更大的影響。
我們最初是將每個權重分配給一個隨機數。
本文參考翻譯於此網站 —— 原文
㈨ 各位幫幫忙! 如何用 SNMP 得到 一個在跑OSPF協議的網路拓撲 的信息,如果能透過Python完成 就更好了
snmp-server community cisco RO
snmp-server enable traps ospf state-change
snmp-server enable traps ospf errors
snmp-server enable traps ospf retransmit
snmp-server enable traps ospf lsa
snmp-server enable traps ospf cisco-specific state-change nssa-trans-change
snmp-server enable traps ospf cisco-specific state-change shamlink interface-old
snmp-server enable traps ospf cisco-specific state-change shamlink neighbor
snmp-server enable traps ospf cisco-specific errors
snmp-server enable traps ospf cisco-specific retransmit
snmp-server enable traps ospf cisco-specific lsa
snmp-server host 10.1.1.2 version 2c cisco ospf
建議使用NETFLOW,因為SNMP是簡單的管理協議,他採集的只是硬體上的信息。
而NETFLOW是採集流量基於軟體圖形分析的信息,他能夠採集到路由的源目IP,工作方式,類型,以及產生的流量,可是他是基於介面的採集。
㈩ 《Python神經網路》2——神經元
雖然計算機擁有相對大量的電子計算元件、巨大的存儲空間,並且這些計算機的運行頻率比肉蓬蓬、軟綿綿的生物大腦要快得多,但是即使是像鴿子一樣小的大腦,其能力也遠遠大於這些電子計算機。
傳統的計算機按照嚴格的串列順序,相當准確具體地處理數據。對於這些冰冷堅硬的計算機而言,不存在模糊性和不確定性。而另一方面,動物的大腦表面上看起來以慢得多的節奏運行,卻似乎以並行方式處理信號,模糊性是其計算的一種特徵。
雖然神經元有各種形式,但是所有的神經元都是將電信號從一端傳輸到另一端,沿著軸突,將電信號從樹突傳到樹突。然後,這些信號從 一個神經元傳遞到另一個神經元。
我們需要多少神經元才能執行相對復雜的有趣任務呢?
一般來說,能力非常強的人類大腦有大約1000億個神經元!一隻果蠅有約10萬個神經元,能夠飛翔、覓食、躲避危險、尋找食物以及執行許多相當復雜的任務。 10萬個神經元,這個數字恰好落在了現代計算機試圖復制的范圍內。 一隻線蟲僅僅具有302個神經元,與今天的數字計算資源相比,簡直就是微乎其微!但是一直線蟲能夠完成一些相當有用的任務,而這些任務對於尺寸大得多的傳統計算機程序而言卻難以完成。
激活函數:
階躍函數,S函數。