小编use*_*648的帖子

Python - 在for循环中使用冻结集条目列表的问题

我正在尝试从使用Python的书中学习apriori机器学习算法,作为该学习的一部分,我目前仍然遇到以下问题:

以下代码构造似乎工作正常:

Ck = [[1], [2], [3], [4], [5]]
    for tranid in range(10): 
        for candidate in Ck:
            print("Printing candidate value: ", candidate)
Run Code Online (Sandbox Code Playgroud)

但是,以下不起作用:

Ck = [[1], [2], [3], [4], [5]]
Ck2 = map(frozenset, Ck)
    for tranid in range(10): 
        for candidate in Ck2:
            print("Printing candidate value: ", candidate)
Run Code Online (Sandbox Code Playgroud)

当我将原始迭代的每个元素映射到冻结集时,我注意到内部循环("对于Ck2中的候选者")仅执行一次.之后它永远不会执行.上面没有冻结集的代码正确地循环内循环10次.但是,使用frozenset映射,我可以让内循环只执行一次.

请帮我解决这个问题.本书已将可迭代值映射到frozenset,因为它们不希望它对于算法的目的是可变的.我只是想按原样跟随它.

我在Anaconda(Spyder)上使用Python 3.5.1.

请帮助,因为我不熟悉Python和机器学习.

谢谢和问候,Mahesh.

python set python-3.x frozenset

5
推荐指数
1
解决办法
688
查看次数

Python:查明列表中的某些单词是实际英语单词还是接近英语单词

我正在研究一个问题,在这个问题中我列出了很多单词的出现频率.以下是我得到的样本:

drqsQAzaQ:1
OnKxnXecCINJ:1
QoGzQpg:1
cordially:1
Sponsorship:1
zQnpzQou:1
Thriving:1
febrero:1
rzaye:1
VseKEX:1
contributed:1
SNfXQoWV:1
hRwzmPR:1
Happening:1
TzJYAMWAQUIJTkWYBX:1
DYeUIqf:1
formats:1
eiizh:1
wIThY:1
infonewsletter:8
BusinessManager:10
MailScanner:12
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,像''cordially'这样的单词是实际的英语单词,而像'infonewsletter'这样的单词本身并不是真正的英语单词,但是我们可以看到它们实际上是英语并且意味着什么.然而,像'OnKxnXecCINJ'这样的词并不意味着什么(实际上它们是来自另一个字符集的词,但我在练习中忽略它们并且坚持英语) - 我可以将它们丢弃为垃圾

Python中检测和消除上述字典中的垃圾词的最佳方法是什么?

我尝试使用nltk.corpus.word.words()检查每个单词,但由于我的数据集非常庞大,因此它会影响我的性能.而且,我不确定这是否会给我一个像'infonewsletter'这样的词的真实

请帮忙.

谢谢,马赫什.

python nlp machine-learning nltk

2
推荐指数
1
解决办法
145
查看次数

标签 统计

python ×2

frozenset ×1

machine-learning ×1

nlp ×1

nltk ×1

python-3.x ×1

set ×1