读芯术了解情绪划分:如何使用机器学习来保持积极心态?

全文共2208字 , 预计学习时长6分钟
读芯术了解情绪划分:如何使用机器学习来保持积极心态?
本文插图
图源:unsplash“思考再思考 , 然后采取行动” , 这样的流程是不是听起来很熟悉?大多数人都是这样做的 。然而 , 这个思考流程很可能是一把双刃剑:在一些情形下 , 结果可能积极有用 , 但在另一些情形下 , 结果可能有害 , 甚至反噬自身 。 后者是我们都希望避免的 。 为了清晰了解情绪的划分 , 我编写了这个机器学习(ML)程序 。隔离阶段让我有机会探索自我并审视自己的思路 。 我不是一个沉思者 , 但是总会陷入纷乱的思绪之中 , 每当这时 , 我都需要理清思路 。 因此我要创建一个可以分析我的思考过程的ML模型 。 我用KNN算法判断应该避免的情绪 , 并通过可视化技术将我的情绪以图形展示 , 使我清晰地一览全貌 。 下面是我的做法:· 作为开始 , 我创建了一个有不同想法的数据集; · 使用KNN算法; · 使用可视化技术; · 最后 , 我学会了分割思考过程 。创建数据集
数据集由九种情绪(特征)组成:沮丧 , 悲伤 , 卑微 , 哭泣 , 痛苦 , 困惑 , 快乐 , 振奋和坚定 。 我将它们分为三类(标签):积极 , 消极和中立 。 另外 , 我根据标签对这九种情绪/特征均按1-10的标准进行了评分 。 于是我创建了共150个案例 。 这是数据集的前几行:
读芯术了解情绪划分:如何使用机器学习来保持积极心态?
本文插图
使用KNN算法
在开始下一步之前 , 首先需要掌握一些监督式学习的ML基本术语:· 为了训练、测试和评估一个模型 , 我们使用一系列案例; · 这些案例包括与模型相关的特征和标签值; · 特征是用于训练算法的基础值; · 一旦训练部分结束 , 算法就能预测测试特征的正确标签值 。目标是正确预测标签 。 因此 , 受训算法的精度应该很高 。 如果不高 , 应使预测的标签值和原本标签之间的误差最小化 。 有了这些基础知识 , 让我们接着来了解KNN算法 。 KNN是监督式的机器学习算法 , “K”是待分类点邻近值的个数 (例如 , K=1、2、3等) 。
读芯术了解情绪划分:如何使用机器学习来保持积极心态?
本文插图
左图中 , KNN会将“?”归类为绿色星星 , 因为它最近 。 同样 , 在右例中KNN会将“?”归为黄色三角 , 因为这些三角形是最接近的多数情况 。新案例与已知案例之间的接近程度 , 可以使用任意距离函数 , 如欧几里得尺度和明可夫斯基尺度等体现 。 因此称之为最邻近 。 这样 , KNN算法对新案例进行了分类 。 在这种特定模式中 , KNN要正确预测各个情绪的分类 。 预处理所有数据后 , 我使用了KNN算法 , 然后计算出准确度为98.6% 。 这是显示相同的代码段:
读芯术了解情绪划分:如何使用机器学习来保持积极心态?
本文插图
使用可视化技术
我用数据可视化进行了分类 , 图表更便于理解 , 并创建了一种解决方案 , 用来预测我应该避免什么样的情绪才能保持一个积极的心态 。 这个技术将帮助我分辨标签类别(积极、消极和中性) , 为此我使用了“箱形图” 。结果
读芯术了解情绪划分:如何使用机器学习来保持积极心态?
本文插图
KNN生成的图表显示:· 沮丧:算法将该特征归类为消极 , 这是显而易见的 。 但值得注意的是 , 在消极和中立之间有小部分的重叠 。 同时消极与中性界限也非常细微 。 这表明沮丧的情绪在某种程度上能够激励自己取得积极成果 。 综合考虑后 , 它被归类为消极标签 。· 困惑:这项结果很有意思 , 算法将其标记为积极 。 在分析之前 , 我曾避免自己有困惑情绪 。 也许这些摇摆不定的情绪也能产生积极的结果 , 也许它们给了我们时间来衡量形势的正反面 。· 悲伤:毫无疑问 , 这类情绪注定会产生消极的结果 。· 自卑:有时候头脑中会出现一些随机的想法 。 它们没有来由没有依据 。 算法将这些情绪归类为中性 。· 哭泣:与悲伤特征类似 , 该特征也被归为消极 。 但我认为它可能也有中立的一面 , 因为哭泣可以帮助平衡情绪 。 但如果依据图表来给定标签 , 很可能将其归类为积极而非中性 。 总体来看 , 它会引发消极情绪 。· 痛苦:根据模型的预测 , 痛苦是导致心情不好的最重要特征 。 因此 , 它是极其消极的 。· 振奋:KNN预测这个特征对我有益 。 但是 , 该图显示中性和消极情绪略有重叠 。 此外 , 令人吃惊的是 , 如果我们仅考虑这两个标签 , 消极标签的影响要比中性标签大得多 。· 坚定:该特征非常有趣 。 结果之间几乎没有任何区别 , 很难立即做出诠释 , 但是使用箱形图可以轻易地理解这一点 。