Supervised ML-1
有监督的机器学习
你有特征X和标签Y,希望通过某个预测函数来得到一个Y',使得Y和Y'之间的误差尽可能小,这样就得到预测函数中较为不错的参数$ \theta \theta $直到你的Cost达到最低。
情感分析
使用逻辑回归分类器,它将观察结果分配给两个不同的类
首先在训练集中处理原始推文,然后提取有用的功能,然后将训练逻辑回归分类器,同时将Cost降到最低,最后,将能够做出预测。
如何用向量表示文本
- 需要建立一个vocabulary,使你能够使用数字序列编码(encode)任何文本。
词汇表
特征提取
在这个例子中,你的文本信息将会有6个1和许多0来表示。这些数字在你的vocabulary中关联了每一个独立的单词。但是这有非常多的0值,所以称这个为稀疏表示(sparse representation)
稀疏表示的问题
积极和消极计数
积极情绪的词汇计数
消极情绪词汇计数
频率字典
特征提取
举例:
预处理
词干
停用词
删除停用词和标点符号
通常只关注与情感相关的词语,所以将url和其他信息也给删除了
整合实现
freqs = build_freqs(tweet,labls) #建立频率字典 X = np.zeros((m,3)) #初始化 矩阵X,匹配推文数量 for i in range(m): #遍历每天推文 p_tweet = process_tweet(tweets[i]) #预处理推文 X[i,:] = extract_features(p_tweet,freqs) #提取特征
回顾逻辑回归
常见的有sigmoid函数:
就刚刚的内容举例:
逻辑回归中的训练
左图是带有和的函数图,右图为Cost函数在迭代次数变化时的损失值。
可以看到,随着迭代次数增多,两个参数值慢慢往梯度最低的位置去。该方法也被称为梯度下降
测试逻辑回归
首先有测试集和之前得到的最佳参数(从之前的训练中得到的)
第一步,先计算参数为的的sigmoid函数,然后评估h的每个值是否大于或等于阈值
例如,得到下面这个向量:
与0.5做对比后,可以得到0或1的数值,用来预测负值或正值。
第二步,建立完预测向量后,我们可以计算出验证集是否能够通过模型。对此,我们将比较预测值和真实值,验证数据中的每个观察值。如果预测值和真实值相等,则为1,否则为0.用向量来表示。有:
比较完后,查看准确度:
例如:
本文作者:Jev_0987
本文链接:https://www.cnblogs.com/jev-0987/p/15238954.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步