使用大数据时显示“未响应”

时间:2015-03-03 15:58:31

标签: python python-2.7 scikit-learn wxpython

我为分类器构建了一个APP。我用wxpython来构建图形界面。当我尝试使用像13,00,000这样的大数据训练分类器时会出现问题。

vectorizer = TfidfVectorizer()
XT = vectorizer.fit_transform(self.TrainData)   # Not responding

classifier = svm.LinearSVC()
classifier.fit(XT, self.y_train)

vectorizer.fit_transform这实际上是落后的。但是Window显示没有响应。

enter image description here

有什么问题?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

任何长时间运行的进程都可以阻止GUI的主循环。我怀疑你在这里这样做。当主循环被阻止时,您的UI将冻结。要解决这个问题,您应该将fit_transform代码放入一个线程并在那里运行。完成后,您可以使用wxPython的线程安全方法之一告知UI更新(即wx.CallAfterwx.PostEvent)。

您可以在下面找到使用线程和wxPython的示例: