資源簡介
《集體智慧編程》(Programming Collective Intelligence)官方源代碼,非手敲。

代碼片段和文件信息
import?random
import?math
from?math?import?sqrt
from?PIL?import?ImageImageDrawImageFont
#?Returns?the?Pearson?correlation?coefficient?for?p1?and?p2
def?pearson(v1v2):
??#?Simple?sums
??sum1=sum(v1)
??sum2=sum(v2)
??
??#?Sums?of?the?squares
??sum1Sq=sum([pow(v2)?for?v?in?v1])
??sum2Sq=sum([pow(v2)?for?v?in?v2])
??
??#?Sum?of?the?products
??pSum=sum([v1[i]*v2[i]?for?i?in?range(len(v1))])
??
??#?Calculate?r?(Pearson?score)
??num=pSum-(sum1*sum2/len(v1))
??den=sqrt((sum1Sq-pow(sum12)/len(v1))*(sum2Sq-pow(sum22)/len(v1)))
??if?den==0:?return?0
??return?1.0-(num/den)
class?bicluster:
??def?__init__(selfvecleft=Noneright=Nonedistance=0.0id=None):
????self.left=left
????self.right=right
????self.vec=vec
????self.id=id
????self.distance=distance
def?euclidean(v1v2):
??sqsum=sum([math.pow(v1[i]-v2[i]2)?for?i?in?range(len(v1))])
??return?math.sqrt(sqsum)
def?printclust(clustlabels=Nonen=0):
??for?i?in?range(n):?print?‘?‘
??if?clust.id<0:
????print?‘-‘
??else:
????if?labels==None:?print?clust.id
????else:?print?labels[clust.id]
??if?clust.left!=None:?printclust(clust.leftlabels=labelsn=n+1)
??if?clust.right!=None:?printclust(clust.rightlabels=labelsn=n+1)
def?hcluster(vecsdistance=pearson):
??distances={}
??currentclustid=-1
??clust=[bicluster(vecs[i]id=i)?for?i?in?range(len(vecs))]
??while?len(clust)>1:
????lowestpair=(01)
????closest=distance(clust[0].vecclust[1].vec)
????for?i?in?range(len(clust)):
??????for?j?in?range(i+1len(clust)):
????????if?(clust[i].idclust[j].id)?not?in?distances:?
??????????distances[(clust[i].idclust[j].id)]=distance(clust[i].vecclust[j].vec)
????????d=distances[(clust[i].idclust[j].id)]
????????if?d ??????????closest=d
??????????lowestpair=(ij)
????mergevec=[(clust[lowestpair[0]].vec[i]+clust[lowestpair[1]].vec[i])/2.0?for?i?in?range(len(clust[0].vec))]
????error=closest
????newcluster=bicluster(mergevecleft=clust[lowestpair[0]]right=clust[lowestpair[1]]distance=errorid=currentclustid)
????
????currentclustid-=1
????del?clust[lowestpair[1]]
????del?clust[lowestpair[0]]
????clust.append(newcluster)
??return?clust[0]
??
??
def?kcluster(vecsdistance=pearsonk=4):
??ranges=[(min([vec[i]?for?vec?in?vecs])max([vec[i]?for?vec?in?vecs]))?for?i?in?range(len(vecs[0]))]
??clusters=[[random.random()*(ranges[i][1]-ranges[i][0])+ranges[i][0]?for?i?in?range(len(vecs[0]))]?for?j?in?range(k)]
??
??lastmatches=None
??for?t?in?range(100):
????print?‘Iteration?%d‘?%?t
????bestmatches=[[]?for?i?in?range(k)]
????
????for?j?in?range(len(vecs)):
??????vec=vecs[j]
??????bestmatch=0
??????for?i?in?range(k):
????????d=distance(clusters[i]vec)
????????if?d ??????bestmatches[bestmatch].append(j)
????if?bestmatches==lastmatches:?break
????lastmatches=bestmatches
????
????for?i?in?range(k):
??????avgs=[0.0]*len(vecs[0])
??????if?len(bestmatches[i])>0:
???
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
????.......??????6304??2017-06-27?12:14??Programming?Collective?Intelligence\logo.png
?????文件??????24856??2017-06-27?12:14??Programming?Collective?Intelligence\PCI_Code?Folder\chapter10\articles.txt
?????文件???????6802??2017-06-27?12:14??Programming?Collective?Intelligence\PCI_Code?Folder\chapter10\clusters.py
?????文件???????6041??2017-06-27?12:14??Programming?Collective?Intelligence\PCI_Code?Folder\chapter10\docclass.py
?????文件???????2086??2017-06-27?12:14??Programming?Collective?Intelligence\PCI_Code?Folder\chapter10\features.txt
?????文件???????4200??2017-06-27?12:14??Programming?Collective?Intelligence\PCI_Code?Folder\chapter10\newsfeatures.py
?????文件???????1036??2017-06-27?12:14??Programming?Collective?Intelligence\PCI_Code?Folder\chapter10\nnmf.py
?????文件???????3916??2017-06-27?12:14??Programming?Collective?Intelligence\PCI_Code?Folder\chapter10\stockfeatures.txt
?????文件???????1296??2017-06-27?12:14??Programming?Collective?Intelligence\PCI_Code?Folder\chapter10\stockvolume.py
?????文件???????5120??2017-06-27?12:14??Programming?Collective?Intelligence\PCI_Code?Folder\chapter10\Thumbs.db
?????文件???????7030??2017-06-27?12:14??Programming?Collective?Intelligence\PCI_Code?Folder\chapter11\gp.py
?????文件???????9029??2017-06-27?12:14??Programming?Collective?Intelligence\PCI_Code?Folder\chapter11\gp.pyc
?????文件????????908??2017-06-27?12:14??Programming?Collective?Intelligence\PCI_Code?Folder\chapter2\deliciousrec.py
?????文件??????28268??2017-06-27?12:14??Programming?Collective?Intelligence\PCI_Code?Folder\chapter2\pydelicious.py
?????文件???????5856??2017-06-27?12:14??Programming?Collective?Intelligence\PCI_Code?Folder\chapter2\recommendations.py
?????文件?????147123??2017-06-27?12:14??Programming?Collective?Intelligence\PCI_Code?Folder\chapter3\blogdata.txt
?????文件???????8569??2017-06-27?12:14??Programming?Collective?Intelligence\PCI_Code?Folder\chapter3\clusters.py
?????文件???????1275??2017-06-27?12:14??Programming?Collective?Intelligence\PCI_Code?Folder\chapter3\downloadzebodata.py
?????文件???????3888??2017-06-27?12:14??Programming?Collective?Intelligence\PCI_Code?Folder\chapter3\feedlist.txt
?????文件???????1539??2017-06-27?12:14??Programming?Collective?Intelligence\PCI_Code?Folder\chapter3\generatefeedvector.py
?????文件??????12288??2017-06-27?12:14??Programming?Collective?Intelligence\PCI_Code?Folder\chapter3\Thumbs.db
?????文件??????37692??2017-06-27?12:14??Programming?Collective?Intelligence\PCI_Code?Folder\chapter3\zebo.txt
?????文件???????5977??2017-06-27?12:14??Programming?Collective?Intelligence\PCI_Code?Folder\chapter4\nn.py
?????文件??????10854??2017-06-27?12:14??Programming?Collective?Intelligence\PCI_Code?Folder\chapter4\searchengine.py
?????文件???????1559??2017-06-27?12:14??Programming?Collective?Intelligence\PCI_Code?Folder\chapter5\dorm.py
?????文件???????2701??2017-06-27?12:14??Programming?Collective?Intelligence\PCI_Code?Folder\chapter5\kayak.py
?????文件???????5810??2017-06-27?12:14??Programming?Collective?Intelligence\PCI_Code?Folder\chapter5\optimization.py
?????文件???????2943??2017-06-27?12:14??Programming?Collective?Intelligence\PCI_Code?Folder\chapter5\schedule.txt
?????文件???????2222??2017-06-27?12:14??Programming?Collective?Intelligence\PCI_Code?Folder\chapter5\socialnetwork.py
?????文件???????5990??2017-06-27?12:14??Programming?Collective?Intelligence\PCI_Code?Folder\chapter6\docclass.py
............此處省略39個文件信息
- 上一篇:視日軌跡太陽跟蹤裝置控制系統設計
- 下一篇:一萬句中英平行語料庫,不用預處理
評論
共有 條評論