幻象客 - 博客

    [准确率:97%] 朴素贝叶斯自动分类食品安全新闻


    in Python , 机器学习 , 算法 2018-11-07

    教程源代码点击阅读原文或访问:

    https://github.com/Ckend/NLP_DeepLearning_CN_Tutorial

    利用朴素贝叶斯来分类食品安全新闻(标题)这种短文本其实精确度并不高,在实际的生产中,由于食品安全和非食品安全的数量差异,我们会发现1000条新闻中可能才出现2条食品安全新闻,也就是说,即便你的模型准确率为95%,1000条新闻中依然会有许多新闻 (50条) 会被错分类,这是一个非常糟糕的结果。因此在生产环境中,如果模型准确率不能高达99%,甚至都无法使用。在我们的研究下,使用朴素贝叶斯,我们的准确率能提高到97%,使用改进的朴素贝叶斯准确率能达到98%以上,使用字符级的卷积神经网络甚至能达到99%,后续的教程我会介绍这两种方法。

    为了后续的教程,我们还是先利用最简单的朴素贝叶斯来理解“训练”这个概念。为了尽量简化教程的难度,我尽量不使用数学公式进行讲解,更多的以自然语言和Python代码进行分析。在这个教程中,你所需要的东西有:

    python 3

    jieba 分词

    numpy

    sklearn (用joiblib保存模型)

    训练

    朴素贝叶斯的训练,其实就是遍历整个训练集,算出每个词语在不同的分类下出现的概率(该词语/该分类总词数)。最后得到两个向量,这两个向量分别代表了每个词语在食品安全新闻和非食品安全新闻中出现的概率。

    for i in r...

    阅读更多...

    语音控制 - 改造普通台灯


    in 技术原理 , 教程—智能化普通家居 , 神经网络及深度学习 2018-09-21

    教你如何利用智能音箱搭配树莓派,将普通台灯改造成可以用语音控制的智能设备!

    阅读更多...

    语音控制 - 改造普通风扇


    in 干货 , 技术原理 , 教程—智能化普通家居 , 神经网络及深度学习 2018-07-31

    利用智能音箱和树莓派,加一个三极管,改造普通风扇,使其可以被语音控制!

    阅读更多...

    利用智能音箱语音控制电脑开关机


    in 干货 , 技术原理 , 教程—智能化普通家居 2018-07-20

    完成下面这个有趣的实验,你所需要的东西有:

    1.路由器(能够形成局域网,且电脑已用网线连接)

    2.一个智能音箱(本教程使用的是亚马逊 Echo Dot 2)

    3.主板支持wake on lan (大部分都支持)

    4.一个树莓派

    原理流程图如下:

    利用智能音箱语音控制电脑开关机

    接下里将按照这个流程图进行讲解,首先是智能音箱和树莓派的连接,我们需要让树莓派发出信号,让智能音箱将其认作是智能家居并连接。由于我使用的是亚马逊的智能音箱,因此我选择了Fauxmo(https://github.com/n8henrie/fauxmo)进行模拟

    1.在树莓派上安装Fauxmo

    Fauxmo的安装方法见下方的操作或网址,注意这里的Python需要3.6以上:

    Install for development from GitHub

    1.git clone https://github.com/n8henrie/fauxmo.git

    2.cd fauxmo

    3.python3 -m venv .venv

    4.source ./.venv/bin/activate

    5.pip install -e .[dev]

    6.cp config-sample.json config.json

    7.根据需求编辑(第一次可先忽略) config.json

    8.fauxmo [-v]

    成功后,请让智能音箱重新搜索设备,如Echo dot...

    阅读更多...

    或许人生做的第一个决定是最重要的


    in 闲谈 2018-07-20

    人生做的第一个决定,也许直接影响了人生接下来的选择,所以不要再说人生重来一遍了,即便是人生重来一遍,你也会做出同样的选择,而这些选择都是第一个决定所导致的。

    我们依据什么作出人生的第一个决定?基因+环境。这两点都是无法轻易改变的。因此,人的一生的轨迹基本在这个时刻就决定了。在以后的决定中,你都会被之前的经历和经验影响,而做出你认为最合适的决定。如果现在能够利用计算机根据你的思维进行模拟,也许你会发现,模拟得到的决定基本都一样。

    你可能会觉得,通过学习可以改变我们的认知,从而做出不一样的决定。但是你会学什么、学的程度如何,都是根据你先前的决定得到的,也就是说,你不会做出不一样的决定,因为你先前的经历和经验就决定了你未来的走向。

    说到这里,就不得不提格式塔学派的学习理论,他们认为,学习不是一种盲目的尝试,而是由于对情境顿悟而获得成功。而之所以产生顿悟,主要是由于大脑能利用过去的经验,具有组织力的作用,能够填补缺口或缺陷。

    所以过去成就了现在的你,但是未来的你还是会被过去限制,会因为过去的经历和经验做出决定,这是无法避免的。因此人生轨迹已经大致被限定了,即便是受到自然因素的影响,其偏差也不会太大。

    所以,通过计算机预估一个人的人生轨迹是可能的。

    幻象客 二维码

    阅读更多...

    利用股市找到已有或潜在食品安全问题的上市企业


    in Python , 程序语言 , 算法 , 闲谈 2018-05-26

    当某个股票保持下跌的时候,你可以肯定该股票一定有什么地方不对,要么是它的市场,要么是它的公司。——利弗莫尔

    最近食品安全项目成功升到国家级,对我而言真的是个挑战,无论是朴素贝叶斯分类新闻还是数据分析其实都到了瓶颈阶段(即便过了瓶颈还有瓶盖),真的是绞尽脑汁都不知道问题出现在哪里。因此想换一个思路,结合自己最近的研究,提出了这个比较新颖的想法:利用股票市场找到已有或潜在食品安全问题的企业。

    为什么会有这个想法呢?我们知道食品安全事故发生的时间点和媒体报道的时间点之间实际上是有一个间隔的,然而相关利益人士、内部人士却能提前知道事件的发生。比如说,2012年11月19日,酒鬼酒被国家质检总局爆出塑化剂超标247%,但是在19号之前,酒鬼酒的收盘价却神奇地从2012年11月2日的55元回落到2012年11月16号的46元。然而国家质检总局的消息是在2012年11月19号才发布的。而且这样的下跌,明显违背该股票当时上涨的趋势,在10月底时,它的股价已突破周K的压力线,却很不自然地下跌了?而且还违背了许多技术指标,如1号、14号、16号,KDJ和BOLL指标明显提示上涨,在股市这种情绪化的市场中,有人却不为所动,仍然售出大量股票导致其不正常下跌。

    股市 食品安全

    2012年11月19号消息公布时紧急停牌,复牌后有三个跌停,股价暴跌48%,但我相信某些人已经成功躲开了这场股灾。

    找到已有或潜在食品安全问题

    阅读更多...

    做了一个自动分享到微博的插件


    in php , 干货 , 技术原理 , 程序语言 2018-02-25

    网站的宣传是一个特别令人头痛的问题,为了增加流量,进军微博是个好方法。昨天花了一天的时间做了个WordPress文章发布时自动分享到微博的插件。支持自定义模板和图片。

    阅读更多...

    <博客重构>基于Anyproxy使用"中间人攻击"爬取公众号推送


    in JavaScript , 干货 , 技术原理 , 爬虫 , 程序语言 , 计算机安全 2017-11-12

    感谢:https://zhuanlan.zhihu.com/p/24302048

    以前博客一直使用的是别人制作的框架,typecho、WordPress等都有使用过,但由于是别人的框架,始终不知道其内部运作的原理。这次使用Node.js完全重构了一遍,使得我对整个博客的运作原理清晰了许多,以前看起来很复杂的东西(WordPress 留下的第一印象,虽然WordPress其实不全是用来做博客的),现在看起来竟是这么简单,如果有用框架搭建博客的朋友,建议完全自己做一个试试。当然,这些都不是本次推送的重点,半自动化爬取自己的公众号推送才是重点。

    爬取所需要的环境与工具:

    后端:Node.js + MongoDB

    代理服务器:Anyproxy

    一个安卓模拟器

    服务器环境:

    Node.js + MongoDB

    首先介绍一下Anyproxy, 这是一个基于Node.js的代理服务器,本项目中,Anyproxy的作用如下:若把我们本机当做代理服务器,手机模拟器中的微信当成客户端,那么其运作原理可以如下图所示。手机客户端(Client)发送请求给代理服务器(Server,即本机),本机再将这个请求发送给微信服务器,微信服务器返回信息需要经过本机,再由本机传递给手机客户端。

    anyproxy 中间人攻击 爬取 微信公众号 文章

    在这个过程中,本机承担中间人的作用,而接受到微信返回的信息后,我们可以对那个信息植入脚本,再发送给手机客户端。这就是

    阅读更多...

    使用决策树判断各种标准对新生加入社团的影响


    in Python , 机器学习 , 程序语言 , 算法 2017-09-23

    决策树 新生 社团 加入 标准

    倘若我们拥有许多数据,而且能够恰当地使用决策树,我相信将能创造不小的价值

    由于微信编辑器的问题,没办法上传源代码上来若您需要源代码进行参考请访问https://alltoshare.com/dt_judge/

    在尝试的过程中,您或许会发现很多问题,比如Python中文编码问题,matplotlib编码问题等等,希望在这过程中您可以妥善地利用搜索引擎解决问题

    其实决策树的应用非常广泛,尤其是在预测方面,我所介绍的不过其冰山一角。更详细的参考文献,请看维基百科https://zh.wikipedia.org/wiki/%E5%86%B3%E7%AD%96%E6%A0%91

    幻象客 二维码

    阅读更多...

    使用BeautifulSoup爬取新浪所有国内要闻


    in Python , 爬虫 , 程序语言 2017-09-10

    教你如何用beautifulSoup和lxml解析器爬取新浪新闻

    阅读更多...