如何将分类器最丰富的功能保存到变量中? (Python NLTK)

时间:2017-03-16 11:28:16

标签: python classification nltk training-data

说我有这段代码:

classifier.show_most_informative_features(10)

Python将显示10个功能及其pos,neg标签。 有没有办法将功能保存到变量中?

2 个答案:

答案 0 :(得分:0)

方法show_most_informative_features()打印出所请求的功能,然后返回None。要返回功能名称列表和"信息性",请使用:

features = classifier.most_informative_features(10)

您将获得可以显示的对的列表:

for f, w in features:
    print(f, w)

答案 1 :(得分:0)

解决方案适用于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()