如何为conda配置特定环境的环境变量
设定特定环境下变量 比如有个analyticsconda 环境,想在启动该环境时,自动加载MY_KEY=’secret-key-value’,MY_FILE=/path/to/my/file/,方法如下: 通过在终端中运行,在终端窗口中找到conda环境的目录:echo $CONDA_PREFIX. 输入该目录并创建以下子目录和文件: 编辑 ./etc/conda/activate.d/env_vars.sh: 编辑 ./etc/conda/deactivate.d/env_vars.sh : 运行conda activate analytics, 环境变量 MY_KEY 和MY_FILE 被自动加载,运行 conda deactivate, 这些变量被消除。 设定特定环境下环境变量PATH 和前面没啥区别: 通过在终端中运行,在终端窗口中找到conda环境的目录:echo $CONDA_PREFIX. 输入该目录并创建以下子目录和文件: 编辑 ./etc/conda/activate.d/env_vars.sh: 编辑 ./etc/conda/deactivate.d/env_vars.sh : 搞定。
Multithreading PyQt applications with QThreadPool
例子解决一切问题 QThreadPool, QRunnable, pyqtSignal
如何建立一个基于TF-INF的文本分类器
如何建立一个基于TF-INF的文本分类器 对于一个文本分类任务来讲,第一件要做的事情是将文本库转换为模型可以使用的输入,即将文本分解转换为向量(str -> float)。 TF-IDF则是这一问题的一个解决方案。 TF-IDF是Term Frequency – Inverse Document Frequency (词频-逆文本频率)的缩写。 TF 某一文章中该词出现的频次除以所有出现的词量 $$TF(i, j)=\frac{\text { Term i frequency in document } \mathrm{j}}{\text { Total words in document } \mathrm{j}}$$ IDF 所有文章的数量除以所有文章中该词出现的次数的对数 $$IDF(i)=\log _{2}\left(\frac{\text { Total documents }}{\text { documents with term i }}\right)$$ TF-IDF 前面两个相乘 $$TF-IDF=TF(i, j)*IDF(i)$$ 通过一个例子来看 Read more…
xinzipanghuang.net 近15天访客分析
xinzipanghuang.net 近15天访客分析 数据获取于内置插件 最近15天(从2020/11/5开始)的访问记录有782条,也算访问量比较大了。 先统计这些部分,有意思的后面再玩。 id 访问时间 地域 来源 入口页面 搜索词 访客标识码 访问时长 访问页数 最后停留在 … 浏览器 语言环境 屏幕分辨率 屏幕颜色 Flash版本 是否支持Cookie 是否支持JAVA 打开时间 停留时长 页面地址 0 1.0 2020/11/18 19:19 贵阳 百度 https://www.xinzipanghuang.net/pandas-datafram… DataFrame’ object has no attribute ‘drop_dupli… 1.890000e+18 未知 1.0 https://www.xinzipanghuang.net/pandas-datafram… … Microsoft Edge NaN 1536×864 24-bit NaN Read more…
Apriori关联分析-Python实现
Apriori关联分析-Python实现 问题描述 这类问题常出现于确定某些商品之间的关联销售联系情况。比如,沃尔玛将啤酒与尿布一起销售,通常可以获得两个商品的更高销量。背后的原因是妻子要求丈夫为小孩买尿布,但丈夫同时也会去购买自己喜欢的啤酒等商品。但从数据中还存在着更多的关联关系需要被发掘。关联规则学习就是来解决这些问题的。 关联规则学习(Association rule learning)是一种在大型数据库中发现变量之间的有趣性关系的方法。它的目的是利用一些有趣性的量度来识别数据库中发现的强规则。这些关系可以有两种形式:频繁项集或者关联规则。 频繁项集(frequent item sets)是经常出现在一块的物品的集合关联规则(association rules)暗示两种物品之间可能存在很强的关系。 关联规则学习基础概念 支持度与置信度支持度$$support(X,Y)=P(X,Y)=\frac{number(X,Y)}{number(all sample)}$$置信度 $$confidence(X⇒Y)=P(Y∣X)=\frac{P(X,Y)}{P(X)}=\frac{number(X,Y)}{number(X)}$$ 举个例子 交易编号 购买商品 0 牛奶,洋葱,肉豆蔻,芸豆,鸡蛋,酸奶 1 莳萝,洋葱,肉豆蔻,芸豆,鸡蛋,酸奶 2 牛奶,苹果,芸豆,鸡蛋 3 牛奶,独角兽,玉米,芸豆,酸奶 4 玉米,洋葱,洋葱,芸豆,冰淇淋,鸡蛋 牛奶的支持度$$support(X,Y)=P(X,Y)=\frac{number(X,Y)}{number(all sample)}=3/5$$ (牛奶->鸡蛋)的置信度$$confidence(X⇒Y)=P(Y∣X)=\frac{P(X,Y)}{P(X)}=\frac{number(X,Y)}{number(X)}$$ $$Confidence(牛奶->鸡蛋)=(牛奶,鸡蛋)一起购买的次数/鸡蛋的购买次数=2/4=0.5$$ 除了以上的两个概念,还有一个概念提升度(Lift):指当销售一个物品时,另一个物品销售率会增加多少。$$Lift(X⇒Y)=confidence(X⇒Y)/support(X)Lift(牛奶->鸡蛋)=2/4/3/5=0.83$$ 当Lift大于1时,表示该物品X对商品Y的销售产生积极作用;提升度小于1那么意味着购买X反而会减少Y的销量。 Apriori算法 从原理上来看,求解支持度和置信度的公式是很简单的,遍历所有组合计算即可。但是,遍历的时间复杂度是$ 2^{N-1} $ Apriori算法则是找出频繁项集的高效算法。 某个项集是频繁的,那么它的所有子集也是频繁的。 如果一个项集是 非频繁项集,那么它的所有超集也是非频繁项集。 关于这两点,可以举个例子:如果A和B之间并不存在频繁项,则他们和C之间亦不存在。 如果{A,B}这个项集是非频繁的,那么{A,B}这个项集的超集,{A,B,C},{A,B,D}等等也都是非频繁的,这些就都可以忽略不去计算。 具体实现 首先是第三方库 其次,自己实现 考虑的问题如下: 首先生成所有单个物品的项集列表 遍历数据集中所有项集,将不满足最小支持度的项集去掉 对剩下的项集组合,生成包含两个元素的项集 Read more…
用BeautifulSoup爬取BiliBili视频的历史弹幕
用BeautifulSoup爬取BiliBili视频的历史弹幕 在网上看到一个有意思的爬虫程序,就两个函数,可以根据选择的日期对某一视频的历史弹幕进行爬取。 首先导入库 定义获取历史弹幕的url 这里有意思的事情是,在BiliBili请求获取历史弹幕是一个ajax数据包,请求url以这个形式进行:https://api.bilibili.com/x/v2/dm/history?type=1&oid=162446150&date=2020-11-09关于这一点可以看这里包含两个参数,一个oid即视频编号,date为请求日期。 先获取url列表 requests获取数据,BeautifulSoup解析 这个就很常规了 这有个好玩的,统计某个视频出现数目最多的历史弹幕。以某个视频为例,很明显,盖亚大地破坏者的梗刷的最多,迪迦的粉丝数量还是不少。 紧跟时事?????? 来波马老师 2020年11月25更新 视频来源:https://www.bilibili.com/video/BV1dK411G73T?from=search&seid=14377148875392576157 换个视频源,再来亿遍:https://www.bilibili.com/video/BV1ky4y1B7DW?from=search&seid=14377148875392576157 总体来说:来骗,来偷袭,我六十九岁的老同志,这好吗?这不好。年轻人不讲武德,我劝耗子尾汁!! 总结 主要是数据传输加密的原理,requests,BeautifulSoup倒没啥。浏览器请求的机制
如何搭建ODOO管理系统
如何搭建ODOO管理系统 odoo简介 项目地址:https://github.com/odoo/odoo Odoo是一套基于web的开源商业应用程序。包括Community Edition和Enterprise Edition,免费并且开源的是Community Edition。 主要的Odoo应用程序包括开源CRM、网站生成器、电子商务、仓库管理、项目管理、计费和会计、销售点、人力资源、营销、制造等。 Odoo应用程序可以作为独立的应用程序使用,但它们也可以无缝集成,因此当你安装多个应用程序时,你可以得到一个功能齐全的开源ERP。 安装 安装说明指南:https://www.odoo.com/documentation/14.0/setup/install.html 针对不同操作系统,可选择多种安装方式,包括源码安装,exe可执行文件安装,本次记录源码安装方法,Source Install。 git克隆到本地 准备安装环境 Python 3.6 or later 地址:https://www.python.org/downloads/windows/ PostgreSQL 该项目依赖PostgreSQL作为支持数据库,下载地址: https://www.postgresql.org/download/windows/需要注意的是:PostgreSQL的默认user是postgres,但Odoo 禁止以postgres连接,所以重新设置账户密码 打开pgAdmin 双击server连接数据库 依次选择Object ‣ Create ‣ Login/Group Role 在Role Name field 输入username 转到Definition选项卡输入密码,然后保存 转到Privileges选项卡把 Can login?“ Create database?选择Yes,然后保存 一大堆Python第三方库 requirements.txt文件在git clone的那个文件夹 不能安装的话,直接手动安装。 运行 如果报错: 后面加上-i base Read more…
Coronavirus (COVID-19) Visualization & Prediction 笔记
Coronavirus (COVID-19) Visualization & Prediction 笔记 项目链接:https://www.kaggle.com/therealcyberlord/coronavirus-covid-19-visualization-prediction 总结 写在前面:这个项目本来以为很复杂,会有很复杂的数据处理过程,其实就还好。由于图和表太多,把总结写在前面。 首先,没用到什么比较高级的算法什么的,对于python脚本能力要求不是很高。 其次,对我比较有价值的数据分析部分是该项目对新冠病毒未来数据的预测部分,包括SVM, Polynomial Regression, Bayesian Ridge Regression等回归方法。以及其中sklearn相关函数的使用,如 train_test_split, PolynomialFeatures等。 最后,关于数据的可视化这一部分,基本上和新闻上说的差不多,美国一枝独秀。 图和表巨多,有兴趣可以下去点点。部分结果有注释。 正文 冠状病毒(Coronavirus)是一个病毒家族,是由这些病毒具有的冠状突刺(spiky crown)而命名。新型冠状病毒,也就是SARS-CoV-2,是一种传染性呼吸道病毒,首次在中国武汉报道。2020年11月2日,世界卫生组织将这种新型冠状病毒引起的疾病命名为COVID-19。这篇Notebook旨在通过数据分析和预测来探索COVID-19。 新型冠状病毒病例数据由Johns Hopkins University提供 新型冠状病毒移动数据由Apple提供 从World Health Organization获取更多信息 从Centers for Disease Control and Prevention获取更多信息 从JHU CCSE Dashboard查看地图可视化数据 源代码:my Github 最后更新:美国东部时间2020年10月20日下午5:13 数据表更新 最新更新:10月20日每日报告数据更新时间序列数据更新为10/19,移动性数据更新为10/19预测模型2020年3月13日开始训练。因此,较早的日期可能不准确。 目录 Exploring Global Coronavirus Cases Exploring Read more…
如何快速搭建一个基于wordpress的个人博客
购买服务器和域名 域名:www.namesilo.com 服务器:www.vultr.com www.bandwagonhost.com 新手建立个人网站第一步(服务器,域名购买解析) 域名解析 如何在namesilo为域名添加解析 登录服务器配置 两个软件:winscp, putty 下载wordpress安装环境XAMPP wget https://www.apachefriends.org/xampp-files/7.2.34/xampp-linux-x64-7.2.34-0-installer.runchmod 755 xampp-linux-x64-7.2.34-0-installer.runsudo ./xampp-linux-x64-7.4.11-0-installer.runsudo /opt/lampp/lampp start 首次运行出现“xampp is currently only availably as 32 bit application please use a 32 bit compatibility library for your system”报错 安装库 yum install -y glibc*i686 注释掉下面语句 sudo vi /opt/lampp/lampp#case `uname -m` in# Read more…