Python 1行代码实现文本分类(实战笔记),含代码详细说明及运行结果
2017-05-18 15:02
525 查看
Python 1行代码实现文本分类(实战笔记),含代码详细说明及运行结果
一、详细说明及代码 tc.py
=================================================================
=================================================================
二、运行结果如下:
D:\Programs\Python\Python36-64\python.exe D:/pyfenlei/Text_Classification/tc1.py
自行车配件
服装
自行车配件
奶奶的 一大早 我的 自行车 坐垫 破了.
自行车配件
赶紧 叫 小明 穿上 他的 新款 打底裤.
服装
小明 骑上 他的 自行车 帮我买 自行车 坐垫.
自行车配件
Accuracy: 1.0
Most Informative Features
contains(山) = False 服装 : 自行车配件 = 3.7 : 1.0
contains(车) = False 服装 : 自行车配件 = 3.7 : 1.0
contains(山) = True 自行车配件 : 服装 = 3.7 : 1.0
contains(车) = True 自行车配件 : 服装 = 3.7 : 1.0
contains(自行车) = True 自行车配件 : 服装 = 2.6 : 1.0
contains(配件) = False 服装 : 自行车配件 = 2.6 : 1.0
contains(装备) = True 自行车配件 : 服装 = 2.3 : 1.0
contains(套装) = True 服装 : 自行车配件 = 2.3 : 1.0
contains(秋冬) = False 自行车配件 : 服装 = 1.9 : 1.0
contains(长裤) = False 自行车配件 : 服装 = 1.9 : 1.0
Accuracy: 1.0
Process finished with exit code 0
三、保存模型
四、加载模型并用测试数据进行预测
本人原创,未经许可,可随意转载
一、详细说明及代码 tc.py
=================================================================
#coding=utf-8 __author__ = 'huangzhi' #pip install textblob #需要安装 #python -m textblob.download_corpora #需要安装 from textblob.classifiers import NaiveBayesClassifier from textblob import TextBlob import pickle #训练数据 train = [ ('ACACIA 骑行 服 套装 男 抓绒 长袖 山 车 秋冬 自行车 服 装备 骑行 裤 长裤', '服装'), ('自行车 行车 货架 货架 单车 货架 自行 自行车 行车 装备', '自行车配件'), ('acacia 骑行 裤 长裤 夏季 骑行 服饰 透气 防晒 自行车 裤 春秋 防风 裤', '服装'), ('ACACIA 自行车 LED 尾灯 骑行 警示灯 鞍座 灯 坐垫 灯 山 车 配件 尾灯', '自行车配件'), ('秋冬 加厚 打底 底裤 黑色 弹力 紧身 女裤 铅笔 裤子', '服装'), ('自行车 把 套 副 把 人体工学 把 套 羊角 把 套 套装 骑行 装备 山 车 配件', '自行车配件'), ("ACACIA 自行车 LED 尾灯 山 车 警示灯 骑行 车尾灯 自行车 装备 配件", '自行车配件'), ('acacia 山 车 挡泥板 山 自行车 挡泥板 挡雨板 快 拆 加长 全包 挡泥 配件', '自行车配件'), ('彩宝莉 春秋季 睡衣 女 长袖 长裤 针织 棉 可爱 卡通 pink 家居服 套装', '服装'), ("男士 保暖 裤加绒 秋冬 棉裤 男 绒裤 加厚 男士 打 底裤 冬 紧身 秋裤 单件 毛裤", '服装'), ('可外 穿 夏季 情侣 睡衣 女 格子裙 纯棉 短袖 家居服 套装 男士 全棉 夏款', '服装'), ('自行车 码表 磁头 扁 辐条 圆 辐条 磁头 码表 山 车 测速器 磁铁 强力', '自行车配件') ] #测试用例 test = [ ('新款 纯棉 夏季 短袖 睡衣 蕾丝 可爱 爱家 家居 家居服 套装', '服装'), ('ACACIA 自行车 多功能 组合 工具 山 车 修车 工具 骑行 带 截连器 修车 套装', '自行车配件'), ("屏幕 自行车 码表 夜光 防水 温度 骑行 码表 有线 骑行 装备", '自行车配件'), ("秋冬 加厚 打底 底裤 黑色 弹力 紧身 女裤 铅笔 裤子", '服装'), ('秋季 新款 打底 底裤 蕾丝 仿皮 铅笔 长裤 裤子', '服装'), ("自行 自行车 行车 条形 彩色 支架 防盗 防盗锁 电动 电动车 动车 锁具 钢丝 骑行 行装 装备", '自行车配件') ] #训练 cl = NaiveBayesClassifier(train) # 文本分类 print(cl.classify("屏幕 自行车 码表 夜光 防水 温度 骑行 码表 有线 骑行 装备")) # "自行车配件" print(cl.classify("男士 保暖 裤加绒 秋冬 棉裤 男 绒裤 加厚 男士 打 底裤 冬 紧身 秋裤 单件 毛裤")) # "服装" # 段落分类 blob = TextBlob("奶奶的 一大早 我的 自行车 坐垫 破了. 赶紧 叫 小明 穿上 他的 新款 打底裤. " "小明 骑上 他的 自行车 帮我买 自行车 坐垫.", classifier=cl) print(blob.classify()) for sentence in blob.sentences: print(sentence) #段落中的句子 print(sentence.classify()) #句子分类 # 测试用例的精度 print("Accuracy: {0}".format(cl.accuracy(test))) # # 显示10条对比信息 cl.show_informative_features(10) #模型保存 f = open('D:/pyfenlei/Text_Classification/huangzhicl1.pickle', 'wb') pickle.dump(cl, f) f.close() #加载模型 f = open('D:/pyfenlei/Text_Classification/huangzhicl1.pickle', 'rb') hzcl = pickle.load(f) f.close() #用加载的模型测试用例数据 print("Accuracy: {0}".format(hzcl.accuracy(test)))
=================================================================
二、运行结果如下:
D:\Programs\Python\Python36-64\python.exe D:/pyfenlei/Text_Classification/tc1.py
自行车配件
服装
自行车配件
奶奶的 一大早 我的 自行车 坐垫 破了.
自行车配件
赶紧 叫 小明 穿上 他的 新款 打底裤.
服装
小明 骑上 他的 自行车 帮我买 自行车 坐垫.
自行车配件
Accuracy: 1.0
Most Informative Features
contains(山) = False 服装 : 自行车配件 = 3.7 : 1.0
contains(车) = False 服装 : 自行车配件 = 3.7 : 1.0
contains(山) = True 自行车配件 : 服装 = 3.7 : 1.0
contains(车) = True 自行车配件 : 服装 = 3.7 : 1.0
contains(自行车) = True 自行车配件 : 服装 = 2.6 : 1.0
contains(配件) = False 服装 : 自行车配件 = 2.6 : 1.0
contains(装备) = True 自行车配件 : 服装 = 2.3 : 1.0
contains(套装) = True 服装 : 自行车配件 = 2.3 : 1.0
contains(秋冬) = False 自行车配件 : 服装 = 1.9 : 1.0
contains(长裤) = False 自行车配件 : 服装 = 1.9 : 1.0
Accuracy: 1.0
Process finished with exit code 0
三、保存模型
f = open('D:/pyfenlei/Text_Classification/huangzhicl1.pickle', 'wb') pickle.dump(cl, f) f.close()
四、加载模型并用测试数据进行预测
f = open('D:/pyfenlei/Text_Classification/huangzhicl1.pickle', 'rb') hzcl = pickle.load(f) f.close() #用加载的模型测试用例数据 print("Accuracy: {0}".format(hzcl.accuracy(test)))
本人原创,未经许可,可随意转载
相关文章推荐
- Python 1行代码实现文本分类(实战笔记),含代码详细说明及运行结果
- python万年历实现代码 含运行结果
- 利用Python分析GP服务运行结果的输出路径 & 实现服务输出路径的本地化 分类: Python ArcGIS for desktop ArcGIS for server 2015-08-06 19:49 3人阅读 评论(0) 收藏
- 【python 编程】文本分类KNN算法实现及结果输出
- 机器学习实战笔记(Python实现)-02-k近邻算法(kNN)
- 复利计算之说明代码运行结果和功能点
- 14行Python代码实现 n 皇后问题(可求出所有结果)
- 载入jQuery库的最佳方法详细说明及实现代码
- 利用Python分析GP服务运行结果的输出路径 & 实现服务输出路径的本地化
- python实现的 K-近邻算法代码详细解释
- Scala中链式调用风格的实现代码实战及其在Spark编程中的广泛运用之Scala学习笔记-41
- maven -- 学习笔记(四)实现在Eclipse用maven搭建springmvc项目(附构建步骤和详细实现代码)
- STM32 IAP功能实现学习笔记 ---详细说明
- 机器学习实战笔记(Python实现)-01-机器学习实战
- Run As(运行方式) 的几种代码实现方式(Python和C#)
- SDview-侧滑菜单实现,代码中有详细说明
- 两段Python代码,你能看出运行结果吗?
- Mapreduce读取和写入Hbase(从A表读取数据,统计结果放入B表,非常详细,附有代码说明以及流程)
- Python实现日志自动记录功能(一个思路代码,详细可以自己扩展)
- 【小白自学笔记】【机器学习实战】【Python代码逐行理解】CH02