准备分类的训练数据第一列为:输入
第二列为:输出
![使用sklearn中的贝叶斯算法建立药品分类任务](http://img.jiangsulong.com/220422/0122034400-0.jpg)
文章插图
药品分类数据
数据分词预处理
import jiebacutname=lambda x : ' '.join(jieba.lcut(x))data['药品名称']=data['药品名称'].Apply(cutname)
将数据拆分为训练集和测试集x_train,x_test,y_train,y_test=train_test_split(data.药品名称,data.药品类型,test_size=0.3)
构建分类器# 向量化(vectorizer) => 转换器(transformer) => 分类器(classifier)from sklearn.feature_extraction.text import TfidfTransformerfrom sklearn.feature_extraction.text import CountVectorizerfrom sklearn.naive_bayes import MultinomialNB #贝叶斯text_clf = Pipeline([('vect', CountVectorizer()),('tfidf', TfidfTransformer()),('clf', MultinomialNB()), ])text_clf.fit(x_train, y_train)#训练
模型评估print(classification_report(y_test,text_clf.predict(x_test)))predicted = text_clf.predict(x_test)np.mean(predicted == y_test)
![使用sklearn中的贝叶斯算法建立药品分类任务](http://img.jiangsulong.com/220422/0122034C0-1.jpg)
文章插图
模型评估
- 对原料药和保健药品分类效果比较差
![使用sklearn中的贝叶斯算法建立药品分类任务](http://img.jiangsulong.com/220422/012203FH-2.jpg)
文章插图
模型评估
调用分类器进行分类预测
text_clf.predict(['阿莫西林'])
![使用sklearn中的贝叶斯算法建立药品分类任务](http://img.jiangsulong.com/220422/0122034B4-3.jpg)
文章插图
阿莫西林药品分类
【使用sklearn中的贝叶斯算法建立药品分类任务】
推荐阅读
- 使用Photoshop智能对象调整图像大小而不会丢失质量
- 长期使用铝制的食品容器会导致哪种疾病?
- 叉车电池的正确使用和保养
- 摄像机电池的正确使用方法
- 什么是三脱?
- 古代跳河为什么要脱鞋
- VueJS中使用前端虚拟接口Mock.js
- 2000余字长文讲解Excel中的“数据验证”,我收藏了
- 企业微信API使用基本教程
- 如何使用VSCode调试JS?