python
文章平均质量分 68
kelly学技术
大龄码农,分享工作和生活
展开
-
MSE、OLS、MLE辨析和python实现
统计机器学习是一种基于统计理论的机器学习方法,理解MLE、OLS、MSE对于基本功非常重要。1、MSE、OLS、MLE的定义均方误差MSEMSE是Mean Squared Error缩写,一般用于衡量预测值和真实值之间的差异,属于一种具体的计算函数。普通最小二乘法OLSOrdinary Least Squares的缩写,一般用于线性模型,通过最小化数据集各个样本预测值和真实值之间的均方误差之和,来预估线性模型的参数,属于一种数学优化技术。极大似然估计MLE...原创 2021-05-18 22:25:17 · 5946 阅读 · 1 评论 -
自己的一点思考:数无形时少直觉,乱用指标乱评估(未完待续)
今天来谈谈一个话题:模型性能如何评估?对于这个问题,相信不少数据挖掘的朋友会说这还用思考吗?一顿啪哩啪啦:分类用precision、recall、F1、KS等等,回归用MSE等等,聚类用总体误差平方和、轮廓系数silhouette等等。。。但是,真的是这样吗?从项目的角度来说,不同项目有不同目标、不同侧重点,世界上存在通用、不成不变的一种准则吗,想通了这一点,自然就会知道,其实在真实的项目...原创 2020-04-27 09:16:13 · 428 阅读 · 0 评论 -
遗传算法-回顾和思考
说来奇怪,自己在读书期间身边有很多人做遗传算法的工作,但由于自己做的网络设计,就一直没有主动研究,最近一段时间,偶然间突然对遗传算法感兴趣,发现遗传算法还是有很大的发挥空间,在此记录下学习过程~一、什么是遗传算法遗传算法是一种模仿自然选择和自然遗传机制进化的高度并行、自适应的全局搜索优化算法,本质是模仿达尔文进化论,通过种群中不同个人(样本)之间的选择、交叉和变异,筛选优质个人,淘汰劣质个...原创 2020-04-25 16:36:22 · 1212 阅读 · 0 评论 -
python和Microsoft Visual C++ Build Tools版本安装
在windows环境下,python需要调用Microsoft Visual C++ compiler编译器,尤其是在安装第三方包时候,会build项目,这时如果没有安装或者安装不协调的c++构建工具就会报错。在py3.5+版本,windows环境需要安装c++14.0以上的c++构建工具,而c++14.0构建工具包含在VS2015及其以上版本。安装c++ build tool,网上给...原创 2020-04-19 18:26:23 · 11676 阅读 · 1 评论 -
模型训练和模型拟合的几点理解
模型训练和模型拟合的几点理解,欢迎大牛指点~对于我们日常工作,拿到一个挖掘项目,一般都是先走一遍标准化的数据流程,效果好大家欢喜,效果不好各种调参。这里有几点想说:(1)在开始挖掘项目之前,是否有评估挖掘项目的可行性?(2)挖掘项目可行,现有的数据是否可以支撑项目的开展?(3)如何判断现有数据可支撑需求呢?对于第一点:不管是何种数据挖掘算法,本质都是模仿(用仿真更合适,因为现在没...原创 2020-04-17 15:33:06 · 3968 阅读 · 0 评论 -
python正则表达式心得体会
这里只总结注意点~1、五个特殊的匹配(?:pattern)、(?=pattern)、(?<=pattern)、(?!pattern)(?<!pattern)2、[]选择任意字符时候,会强制占用一个匹配位置。3、而?的形式可以占用也可以不占用实际匹配位置。4、re.split的方式实现同时根据多个分隔字段切割目标字符串5、-- 未完待续 --...原创 2020-03-08 19:29:13 · 640 阅读 · 0 评论 -
守护进程和守护线程
最近工作遇到守护线程和守护进程,百度一番发现有些是错误的帖子,而且不少是雷同内容,有误导~几个名词守护:后台运行的程序,不需要和用户交互。服务:相应其他请求的程序进程:拥有独立内存、磁盘、cpu等资源的一次运行过程,至少包括一个线程。线程:线程的实际运行单位,依附于进程存在,不具有独立的运行资源,一般和其他线程共享一个进程的运行资源。守护线程:相对于非守护线程(普通用...原创 2020-01-20 22:38:03 · 712 阅读 · 0 评论 -
图片像素、尺寸、位深度、图像色深
1、概念解释图像像素:图像的分辨力,也就是图像的宽和高分别有多少个像素。图像尺度(图像的输出尺寸):图像的物理单位,比如宽和高是多少英寸或者厘米。位深度:存储图片一个像素需要消耗多少个bit位。图像色深:图像的一个像素可以表示多少个bit的颜色。通道:不同格式图片存储像素的方式,RGB图像的通道为3,灰度图像的通道为1.dpi:dots per inch,每英寸点数目(每英...原创 2019-12-01 21:40:31 · 14824 阅读 · 1 评论 -
计算几何-点在线段哪侧,在矩形内部,在多边形内部
一、点乘和叉乘1、点积(点乘):(1)向量a*向量b=|a|*|b|*cos(a,b),向量b在a上的投影长度=|b|.cos(a,b)(2)c = a*b,c是一个标量,是一个数,c大于0说明a和b夹角小于90度,c小于0说明a和b夹角大于90度。c等于0说明a和b垂直正交!(3)用途:判断两个向量的夹角([0度, 180度])。延伸知识点(4)向量c=a-b,则c^2 ...原创 2019-08-18 15:10:01 · 632 阅读 · 0 评论 -
python进程通信
python的进程模块是multiprocessing。进程是一个运行实体,每个进程拥有自己的内存模型,包括代码段、内存段、堆、栈等等。从一个py文件其多个进程时候,进程之间是互相独立的,外部变量(常规变量,非multiprocessing下的并发模块变量)对进程没有影响。进程通信一般采用Pipe和Queue。Pip:双端管道,方法:send()、recv()Q...原创 2019-08-15 20:34:35 · 259 阅读 · 0 评论 -
python-字符串作为代码执行(exec、eval、locals、compile)
字符串作为代码执行的方法:1、eval()构造器:eval(source, globals=None, locals=None, /)说明:输入一个【python表达式或code对象】参与计算。用于恶意攻击,窥视:再看下eval的参数globals和locals参数的用法,看栗子:一幕了然,局部变量空间和全局变量空间的优先级的先后顺序~2、e...原创 2019-08-16 11:03:18 · 20034 阅读 · 0 评论 -
PR曲线和ROC曲线理解
PR曲线和ROC曲线是数据挖掘中2个常见的评估指标(对于二分器而言),理解如下:一、pr曲线:1)y轴为precision,x轴为recall。2)pr曲线上各个取值为当前p下,样本判断结果:大于p的为正样本,反之为负样本。3)pr曲线从左到右的取值点,为p值降序下的锚点。4)随着p值降低,越多样本判为正样本,recall不断增大,而precision则计算大于p的那些样本的p...原创 2019-08-30 23:26:21 · 6802 阅读 · 0 评论 -
python-sys.getsizeof的使用
科班出身的码畜一直被灌输一条上帝圣经:“一个int占4个字节,一个char占1个字节,一个float占4个字节。。。”,今天看下了python的getsizeof函数,发现python中各个基本数据类型(对象)占用的内存大小和c++/Java完全不一样~前提概述:python中一切都是对象,so python中其实根本不存在int float这些类型,int其实是一个python对象...原创 2019-09-05 14:54:37 · 19320 阅读 · 4 评论 -
PR曲线和ROC曲线理解2---进阶理解
前段时间写了ROC曲线和PR曲线的思想,这次做一些延伸:PR曲线计算范围:大于阀值的那些样本计算得到。而ROC曲线计算范围:根据阀值点对全量样本判断,进而依据全量样本计算。1、什么是BEP(best event point),怎么选择BEP是PR曲线中P=R时对应的阀值点,即在哪一个阀值下,精确率p和召回率r会相等。结合pr曲线趋势理解,bep越大,说明pr曲线越靠近右上角,...原创 2019-09-29 09:30:43 · 2358 阅读 · 0 评论 -
python的接口和继承
在代码逻辑比较复杂时候,需要有一定的结构设计,这时就需要用到接口和类继承。python中使用abc模块来实现接口,继承是python语言层次实现。一、abc模块1、抽象方法 abstractmethod说明:一旦在抽象基类中定义了抽象方法,那么继承的子类必须重写抽象方法。2、虚拟子类 register,为什么需要虚拟子类??说明:虚拟子类不必继承抽象基类的抽象...原创 2019-10-04 18:57:34 · 951 阅读 · 0 评论 -
python多进程,multiprocessing和fork
最近使用python进行多进程开发,遇到问题:multiprocessing.Process的实例化必须放在if __name__ == "__main__"代码块或自定义函数中,这个问题涉及到以下知识点:__main__的作用、multiprocessing在windows下实现多进程的过程、unix下fork的原理,下面逐一解答。先科普下进程的定义:程序的一次动态执行过程,包括代...原创 2018-10-10 18:11:55 · 7600 阅读 · 3 评论 -
keras的ImageDataGenerator的参数featurewise_center、featurewise_center区别
ImageDataGenerator类是keras图像预处理的一个非常有用的功能,将对图像的处理集合warp起来作为一个整体使用。在使用时候,一直对featurewise_center、featurewise_center不解,查阅源码知晓:1、先看官网说明(看了不甚明白~):featurewise_center:Boolean.Setinputmeanto0overt...原创 2018-11-05 23:32:14 · 2257 阅读 · 0 评论 -
numpy中的expand_dims函数
常见的一种应用场景:条件:假设A的shape为[4, 2],B的shape为[5, 2]目的:实现A中的每一行, 减去B中的所有行(broadcast操作)。实现:A1 = np.expand_dims(A, -2) => A1的shape变为[4, 1, 2]B1 = np.expand_dims(B, 0) => B1的shape变为[1, 5, 2]A1...原创 2018-10-25 14:47:46 · 11430 阅读 · 0 评论 -
python3的迭代器、生成器/yield
最近在使用keras,发现yield频繁出现,在此做个yield有关知识的总结。(主要个人理解,以通俗易懂为主,不一定专业)1、迭代器区别于常见的list、tuple、dict等容器(直接将数据存放于内存中),迭代器在内存中仅仅存放产生数据的逻辑(实际数据在运行时动态生成)。得到迭代器的几种方式:(1)使用iter函数,可将常见容器转为迭代器,eg iter([1,2,3,4,5,...原创 2018-10-09 23:02:10 · 239 阅读 · 0 评论 -
python中ctypes的使用
window下,python衔接c语言编程(本地安装64位的python3.5,Visual Studio 2017)step1:安装Visual Studio 2017,提供C语言编译器(即MSVC版本,另一版本是linux下的GCC)。step2:选择x64的命令行step3:输入pip install cython,安装cythonstep4:编译c源文件:>cl ...原创 2019-01-03 11:19:54 · 2359 阅读 · 1 评论 -
2019年1月的常用技术总结
一、linux方面1、按文件大小升序查看ll -S -h -r2、目录下文件非常多(几百万),mv移动显示参数过长,怎么办?ls | xargs -i {} mv {} 目标目录ls | xargs -t -i {} mv {} 目标目录 -- 输出所执行命令3、ll和find的其他用法ll | grep "^-" --只显示文件ll | grep "^...原创 2019-01-31 18:45:42 · 165 阅读 · 0 评论 -
python的package和module的使用注意点
最近使用python的时候,需要对多个嵌套的子模块代码重新组织,重新学习了下package相关知识,记录下~1、package之所以为package,是因为目录下存在__init__文件。2、在python中module就是一个py文件,一个或多个python构成一个package。3、在ubuntu的py3.5环境下,import时候不能直接使用.或..指代当前目录或上一层目录。...原创 2019-08-18 16:18:09 · 356 阅读 · 0 评论 -
PIL抛出No space left on device和Too many open files
使用Python PIL Image.open读取大量图片时候,遇到“OSError: [Errno 28] No space left on device”等问题,总结下问题:1、“Too many open files”问题原因:PIL的Image.open操作是lazy operation(类似Spark的tranform操作,即只是保存操作流程,需要调用action操作后才真正执行...原创 2019-07-05 11:45:50 · 1718 阅读 · 0 评论 -
乱七八糟_算法总结
算法-动态规划 Dynamic Programming--从菜鸟到老鸟https://blog.csdn.net/u013309870/article/details/75193592常见的动态规划问题分析与求解https://www.cnblogs.com/wuyuegb2312/p/3281264.htmlDisjoint Set Union (DSU) 并查集及其应用...原创 2019-05-21 22:59:49 · 132 阅读 · 0 评论 -
python使用的注意点
1、列表的列表的复制之后,列表的子列表共享同一个内存地址:-- 未完待续 --原创 2019-04-17 11:06:19 · 110 阅读 · 0 评论 -
python内置变量2:__dict__
python中一切皆对象,内置模块:__dict__1、首先看下Python官方文档的说明:2、__dict__保存着可写object的属性(模块的符号表),可以单独修改其中的单个子属性,但不能直接对对象的__dict__属性重新赋值!-- over --...原创 2019-04-17 10:59:33 · 415 阅读 · 0 评论 -
python多进程——数据共享
-- 待写 --原创 2019-04-10 15:46:37 · 210 阅读 · 0 评论 -
Jupyter实现所选变量高亮显示
使用Pycharm,有所选单词高亮功能,对于知晓变量上下文有很大作用。Jupyter原生不支持,可以通过扩展插件实现该功能,效果如下:1)安装插件pipinstalljupyter_contrib_nbextensionspipinstalljupyter_nbextensions_configuratorjupytercontribnbextensionin...原创 2018-09-21 17:32:03 · 10447 阅读 · 4 评论