為什麼要建立乙個面向應用的拓撲結構層
一、觀察
觀察當前國內外的開放性的sns平台/**(以後簡稱為sns**),可以發現:
1、對於個人來說,sns**目前提供兩種網路:乙個是與好友形成的網路,乙個是加入的群組。(本文把群組與好友形成的網路都簡稱為網路,除非特別說明)
3、個人使用者也可以發起乙個活動(events),因而建立了乙個網路。
4、這些資訊都可以通過api獲取(有些部分的)。
二、問題
1、friends.get,friends.getfriends,得到使用者的好友列表。在整個好友網路中,是第一跳的(採用ip路由的術語)。
2、groups.getmembers,得到乙個群組的成員列表。顯然,這個群組是完全圖。
3、users.getinfo,得到使用者所在學校、公司、地區。
5、events.getmembers,得到乙個活動的成員列表。
我在5g上寫過乙個極其簡單的脫離sns平台的挖掘使用者資料的方法:
1、資料準備,構建乙個稀疏矩陣
2、進行連通性分析,將使用者劃分為子圖。
3、補足,取得每個使用者的好友資訊,例如使用者a的好友a1認識使用者b的好友b1,則人為新增乙個鏈路(方法1)。
如果使用者a與使用者b或者他們的好友同屬於乙個網路(目前sns**的叫法)或者群組,則作為乙個連線(方法2)。
4、計算介數,並通過介數發現社群與社群中心。
5、為每一條邊賦值(以相互瀏覽的和為權),構造乙個無向圖。
6、計算最大流/最小割,分析傳播阻尼。
三、分層的重要性
因此,只有由sns**進行資料分析和提供分析結果(姑且不論所用到的資料分析方法):
1、建立乙個資料結構
2、這種資料結構的優勢
3、檢視的一致性
這一點還沒有完全想好,應該與業務邏輯、**復用有關,先放在這裡吧(以後找機會再討論)。
四、小結
為什麼要找到乙個好的特徵?
好,話不多說,今天讓我們來一起分享下怎麼樣來去選擇乙個好的特徵,並且當我們區分出好的特徵的時候,好的特徵意味著什麼。在這一篇文章中,我們將會用到機器學習的分類器來作為貫穿整篇文章的例子,因為分類器只有在我們提供了好的特徵以後才可以為我們的發揮出自己的好的效果,這也意味著找到好特徵是機器學習能夠學好的...
我為什麼要開發乙個 MixPHP 框架
最近業餘時間一直在開發expressphp的第二個版本 mixphp,今天下班想起之前乙個面試官的問題 你為什麼還要再造乙個輪子呢?仔細回想,第乙個版本,現在想來確實 炫技 的成份比較多,現在推翻第一版,又重構乙個所謂的 高效能php框架 這東西又不賺錢,我到底為了啥?其實,寫程式和寫詩有很多相似之...
拓撲排序演算法的乙個應用
在visual studio net中,乙個解決方案可以包含多個專案,乙個專案可以引用若干其它專案。編譯的時候,vs會自動確定每個專案的編譯順序。vs究竟是如何計算出這個順序的呢?如果學習過資料結構,可以很容易回答出這個問題 拓撲排序 topological sort 上述介紹抽象,不如用實際案例來...