- 将字符串以某种符号为标志进行分割:
new_list=str.split()
# 默认分割标志为“空格”
-
random.sample()
方法里面可传入两个参数:first:样本空间
second:传出样本数
这个方法,传出的样本与样本空间属相同类型数据,即
list
仍未list
,而array
仍为array
; -
布尔型列表可以当作列表数据的选择器;不知列表,其他类型数据也可,只要布尔选择器与原列表数据类型保持一致便可:
index=[True,False,True,False] list=[1,2,3,4] print(list[index]) Out: [1,3]
-
np.mean()
可以求解列表、元组等类型数据的平均值; -
当两个不同类型的迭代器进行比较时,比如说list/array 与 np.array()类型的进行比较,遵循"就难"法则,以难的为主,即使用
all
进行判别(即逐个判别); -
将普通类型的数组(列表、元组等)分别使用不同的方法求解和值:
built-in mean ()
方法的速度要比np.mean()
速度快; -
矩阵计算(求和,求积)的速度要比
for循环
的速度快:矩阵计算是并行计算,而
for循环
是串行计算; -
若要随机挑取
data_set [from np.ndarray]
中的特定个样本,则需要借助random.sample()
方法;不过,使用该方法前,需要将data_set
转化为list or set or array
; -
K-mean聚合算法
的终止分析:-
达到预设的迭代次数;
-
两次总函数值的变化范围处于一个可接受范围内:
这种情况下不需要考虑单一样本点的情况,只需要关心总值;达到了一定程度的抽象;
如果两次的总函数值真的大小相等,说明达到了极限情况;
-
-
Fuzzy K-mean
算法,相比于K-mean
算法,界限不会很准确,且每一次对聚类中心的计算都会涉及到所有的数据;初始时没有每个坐标对每个类的隶属度,也没有每个类的聚类中心。因此,只要为其中一项设置初始值便可。一般情况下,初始化隶属度(当然,初始化聚类中心同样问题不大),可以令
1
直接除以类的个数;同样,在不断迭代之下,最终的函数会趋于稳定,可将其作为最终的判断标准之一,另外一个判断标准就是迭代次数的限制;
-
np.argmin()和np.argmax()
选取矩阵中某一个维度的最大值或最小值的下标,效率极高;
网友评论