本文整理汇总了Golang中github.com/bobhancock/gomatrix/matrix.DenseMatrix.ColSlice方法的典型用法代码示例。如果您正苦于以下问题:Golang DenseMatrix.ColSlice方法的具体用法?Golang DenseMatrix.ColSlice怎么用?Golang DenseMatrix.ColSlice使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/bobhancock/gomatrix/matrix.DenseMatrix
的用法示例。
在下文中一共展示了DenseMatrix.ColSlice方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: ChooseCentroids
// chooseCentroids picks random centroids based on the min and max values in the matrix
// and return a k by m matrix of the centroids.
func (c randCentroids) ChooseCentroids(mat *matrix.DenseMatrix, k int) *matrix.DenseMatrix {
_, cols := mat.GetSize()
centroids := matrix.Zeros(k, cols)
for colnum := 0; colnum < cols; colnum++ {
r := mat.ColSlice(colnum)
minj := float64(0)
// min value from column
for _, val := range r {
minj = math.Min(minj, val)
}
// max value from column
maxj := float64(0)
for _, val := range r {
maxj = math.Max(maxj, val)
}
// create a slice of random centroids
// based on maxj + minJ * random num to stay in range
for h := 0; h < k; h++ {
randInRange := ((maxj - minj) * rand.Float64()) + minj
centroids.Set(h, colnum, randInRange)
}
}
return centroids
}