1
说我有这个代码片段:如何将分类器最丰富的功能保存到变量中? (Python的NLTK)
classifier.show_most_informative_features(10)
Python会显示10个功能与他们的正,负相随。 有什么方法可以将特征保存到变量中吗?
说我有这个代码片段:如何将分类器最丰富的功能保存到变量中? (Python的NLTK)
classifier.show_most_informative_features(10)
Python会显示10个功能与他们的正,负相随。 有什么方法可以将特征保存到变量中吗?
方法show_most_informative_features()
打印出请求的功能,并返回None
。要返回功能名称列表和“信息量”,使用此:
features = classifier.most_informative_features(10)
你会拿到可以显示像这样对的列表:
for f, w in features:
print(f, w)
解决方案适用于python3,保存到output_string变量。
from io import StringIO
import contextlib
import sys
@contextlib.contextmanager
def stdout_redirect(where):
sys.stdout = where
try:
yield where
finally:
sys.stdout = sys.__stdout__
with stdout_redirect(StringIO()) as new_stdout:
classifier.show_most_informative_features(15)
new_stdout.seek(0)
# output assigned to variable
output_string = new_stdout.read()
'classifier'对象是否有一个方法来返回这些功能,而不是只显示它们,或一个实例变量持有它们?那就是我看的地方。你的问题实际上是如何获取方法所显示的内容,而不是仅仅显示它,有一个变量指的是“无”对你没有任何好处。 – timgeb