目前我有一个清单:
[['???? ????', 10, '????'],
['???? ????', 10, '????', 5, '?????'],
['???? ????', 10, '????', 3, '?????'],
['???? ????', 10, '????', 3, '?????', 1, '??????']]
Run Code Online (Sandbox Code Playgroud)
我需要以某种方式将其转换为Networkx边缘,其中单词对应该成为图形的节点,并且成为权重之间的整数:
G = nx.Graph()
G.add_edge('???? ????', '????', weight=10)
G.add_edge('????', '?????', weight=5)
G.add_edge('????', '?????', weight=3)
G.add_edge('?????', '??????', weight=1)
Run Code Online (Sandbox Code Playgroud)
目前我被困,没有想法.任何帮助,将不胜感激!
我有一个这样的列表:
lst = [['one two', 'three'], ['four five', 'six']]
Run Code Online (Sandbox Code Playgroud)
我需要做:
lst = [['one', 'two', 'three'], ['four', 'five', 'six']]
Run Code Online (Sandbox Code Playgroud)
试过
([i[0].split() for i in lst])
但它只给出了
[['one', 'two'], ['four', 'five']]
如何管理它的任何想法?提前致谢!
有一项使用 ngrams 对男性和女性名字进行分类的任务。所以,有一个数据框,如:
name is_male
Dorian 1
Jerzy 1
Deane 1
Doti 0
Betteann 0
Donella 0
Run Code Online (Sandbox Code Playgroud)
具体要求是使用
from nltk.util import ngrams
Run Code Online (Sandbox Code Playgroud)
对于这个任务,创建 ngrams (n=2,3,4)
我列了一个名字列表,然后使用了 ngrams:
from nltk.util import ngrams
from sklearn.feature_extraction.text import CountVectorizer
count_vect = CountVectorizer()
test_ngrams = []
for name in name_list:
test_ngrams.append(list(ngrams(name,3)))
Run Code Online (Sandbox Code Playgroud)
现在我需要以某种方式矢量化所有这些以用于分类,我尝试
X_train = count_vect.fit_transform(test_ngrams)
Run Code Online (Sandbox Code Playgroud)
收到:
AttributeError: 'list' object has no attribute 'lower'
Run Code Online (Sandbox Code Playgroud)
我知道这里的列表是错误的输入类型,有人可以解释我应该怎么做,所以我以后可以使用 MultinomialNB,例如。我这样做是否正确?提前致谢!