Python - 如何在网页中使用sklearn分类器

时间:2017-06-10 04:52:22

标签: scikit-learn webpage

我正在学习Python,我有一个问题。我已经构建了一个分类器(名为build.py),如下所示:

file = 'file path/CVdb.csv'
input = pd.DataFrame.from_csv(file,index_col=None,encoding='ISO-8859-
1',sep=',')
text = input.drop_duplicates()
corpus = text.Text.str.replace(r'[^A-Za-z0-9+#,]+',' ')
category = text.Skill.str.replace(r'[^A-Za-z0-9&,]+',' ')
stopset = list(set(stopwords.words('english')))
X_train = corpus
Y_train = category
classifier = Pipeline([ ('vectorizer',TfidfVectorizer(analyzer='word',stop_words=stopset,max_features=20 )),
('clf', linear_model.SGDClassifier(loss='hinge',alpha=0.0001,penalty='elasticnet'))])
model = classifier.fit(X_train,Y_train)
joblib.dump(model,'model.pkl')

model.pkl将保存在我定义为file的同一文件路径中。现在我通过运行另一个名为deploy.py的.py文件来使用此模型进一步使用:

file = 'D:/Arghya - Others/Python Work/OwL/Demo-1/CVdb-test.csv'
input = pd.DataFrame.from_csv(file,index_col=None,encoding='ISO-8859-
1',sep=',')
text = input.drop_duplicates()
corpus = text.Text.str.replace(r'[^A-Za-z0-9+#,]+',' ')
stopset = list(set(stopwords.words('english')))
vect_new = 
TfidfVectorizer(analyzer="word",max_features=20,stop_words=stopset)
X_Test = vect_new.fit_transform(corpus).toarray()

model = joblib.load('model.pkl')
predict_new = model.predict(corpus)

ds = pd.Series(predict_new)
output = ds.to_csv('filepath/output.csv',sep=',',encoding='utf-8')

到目前为止一切顺利!! 现在我希望在网页中使用此deploy.py,用户可以通过UI输入文件(.doc.pdf类型)并单击按钮。点击后,将调用deploy.py并执行分类。 我怎样才能做到这一点。 我有python 3.5版本并在Window 7 64位系统上运行。

1 个答案:

答案 0 :(得分:1)

看起来你正在寻找一个python web框架,所以你可以使用python代码来运行一个网站。有很多选择。这是两个受欢迎的:

  1. 烧瓶(http://flask.pocoo.org/
  2. Django(https://www.djangoproject.com/
  3. 我可能会从烧瓶开始。 :)