Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将SKLDA模型输出保存到csv?_Python_Csv_Scikit Learn_Lda_Topic Modeling - Fatal编程技术网

Python 如何将SKLDA模型输出保存到csv?

Python 如何将SKLDA模型输出保存到csv?,python,csv,scikit-learn,lda,topic-modeling,Python,Csv,Scikit Learn,Lda,Topic Modeling,如何将SKLDA模型输出保存到csv? 它没有“显示主题”命令作为genism lDA模型 def selected_topics(model, vectorizer, top_n=10): for idx, topic in enumerate(model.components_): print("Topic %d:" % (idx)) print([(vectorizer.get_feature_names()[i], topic[i])

如何将SKLDA模型输出保存到csv? 它没有“显示主题”命令作为genism lDA模型

def selected_topics(model, vectorizer, top_n=10):
for idx, topic in enumerate(model.components_):
    print("Topic %d:" % (idx))
    print([(vectorizer.get_feature_names()[i], topic[i])
                    for i in topic.argsort()[:-top_n - 1:-1]])
这有利于打印,但如何将这些结果保存到csv

def selected_topics(model, vectorizer, top_n=10):
    results={}
    for idx, topic in enumerate(model.components_):
        topicId='Topic'+str(idx)
        print("Topic %d:" % (idx))
        topic_name = " ".join([(vectorizer.get_feature_names()[i]
                    for i in topic.argsort()[:-top_n - 1:-1]])
        results[topicId]=topic_name
    return results
您可以将结果写入Json,然后再写入CSV文件

到Json Json到csv
如果这对您没有帮助,请告诉我,您可以先创建熊猫数据帧并将LDA模型结果保存到该数据帧(通过循环)来导出结果。稍后将其导出为csv文件

import pandas as pd
import csv
pd.DataFrame(savedresults).to_csv("all_model_ouput.csv") 

我自己找到了一个解决方案。运行循环对我很有用

 def show_topics(vectorizer=vectorizer, lda_model=lda, n_words=20):
    keywords = np.array(vectorizer.get_feature_names())
    topic_keywords = []
    for topic_weights in lda_model.components_:
        top_keyword_locs = (-topic_weights).argsort()[:n_words]
        topic_keywords.append(keywords.take(top_keyword_locs))
    return topic_keywords

topic_keywords = show_topics(vectorizer=vectorizer, lda_model=lda, n_words=15)        

# Topic - Keywords Dataframe
df_topic_keywords = pd.DataFrame(topic_keywords)
df_topic_keywords.columns = ['Word '+str(i) for i in range(df_topic_keywords.shape[1])]
df_topic_keywords.index = ['Topic '+str(i) for i in range(df_topic_keywords.shape[0])]
df_topic_keywords

()中的TypeError Traceback(最近一次调用)在()中---->1个选定的_主题(lda,矢量器)在选定的_主题(模型,矢量器,顶部_n)中6个打印(“主题%d:%”(idx))7个主题_name=“”。加入([(矢量器.获取功能_名称()[i],主题[i])--->8 for i in topic.argsort()[:-top_n-1:-1]])9 10 TypeError:sequence item 0:expected str instance,tuple find。这会给我带来一个错误。在genism中创建循环是否有可能生成csv?是的,您可以创建,替换“”。join([(向量器.获取特征名称()[i],topic[i] )连接到“.join([(vectorizer.get_feature_names()[i]首先写入json的目的是什么?20 input.close()21-->22 output=csv.writer(“output_csv.csv”)23 24 output.writerow(data[0].keys())#头行类型错误:参数1必须有“write”方法
import pandas as pd
import csv
pd.DataFrame(savedresults).to_csv("all_model_ouput.csv") 
 def show_topics(vectorizer=vectorizer, lda_model=lda, n_words=20):
    keywords = np.array(vectorizer.get_feature_names())
    topic_keywords = []
    for topic_weights in lda_model.components_:
        top_keyword_locs = (-topic_weights).argsort()[:n_words]
        topic_keywords.append(keywords.take(top_keyword_locs))
    return topic_keywords

topic_keywords = show_topics(vectorizer=vectorizer, lda_model=lda, n_words=15)        

# Topic - Keywords Dataframe
df_topic_keywords = pd.DataFrame(topic_keywords)
df_topic_keywords.columns = ['Word '+str(i) for i in range(df_topic_keywords.shape[1])]
df_topic_keywords.index = ['Topic '+str(i) for i in range(df_topic_keywords.shape[0])]
df_topic_keywords