python-ML学习小计-L3-K聚类-标准化函数

class KMean(object):

    def __init__(self,k):

        self._data=[]

        self._normalizeData=[]

        self._memeberOfClusters=[]

        self._maxIteration=None

        self._clusterCenters=[]

        self._pointChangedNum=0

        self._k=k

        self._comment=[]

    def _getColumMeanAndStd(self, column):

        sumx=0.0

        sumx2=0.0

        for x in column:

            sumx+=x

            sumx2+=x**2

        n=len(column)

       mean=sum/n

       d=sumx2/n-mean**2

        std=pow(d,0.5)

        return (round(mean,3),round(std,3))

    def _getColumnMedian(self,column):

        columncopy=list(column)

        columncopy.sort()

        clen=len(columncopy)

        if clen%2==0:

            return (columncopy[clen/2]+columncopy[clen/2-1])/2

        else:

            return columncopy[(clen-1)/2]

   def normalizeOneColumn(self,column):

        cmedian=self._getColumnMedian(column)

        csum=sum([abs(x-cmedian) for x in column])*1.0

       asd=round(csum/len(column),3)

       result=[round((x-cmedian)/asd,3) for x in column]

    return result

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容