创建模型需要用到机器学习的库,所以我们先下载sklearn库
下载完成后再输入库文件,就可以完美运行。
然后就是划分测试集和训练集,需要注意的是,在从数据处理函数中导入数据时,足足运行了有将近30多秒,可见在数据处理部分,分词、添加停用词等步骤是非常复杂和消耗资源的,所以我在当初讲这个课题后提出的,把一次运行完后获得的分词数据进行保存,以便接下来的词云绘制和模型构建两步进行快速访问数据,还是非常有用的。
往后在Tf-idf权重计算这一环节出现了错误
(X_tr = TfidfTransformer().fit_transform(data_tr.toarray()).toarray())
查了百度后,得知解决办法大致是通过控制面板的高级系统设置,更改系统给每一个硬盘分区所分配的内存来解决,我试了之后,问题果然解决了。
当然严格来说这其实是一个悖论,因为要想更改系统给硬盘分配的内存生效,就必须重启计算机,而重启计算机也会重新使系统给应用程序分配内存,这样也可以解决内存不足问题。所以说你不可能只让系统给应用分配的内存空间设置生效,而不让系统重启,这样在逻辑上是行不通的。
之后测试集的划分就顺利多了,然后进行机器学习,输入测试集评估模型,模型准确度为0.8525
写到这里整个项目算是完成了,但为了加深印象,我们不妨再看一下其中的几个数据
这个是数据的TF idf权重计算。因为得到的是稀疏矩阵,一行中只有很少部分有值,因此我们看到的大多都是零。
我个人认为,Pycharm并不是一个完美的文本编辑器,一是他的每个项目都是一个虚拟环境,为这个项目所匹配的库文件并不能为其他项目所适用,如果在另外的项目里边讲引用库,就要重新下载,当然pycharm的作者可能有他自己的想法,但是我个人总觉得,这种想法,似乎并不是很适合我们中国的不是顶尖的大学的大学生的思维。
我已经在边角时间给 Python安装了pip,并成功的给python增加了pandas 库,所以说理论上,我们在Pycharm里面能完成的工作也能在Python自带的IDEI里面完成,如果时间允许,我可能会尝试这样的操作。
总结
总结来说,由于计算机环境不同,我们不可能完全复制我们老师所录制视频的操作步骤,如果遇到的错误老师没有讲过,就要充分利用互联网的丰富性和我们个人思维的灵活性,尝试通过理解编译器报错提示和百度搜索这两种方法来解决问题。
最后,作为python的新学者,遇到问题首先问身边的朋友或者老师,但有些问题并不能得到解决。这时我们可以去网络上搜索。这里我就推荐新学者去csdn搜索来解决我们遇到的问题。里面可以解决我们遇到的各种各样的问题。最后愿天下再无bug。