一名大二学生自学机器学习 写博客记录学习经历
学习机器学习使用软件有丘比特(jupyter notebook) pycharm
经常用到的库有numpy pandas os 数据库 sklearn (小数据集获取load_data fetch_data)
在后期深度学习中 框架有 keras tensorflow pytorch 全包有anaconda3(新手建议keras tensorflow有一二版本pip安装基本是二版本 还有gpu 和cpu之分)pip下载之前一定要关闭梯子会报错
在数据集中分为训练集测试集验证集 训练集有目标值用于训练 测试集无目标值用于测试模型预估的准确率 验证集用于划分一部分用于交叉验证把训练集变得更多可以更好的训练模型
sklearn中最经典的数据集iris 获取方式 from sklearn.dataes import ...iris 啥的
其中返回类型是字典可以通过键值对查看一些需要查看的东西
1. 字典的特征抽取
在sklearn中DicVectorizer.fit 可以用来抽取字典的特征用独热编码的方式记录 返回是返回稀疏数组 在transfer中可以设置sq ..= false 显示稀疏矩阵
2.文本特征抽取
2 .1英文文本特征抽取(计数)
计数抽取 在sklearn中的text下Count...数特征词出现的次数 但是特征词出现是以单词切割是空格切割所以只能切割进行英文 不能中文 且输出不是onehot编码 是出现的次数(有办法可以进行中文文本特征处理 使用jieba库可以进行中文分词 jieba库只能一句话)
2.2 中文文本特征抽取(计数)
由于中文是用符号“,。;:”分割句子而单词之间并没有分割的东西不像英文中间有空格没有就会粘在一坨 所以我们要借助特殊的库比如jieba库用来分割 注意是一句一句话传 所以不能一次性传入一个列表里面很多句话 会报错
(可以设置停用词:除去很多像文本中出现的 “我”“因为”“所以”之类的词语减少对总体的影响)
2.3tidi文本特征抽取(计算重要程度,重要程度)
在sklearn中的TFIDF这个转换器中可以实现
机器学习其实最重要的部分是数据处理 在数据处理之中也会花费很多的时间 可以先拿已经处理好的一些数据集来进行学习大概的流程 我个人认为机器学习还是深度学习 训练集的数据量越大 训练出来的模型也就越好 是有正向相关的 最近学完knn(近邻算法) 朴素贝叶斯算法 决策树,发现机器学习大部分时间都是用来处理数据 有固定的模式 希望能学习完成之后能够更上一层楼 对这些有更深层次的理解



