我目前正在尝试使用 Python 和 Scikit-learn 构建一些文本分类工具。
我的文本不是英文的,因此不受词干分解或其他基于英文的降维的通常处理。
结果,TfIdf矩阵变得非常大(150,000x150,000)它可以使用普通PC进行处理,但是对它们运行网格搜索太多了,所以我求助于亚马逊网络服务来运行网格搜索. (我的参数集也很大)
这是我的代码:
# coding: utf-8
import os, json, codecs, nltk
import numpy as np
from sklearn.feature_extraction.text import TfidfVectorizer, CountVectorizer,TfidfTransformer
from sklearn.grid_search import GridSearchCV
from time import time
from sklearn.pipeline import Pipeline
from sklearn.naive_bayes import MultinomialNB
print("Importing dataset...")
with open('y_data.json','r') as fp:
y = json.load(fp)
with open('dataset.json','r') as fp:
dataset = json.load(fp)
print("Importing stop words...")
with codecs.open('stopword.txt','r','utf-8') as fp:
stopword = []
for w in fp:
stopword.append(w.strip())
light_st = set(stopword)
with codecs.open('st_data.txt','r','cp874') as fp: …Run Code Online (Sandbox Code Playgroud)