skfolio.cluster.LinkageMethod#
- class skfolio.cluster.LinkageMethod(value)[来源]#
计算链接矩阵中聚类之间距离的方法。 请参阅
Linkage Methods部分的scipy.cluster.hierarchy.linkage以获取完整描述。- Parameters:
- SINGLEstr
分配
\[d(u,v) = \min(dist(u[i],v[j]))\]对于簇\(u\)中的所有点\(i\)和簇\(v\)中的\(j\)。这也被称为最近点算法。
- COMPLETEstr
分配
\[d(u, v) = \max(dist(u[i],v[j]))\]对于簇 u 中的所有点 \(i\) 和簇 \(v\) 中的 \(j\)。这也被称为最远点算法或 Voor Hees 算法。
- AVERAGEstr
分配
\[d(u,v) = \sum_{ij} \frac{d(u[i], v[j])}{(|u|*|v|)}\]对于所有点 \(i\) 和 \(j\),其中 \(|u|\) 和 \(|v|\) 分别是聚类 \(u\) 和 \(v\) 的基数。这也称为 UPGMA 算法。
- WEIGHTEDstr
分配
\[d(u,v) = (dist(s,v) + dist(t,v))/2\]其中集群 u 是由集群 s 和 t 形成的,v 是森林中剩下的集群(也称为 WPGMA)。
- CENTROIDstr
分配
\[dist(s,t) = ||c_s-c_t||_2\]其中\(c_s\)和\(c_t\)分别是簇\(s\)和\(t\)的中心。 这也被称为UPGMC算法。
- MEDIANstr
- assigns :math:`d(s,t)` like the ``centroid`` method.
- This is also known as the WPGMC algorithm.
- WARDstr
使用Ward方差最小化算法。 新条目 \(d(u,v)\) 的计算如下,
\[d(u,v) = \sqrt{\frac{|v|+|s|} {T}d(v,s)^2 + \frac{|v|+|t|} {T}d(v,t)^2 - \frac{|v|} {T}d(s,t)^2}\]其中 \(u\) 是由簇 \(s\) 和 \(t\) 组成的新加入簇,\(v\) 是森林中的一个未使用的簇,\(T=|v|+|s|+|t|\),而 \(|*|\) 是其参数的基数。这也被称为递增算法。
- capitalize(/)#
返回字符串的大写版本。
更具体地说,将第一个字符设置为大写,其余字符设置为小写。
- casefold(/)#
返回一个适合无区分大小写比较的字符串版本。
- center(width, fillchar=' ', /)#
返回一个长度为width的居中字符串。
填充是使用指定的填充字符进行的(默认是空格)。
- count(sub[, start[, end]]) int#
返回子串 sub 在字符串 S[start:end] 中不重叠出现的次数。可选参数 start 和 end 的解释与切片表示法相同。
- encode(/, encoding='utf-8', errors='strict')#
使用注册的编码编解码器对字符串进行编码。
- encoding
用于对字符串进行编码的编码方式。
- errors
用于编码错误的错误处理方案。默认值为“严格”,这意味着编码错误会引发UnicodeEncodeError。其他可能的值包括“忽略”、“替换”和“xmlcharrefreplace”,以及任何其他可以处理UnicodeEncodeErrors的在codecs.register_error中注册的名称。
- endswith(suffix[, start[, end]]) bool#
如果 S 以指定的后缀结尾,则返回 True,否则返回 False。
可选的 start 参数,从该位置开始测试 S。
可选的 end 参数,在该位置停止比较 S。
后缀也可以是一个要尝试的字符串元组。
- expandtabs(/, tabsize=8)#
返回一个副本,其中所有制表符使用空格展开。
如果没有给定选项卡大小,则假定选项卡大小为8个字符。
- find(sub[, start[, end]]) int#
返回在 S 中找到子字符串 sub 的最低索引, 使得 sub 包含在 S[start:end] 中。可选参数 start 和 end 的解释与切片表示法相同。
失败时返回 -1。
- format(*args, **kwargs) str#
返回S的格式化版本,使用来自args和kwargs的替换。替换由花括号(‘{’和‘}’)标识。
- format_map(mapping) str#
返回一个格式化的版本S,使用映射中的替换。
替换通过大括号(‘{’和‘}’)来识别。
- classmethod has(value)#
检查值是否在枚举中。
- Parameters:
- valuestr
输入值。
- Returns:
- xbool
如果值在枚举中返回真,否则返回假。
- index(sub[, start[, end]]) int#
返回在 S 中找到子字符串 sub 的最低索引, 使得 sub 包含在 S[start:end] 中。可选参数 start 和 end 的解释与切片表示法相同。
当未找到子串时引发ValueError。
- isalnum(/)#
如果字符串是一个字母数字字符串,则返回True,否则返回False。
如果字符串中的所有字符都是字母数字字符,并且字符串中至少有一个字符,则该字符串是字母数字的。
- isalpha(/)#
如果字符串是字母字符串则返回 True,否则返回 False。
如果字符串中的所有字符都是字母,并且字符串中至少有一个字符,则该字符串是字母字符串。
- isascii(/)#
如果字符串中的所有字符都是ASCII,则返回True,否则返回False。
ASCII字符的编码点范围是U+0000-U+007F。空字符串也是ASCII。
- isdecimal(/)#
如果字符串是小数字符串则返回 True,否则返回 False。
如果字符串中的所有字符都是十进制字符,并且字符串中至少有一个字符,则该字符串是十进制字符串。
- isdigit(/)#
如果字符串是数字字符串则返回 True,否则返回 False。
如果字符串中的所有字符都是数字,并且字符串中至少有一个字符,则该字符串是一个数字字符串。
- isidentifier(/)#
如果字符串是有效的Python标识符,则返回True;否则返回False。
调用 keyword.iskeyword(s) 来测试字符串 s 是否是一个保留标识符,例如“def”或“class”。
- islower(/)#
如果字符串是小写字符串,则返回True,其他情况返回False。
如果字符串中的所有有大小写的字符都是小写字母,并且字符串中至少有一个有大小写的字符,则该字符串是小写的。
- isnumeric(/)#
如果字符串是一个数字字符串,则返回 True,否则返回 False。
如果字符串中的所有字符都是数字,并且字符串中至少有一个字符,则该字符串是数字的。
- isprintable(/)#
如果字符串可打印,则返回True,否则返回False。
如果一个字符串的所有字符在 repr() 中被视为可打印字符,或者它是空的,那么该字符串是可打印的。
- isspace(/)#
如果字符串是空白字符串,则返回 True;否则返回 False。
如果字符串中的所有字符都是空白字符,并且字符串中至少有一个字符,则该字符串是空白字符串。
- istitle(/)#
如果字符串是标题格式的字符串,则返回 True;否则返回 False。
在标题格式的字符串中,大写和标题格式的字符只能跟在无大小写字符后面,而小写字符只能跟在有大小写的字符后面。
- isupper(/)#
如果字符串是大写字符串,则返回 True,否则返回 False。
如果字符串中的所有字符都是大写字母,并且字符串中至少有一个字母字符,则该字符串为大写。
- join(iterable, /)#
连接任意数量的字符串。
调用其方法的字符串被插入在每个给定字符串之间。 结果作为一个新字符串返回。
示例:‘.’.join([‘ab’, ‘pq’, ‘rs’]) -> ‘ab.pq.rs’
- ljust(width, fillchar=' ', /)#
返回一个左对齐的字符串,长度为宽度。
填充是使用指定的填充字符进行的(默认是空格)。
- lower(/)#
返回转换为小写的字符串副本。
- lstrip(chars=None, /)#
返回一个去除前导空格的字符串副本。
如果给定了chars且不为None,则移除chars中的字符。
- static maketrans(x, y=<unrepresentable>, z=<unrepresentable>, /)#
返回一个可用于 str.translate() 的翻译表。
如果只有一个参数,它必须是一个字典,将Unicode序数(整数)或字符映射到Unicode序数、字符串或None。字符键将被转换为序数。如果有两个参数,它们必须是相同长度的字符串,在生成的字典中,x中的每个字符将映射到y中相同位置的字符。如果有第三个参数,它必须是一个字符串,其字符将在结果中映射为None。
- partition(sep, /)#
使用给定的分隔符将字符串分成三部分。
这将在字符串中搜索分隔符。如果找到分隔符,将返回一个包含分隔符之前部分、分隔符本身和分隔符之后部分的三元组。
如果未找到分隔符,返回一个包含原始字符串和两个空字符串的三元组。
- removeprefix(prefix, /)#
如果存在,则返回去掉给定前缀字符串的 str。
如果字符串以前缀字符串开头,返回string[len(prefix):]。否则,返回原始字符串的副本。
- removesuffix(suffix, /)#
如果存在,则返回去掉给定后缀字符串的str。
如果字符串以后缀字符串结尾并且该后缀不为空,返回字符串[:-len(suffix)]。否则,返回原始字符串的副本。
- replace(old, new, count=-1, /)#
返回一个副本,所有子字符串 old 被新字符串替换。
- count
要替换的最大出现次数。
-1(默认值)表示替换所有出现次数。
如果提供了可选参数 count,则仅替换前 count 次出现。
- rfind(sub[, start[, end]]) int#
返回在 S 中找到子字符串 sub 的最高索引,条件是 sub 包含在 S[start:end] 中。可选参数 start 和 end 的解释方式与切片表示法相同。
失败时返回 -1。
- rindex(sub[, start[, end]]) int#
返回在S中找到子字符串sub的最高索引,
使得sub包含在S[start:end]中。可选参数start和end的解释与切片表示法相同。
当未找到子串时引发ValueError。
- rjust(width, fillchar=' ', /)#
返回一个右对齐的宽度为length的字符串。
填充是使用指定的填充字符进行的(默认是空格)。
- rpartition(sep, /)#
使用给定的分隔符将字符串分成三部分。
这将在字符串中搜索分隔符,从字符串的末尾开始。如果找到分隔符,返回一个包含分隔符前部分、分隔符本身及其后部分的三元组。
如果未找到分隔符,则返回一个包含两个空字符串和原始字符串的3元组。
- rsplit(/, sep=None, maxsplit=-1)#
返回字符串中子字符串的列表,使用 sep 作为分隔符字符串。
- sep
用于分割字符串的分隔符。
当设置为 None(默认值)时,将在任何空白字符(包括 \n \r \t \f 和空格)上进行分割,并将从结果中丢弃空字符串。
- maxsplit
最大拆分数量(从左侧开始)。
-1(默认值)表示无限制。
分割从字符串的末尾开始,向前进行。
- rstrip(chars=None, /)#
返回一个去除尾部空白字符的字符串副本。
如果给定了chars且不为None,则移除chars中的字符。
- split(/, sep=None, maxsplit=-1)#
返回字符串中的子字符串列表,使用 sep 作为分隔符。
- sep
用于分割字符串的分隔符。
当设置为 None(默认值)时,将在任何空白字符(包括 \n \r \t \f 和空格)上进行分割,并将结果中的空字符串丢弃。
- maxsplit
最大分割数(从左侧开始)。
-1(默认值)表示无限制。
请注意,str.split()主要用于那些已经故意分隔的数据。对于包含标点符号的自然文本,请考虑使用正则表达式模块。
- splitlines(/, keepends=False)#
返回字符串中按行边界断开的行的列表。
除非给定keepends并且值为true,否则结果列表中不包含换行符。
- startswith(prefix[, start[, end]]) bool#
如果 S 以指定的前缀开头,则返回 True,否则返回 False。
使用可选的 start,从该位置开始测试 S。
使用可选的 end,在该位置停止比较 S。
prefix 还可以是一个字符串元组进行尝试。
- strip(chars=None, /)#
返回一个去除前导和尾随空白的字符串副本。
如果给定了chars且不为None,则移除chars中的字符。
- swapcase(/)#
将大写字符转换为小写,和小写字符转换为大写。
- title(/)#
返回一个字符串的版本,其中每个单词都被首字母大写。
更具体地说,单词以大写字母开头,所有其余的字母均为小写。
- translate(table, /)#
使用给定的翻译表替换字符串中的每个字符。
- table
翻译表,必须是 Unicode 序数映射到 Unicode 序数、字符串或 None。
该表必须通过 __getitem__ 实现查找/索引,例如字典或列表。如果此操作引发 LookupError,则字符保持不变。映射到 None 的字符将被删除。
- upper(/)#
返回一个转换为大写的字符串副本。
- zfill(width, /)#
在左侧用零填充数字字符串,以填充给定宽度的字段。
字符串永远不会被截断。