準備分類的訓練數據
第一列為:輸入
第二列為:輸出

藥品分類數據
數據分詞預處理
import jieba
cutname=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 TfidfTransformer
from sklearn.feature_extraction.text import CountVectorizer
from 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)

模型評估
- 對原料藥和保健藥品分類效果比較差

模型評估
調用分類器進行分類預測
text_clf.predict(['阿莫西林'])

阿莫西林藥品分類