导航:首页 > 编程语言 > 词袋模型python

词袋模型python

发布时间:2023-12-26 01:15:42

❶ 机器学习实战的作品目录

目录第一部分分类第1章机器学习基础21.1 何谓机器学习31.1.1 传感器和海量数据41.1.2 机器学习非常重要51.2 关键术语51.3 机器学习的主要任务71.4 如何选择合适的算法81.5 开发机器学习应用程序的步骤91.6 python语言的优势101.6.1 可执行伪代码101.6.2 Python比较流行101.6.3 Python语言的特色111.6.4 Python语言的缺点111.7 NumPy函数库基础121.8 本章小结13第2章k-近邻算法 152.1 k-近邻算法概述152.1.1 准备:使用Python导入数据172.1.2 从文本文件中解析数据192.1.3 如何测试分类器202.2 示例:使用k-近邻算法改进约会网站的配对效果202.2.1 准备数据:从文本文件中解析数据212.2.2 分析数据:使用Matplotlib创建散点图232.2.3 准备数据:归一化数值252.2.4 测试算法:作为完整程序验证分类器262.2.5 使用算法:构建完整可用系统272.3 示例:手写识别系统282.3.1 准备数据:将图像转换为测试向量292.3.2 测试算法:使用k-近邻算法识别手写数字302.4 本章小结31第3章决策树 323.1 决策树的构造333.1.1 信息增益353.1.2 划分数据集373.1.3 递归构建决策树393.2 在Python中使用Matplotlib注解绘制树形图423.2.1 Matplotlib注解433.2.2 构造注解树443.3 测试和存储分类器483.3.1 测试算法:使用决策树执行分类493.3.2 使用算法:决策树的存储503.4 示例:使用决策树预测隐形眼镜类型503.5 本章小结52第4章基于概率论的分类方法:朴素贝叶斯 534.1 基于贝叶斯决策理论的分类方法534.2 条件概率554.3 使用条件概率来分类564.4 使用朴素贝叶斯进行文档分类574.5 使用Python进行文本分类584.5.1 准备数据:从文本中构建词向量584.5.2 训练算法:从词向量计算概率604.5.3 测试算法:根据现实情况修改分类器624.5.4 准备数据:文档词袋模型644.6 示例:使用朴素贝叶斯过滤垃圾邮件644.6.1 准备数据:切分文本654.6.2 测试算法:使用朴素贝叶斯进行交叉验证664.7 示例:使用朴素贝叶斯分类器从个人广告中获取区域倾向684.7.1 收集数据:导入RSS源684.7.2 分析数据:显示地域相关的用词714.8 本章小结72第5章Logistic回归 735.1 基于Logistic回归和Sigmoid函数的分类745.2 基于最优化方法的最佳回归系数确定755.2.1 梯度上升法755.2.2 训练算法:使用梯度上升找到最佳参数775.2.3 分析数据:画出决策边界795.2.4 训练算法:随机梯度上升805.3 示例:从疝气病症预测病马的死亡率855.3.1 准备数据:处理数据中的缺失值855.3.2 测试算法:用Logistic回归进行分类865.4 本章小结88第6章支持向量机896.1 基于最大间隔分隔数据896.2 寻找最大间隔916.2.1 分类器求解的优化问题926.2.2 SVM应用的一般框架936.3 SMO高效优化算法946.3.1 Platt的SMO算法946.3.2 应用简化版SMO算法处理小规模数据集946.4 利用完整Platt SMO算法加速优化996.5 在复杂数据上应用核函数1056.5.1 利用核函数将数据映射到高维空间1066.5.2 径向基核函数1066.5.3 在测试中使用核函数1086.6 示例:手写识别问题回顾1116.7 本章小结113第7章利用AdaBoost元算法提高分类性能 1157.1 基于数据集多重抽样的分类器1157.1.1 bagging:基于数据随机重抽样的分类器构建方法1167.1.2 boosting1167.2 训练算法:基于错误提升分类器的性能1177.3 基于单层决策树构建弱分类器1187.4 完整AdaBoost算法的实现1227.5 测试算法:基于AdaBoost的分类1247.6 示例:在一个难数据集上应用AdaBoost1257.7 非均衡分类问题1277.7.1 其他分类性能度量指标:正确率、召回率及ROC曲线1287.7.2 基于代价函数的分类器决策控制1317.7.3 处理非均衡问题的数据抽样方法1327.8 本章小结132第二部分利用回归预测数值型数据第8章预测数值型数据:回归 1368.1 用线性回归找到最佳拟合直线1368.2 局部加权线性回归1418.3 示例:预测鲍鱼的年龄1458.4 缩减系数来“理解”数据1468.4.1 岭回归1468.4.2 lasso1488.4.3 前向逐步回归1498.5 权衡偏差与方差1528.6 示例:预测乐高玩具套装的价格1538.6.1 收集数据:使用Google购物的API1538.6.2 训练算法:建立模型1558.7 本章小结158第9章树回归1599.1 复杂数据的局部性建模1599.2 连续和离散型特征的树的构建1609.3 将CART算法用于回归1639.3.1 构建树1639.3.2 运行代码1659.4 树剪枝1679.4.1 预剪枝1679.4.2 后剪枝1689.5 模型树1709.6 示例:树回归与标准回归的比较1739.7 使用Python的Tkinter库创建GUI1769.7.1 用Tkinter创建GUI1779.7.2 集成Matplotlib和Tkinter1799.8 本章小结182第三部分无监督学习第10章利用K-均值聚类算法对未标注数据分组18410.1 K-均值聚类算法18510.2 使用后处理来提高聚类性能18910.3 二分K-均值算法19010.4 示例:对地图上的点进行聚类19310.4.1 Yahoo! PlaceFinder API19410.4.2 对地理坐标进行聚类19610.5 本章小结198第11章使用Apriori算法进行关联分析20011.1 关联分析20111.2 Apriori原理20211.3 使用Apriori算法来发现频繁集20411.3.1 生成候选项集20411.3.2 组织完整的Apriori算法20711.4 从频繁项集中挖掘关联规则20911.5 示例:发现国会投票中的模式21211.5.1 收集数据:构建美国国会投票记录的事务数据集21311.5.2 测试算法:基于美国国会投票记录挖掘关联规则21911.6 示例:发现毒蘑菇的相似特征22011.7 本章小结221第12章使用FP-growth算法来高效发现频繁项集22312.1 FP树:用于编码数据集的有效方式22412.2 构建FP树22512.2.1 创建FP树的数据结构22612.2.2 构建FP树22712.3 从一棵FP树中挖掘频繁项集23112.3.1 抽取条件模式基23112.3.2 创建条件FP树23212.4 示例:在Twitter源中发现一些共现词23512.5 示例:从新闻网站点击流中挖掘23812.6 本章小结239第四部分其他工具第13章利用PCA来简化数据24213.1 降维技术24213.2 PCA24313.2.1 移动坐标轴24313.2.2 在NumPy中实现PCA24613.3 示例:利用PCA对半导体制造数据降维24813.4 本章小结251第14章利用SVD简化数据25214.1 SVD的应用25214.1.1 隐性语义索引25314.1.2 推荐系统25314.2 矩阵分解25414.3 利用Python实现SVD25514.4 基于协同过滤的推荐引擎25714.4.1 相似度计算25714.4.2 基于物品的相似度还是基于用户的相似度?26014.4.3 推荐引擎的评价26014.5 示例:餐馆菜肴推荐引擎26014.5.1 推荐未尝过的菜肴26114.5.2 利用SVD提高推荐的效果26314.5.3 构建推荐引擎面临的挑战26514.6 基于SVD的图像压缩26614.7 本章小结268第15章大数据与MapRece27015.1 MapRece:分布式计算的框架27115.2 Hadoop流27315.2.1 分布式计算均值和方差的mapper27315.2.2 分布式计算均值和方差的recer27415.3 在Amazon网络服务上运行Hadoop程序27515.3.1 AWS上的可用服务27615.3.2 开启Amazon网络服务之旅27615.3.3 在EMR上运行Hadoop作业27815.4 MapRece上的机器学习28215.5 在Python中使用mrjob来自动化MapRece28315.5.1 mrjob与EMR的无缝集成28315.5.2 mrjob的一个MapRece脚本剖析28415.6 示例:分布式SVM的Pegasos算法28615.6.1 Pegasos算法28715.6.2 训练算法:用mrjob实现MapRece版本的SVM28815.7 你真的需要MapRece吗?29215.8 本章小结292附录A Python入门294附录B 线性代数303附录C 概率论复习309附录D 资源312索引313版权声明316

❷ 我用了100行Python代码,实现了与女神尬聊微信(附代码)

朋友圈很多人都想学python,有一个很重要的原因是它非常适合入门。对于 人工智能算法 的开发,python有其他编程语言所没有的独特优势, 代码量少 ,开发者只需把精力集中在算法研究上面。

本文介绍一个用python开发的,自动与美女尬聊的小软件。以下都是满满的干货,是我工作之余时写的,经过不断优化,现在分享给大家。那现在就让我们抓紧时间开始吧!


准备:

编程工具IDE:pycharm

python版本: 3.6.0

首先新建一个py文件,命名为:ai_chat.py

PS: 以下五步的代码直接复制到单个py文件里面就可以直接运行。为了让读者方便写代码,我把代码都贴出来了,但是排版存在问题,我又把在pycharm的代码排版给截图出来。


第一步: 引入关键包

简单介绍一下上面几个包的作用: pickle 包 是用来对数据序列化存文件、反序列化读取文件,是人类不可读的,但是计算机去读取时速度超快。(就是用记事本打开是乱码)。 而 json包 是一种文本序列化,是人类可读的,方便你对其进行修改(记事本打开,可以看到里面所有内容,而且都认识。) gensim 包 是自然语言处理的其中一个python包,简单容易使用,是入门NLP算法必用的一个python包。 jieba包 是用来分词,对于算法大咖来说效果一般般,但是它的速度非常快,适合入门使用。


以上这些包,不是关键,学习的时候,可以先跳过。等理解整个程序流程后,可以一个一个包有针对性地去看文档。


第二步:静态配置

这里path指的是对话语料(训练数据)存放的位置,model_path是模型存储的路径。

这里是个人编程的习惯,我习惯把一些配置,例如:文件路径、模型存放路径、模型参数统一放在一个类中。当然,实际项目开发的时候,是用config 文件存放,不会直接写在代码里,这里为了演示方便,就写在一起,也方便运行。

第三步: 编写一个类,实现导数据、模型训练、对话预测一体化

首次运行的时候,会从静态配置中读取训练数据的路径,读取数据,进行训练,并把训练好的模型存储到指定的模型路径。后续运行,是直接导入模型,就不用再次训练了。

对于model类,我们一个一个来介绍。

initialize() 函数和 __init__() 函数 是对象初始化和实例化,其中包括基本参数的赋值、模型的导入、模型的训练、模型的保存、最后返回用户一个对象。


__train_model() 函数,对问题进行分词,使用 gesim 实现词袋模型,统计每个特征的 tf-idf , 建立稀疏矩阵,进而建立索引。

__save_model() 函数 和 __load_model() 函数 是成对出现的,很多项目都会有这两个函数,用于保存模型和导入模型。不同的是,本项目用的是文件存储的方式,实际上线用的是数据库

get_answer() 函数使用训练好的模型,对问题进行分析,最终把预测的回答内容反馈给用户。


第四步:写三个工具类型的函数,作为读写文件。

其中,获取对话材料,可以自主修改对话内容,作为机器的训练的数据。我这里只是给了几个简单的对话语料,实际上线的项目,需要大量的语料来训练,这样对话内容才饱满。


这三个工具函数,相对比较简单一些。其中 get_data() 函数,里面的数据是我自己编的,大家可以根据自己的习惯,添加自己的对话数据,这样最终训练的模型,对话方式会更贴近自己的说话方式。


第五步: 调用模型,进行对话预测

主函数main(), 就是你整个程序运行的起点,它控制着所有步骤。


运行结果:


程序后台运行结果:


如果有疑问想获取源码 其实代码都在上面 ),可以后台私信我,回复:python智能对话。 我把源码发你。最后,感谢大家的阅读,祝大家工作生活愉快!

❸ vscode Python环境调试输出很多没用的东西,怎么把这些东西去掉,如图

我的解决方案:用浏览器打开 txt文本,复制。在vscode或者任意编辑器下新建文件,粘贴保存即可。

下面是对txt文本的预处理,将全部文本分为120章节,保存为csv文件,代码如下:

简单解释: 首先读取全部文本,用正则表达式reg匹配章节,切分章节回, 去除内容小于200字的章节,最后为120章节,保存为csv文件。 提示:在spilt过程中,章节内容中也会出现匹配情况,全本搜索找到内容中的相关匹配项,删除即可。

首先是读取csv文件。 下面使用python的第三方库jieba分词, 基于tf-idf算法进行关键字提取。

tf-id:阮一峰

对该算法的理解可以参考上述博客,大概有3篇文章, 简单易懂。

简单解释: 第3行:使用算法对每个章节中最关键的1000个词进行关键词提取。 第4行:由于后续处理词向量的格式时空格加关键词, 所以进行简单转换。

输出如下:

下面使用sklearn中的CountVectorizer对上述提取的关键词生成词向量。

python代码实现可以参考我之前写的博客 机器学习之贝叶斯分类

其中简单介绍了如何构建词集或者词袋模型,生成词向量。

代码如下:

简单解释: 首先生成5000个特征的vertorizer, 对vorc进行训练转换, 得到120个词向量。

接着转为array形式,进行聚类。

这里做个假设:假定红楼梦前后不是一个人所写,那么用词方面也会有区别。通过聚类算法,如果得到的结果有明显的界限, 那么可以进行初步判断。下面是我的可视化过程: 代码如下:

简单解释:首先使用kmeans聚类算法,k=2分为两类,打印其类别。基于先前的假设,后四十回为高鹗缩写,因此在80回有明显的区分。 下面看结果:

可以做自己的判断。

阅读全文

与词袋模型python相关的资料

热点内容
如何让安卓手机操控电脑 浏览:187
电脑电销加密电话号码破解 浏览:505
世界史纲pdf 浏览:133
湖北社保年审app叫什么名字 浏览:852
迈达克云服务器 浏览:597
mfc深入浅出从mfc设计到mfc编程 浏览:81
萤石云服务器连接设置 浏览:325
中国名着pdf 浏览:592
华为服务器设备序列号怎么看 浏览:319
跑永辉生活配送用什么app 浏览:149
ug识别符号命令在哪里 浏览:719
pdf文件改文字 浏览:732
查询qq号剑灵服务器地址 浏览:552
国家反诈中心app为什么要刷脸 浏览:303
iphone怎么修改dns服务器地址 浏览:85
bandizip解压位置 浏览:168
服务器的防火墙如何访问 浏览:306
javagoto关键字 浏览:847
广州少儿编程加盟排名榜 浏览:122
51单片机th0 浏览:294