如何利用小游戏开发框架提升企业小程序的用户体验与运营效率
700
2022-10-25
ARTS-for-week6-20181124
阅读文本大概需要 12 分钟。
又到周末啦,大家该吃吃该喝喝该玩玩,同时也不要抽点时间忘了学习哦。
今天更新文章有点晚了,因为小加一天忙着研究所的毕业论文开题预答辩,答辩时间从早上10点持续进行到下午3点多,为了节约时间,中午老师直接叫了麦当劳外卖,因为人有点多,所以你脑海里可以脑补一波一窝人坐在一个会议室里,每个人前面都放着一台笔记本,啃着汉堡包,喝着cola可乐和黄金炸小薯条的画面。结果当然满屋子都是汉堡包+小薯条的味道,感觉有点像好多热血青年集体在创业的感觉。。。
哈哈,言归正传,下面更新 ARTS 第六周的内容。
Algorithm
LeetCode 9. Palindrome Number 链接 难度:[Eazy]
【题意】
Determine whether an integer is a palindrome. An integer is a palindrome when it reads the same backward as forward.
判断一个数是否是回文数。
Example:
【思路】
这道题不是很难,比较简单,我想到有三种方法,并且分别AC了。
方法一 将原数转换为字符串,然后定义双指针,一个从前往后移动,一个从后往前移动,在指针移动的过程中,如果两个指针指向同一个字符串元素不相等,那么该字符串不是回文字符串,返回false即可。(时间复杂度O(n),空间复杂度O(1))。
方法二 思路跟方法一差不多,也是先将原数转换为字符串,然后我们只要枚举字符串一半的长度,分别将字符串的头尾的字符串进行判断,如果两个发现字符串元素不相等,那么该字符串不是回文字符串,返回false即可。(时间复杂度O(n),空间复杂度O(1))。
方法三 以上两种方法都是在原数的基础上进行了一些转换,可不可以在不进行额外的开销情况下,达到题目的要求呢?当然可以!我们只要再稍微思考一下,就会不难发现,我们重新考虑如果一个数是回文数的话,它有什么特点呢?从前往后读和从后往前读是一样的!我们将原数每位单独提取出来,然后进行重新整合为另一个新数,你会发现在十进制数字条件下重新整合的新数就是原数的逆转!如此一来,我们在不增加额外的开销情况下,直接判断新数和原数的大小关系,问题就解决了! (时间复杂度 O(log10(n)),空间复杂度O(1))。
【参考代码】
Review
机器学习中的分类算法类型(英文)
本文介绍了常用的机器学习中的分类算法类型
线性分类器Logistic回归朴素贝叶斯分类器支持向量机决策树Boosted树随机森林神经网络K近邻
并且对于每种算法进行了简要的概括和总结,最近我正好学习了在 scikit learn 中如何运用分类算法训练模型,分享给大家。
这部分介绍一下 新手如何在 scikit learn 中训练模型
在此部分其中我使用的数据集部分内容为以下形式
表示图像如下
我们知道机器学习领域的一些最重要的分类算法,包括以下算法:
逻辑回归神经网络决策树支持向量机
给出测试数据,知道如何通过代码实际运用它们么?不用担心,!在 sklearn 中非常简单,只需定义分类器,然后使用下面这行代码使分类器与数据拟合(称为 X, y):
以下是我们定义的主分类器,以及必须导入的文件包:
逻辑回归
神经网络
(注意:仅适用于 0.18 或更高版本的 scikit-learn)
决策树
支持向量机
示例:逻辑回归
我们从头到尾地看看如何读取数据和训练分类器。假设使用上一部分的 X 和 y。然后,以下命令将训练逻辑回归分类器:
得出以下界线:
练习:训练自己的模型
机器学习学习中定义一个分类器classifier,现要求对X,y进行拟合。
其中X,y数据已经在前面表示过了。
【代码如下】
Tip
最近在回顾机器学习算法过程中,发现对于混淆矩阵这一块的知识点还不是搞得很清楚,后来经过阅读一些网络上的文章和可视化的参考资料,进一步加深了对混淆矩阵的知识点的理解。
在机器学习中,我们建立一个模型之后,我们想知道它的性能如何,这是个有难度的问题,但是我们可以学习一些不同的指标,通过它们来了解模型的好坏。我们来看看一个示例。
我们来看看患病情况下的一个例子
当就诊者患病,且模型正确确诊为患病时,说明这是一名患者,需要进一步入院进行检查或治疗,这种情况称之为true positive (真阳性)。当就诊者未患病,而且模型正确诊断患者为健康时,说明这是一名健康就诊者,不需要来医院,可以直接回家,这种情况称之为true negative(真阴性)。当就诊者患病,但是模型却诊断为健康时,说明模型诊断出错了,我们让患者在未接受治疗的情况下就回家了,这可有点糟糕!这种情况称之为false negative(假阴性)。最后当就诊者原来是健康的状态,却被模型诊断为患病状态,这也说明模型诊断出错了,我们让一名未患病者入院进行进一步检查或治疗。这种情况称之为false positive(假阳性)。
混淆矩阵,是一个用于描述模型性能的表。假如在一个模型中
我们有 1000 个人是患病的,并且被正确诊断为患病状态,我们把这种情况称之为 true positive (真阳性)。
有 200 个人是患病的,却被诊断为健康状态,我们把这种情况称之为 false negative(假阴性)。
有 800 个人是健康的,却被诊断为患病状态,我们把这种情况称之为 false positive(假阳性)。
最后,有 8000 个人是健康的,并且被正确诊断为健康状态,我们把这种情况称之为 true negative(真阴性)。
混淆矩阵只是存储了这四个值的表格。
CONFUSION MATRIX
总结来说
真阳性:实际为阳性,且模型确定标记为阳性的点真阴性:实际为阴性,且模型确定标记为阴性的点假阳性:实际为阴性,但模型确定标记为阳性的点假阴性:实际为阳性,但模型确定标记为阴性的点
Share
破坏程序员生产力的12件事(英文)
本文列出了影响程序员工作效率的常见情景:工作经常被打断、领导进行微观管理、产品需求不断扩大等等。
爱学习,爱技术
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~