自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 UConn DataMining Math5671 课程小记 知识点:正则化方法

正则化方法(regularization)是特征选择方法的一部分,也常用来克服过拟合问题(overfit)。嵌入式选择:正则化的特征选择的优势是,在机器学习的过程中同时完成特征选择(与过滤式和包裹式相比)1 L1正则化: 也称为LASSO,代价函数如下,第二项是penalty term, 采用L1 - norm(有一个额外的好处,更容易得到稀疏解(Wi出现更多零项,原因见图3))比原始的更新规则多出了η * λ * sgn(w)/n这一项。当w为正时,更新后的w变小。当w为负时,更新后的w变大—

2020-10-10 00:21:38 224

原创 UConn DataMining Math5671 课程小记(2)

课程部分主要讲 Nueral Network 原理,及数学和算法背景(略)作业部分Kaggle 的 Imbalance data 项目分析–Credit Card Fraud Detection1 redo the code2 under sample the majority class(欠采样,通常用于不平衡数据集,在fit 时随机删除一部分imbalance data中的多数类)3using model metrics (accuracy, percision, recall, AUC a

2020-09-28 09:34:20 156

原创 Uconn DataMining Math5671 课程小记(1)

安装部分:1 学习tensorflow 框架2 安装anacoda ——》 jupyter notebook3 安装 tensorflow,发现python版本3.8, 不支持(pip需19.0以上版本,python需3.5-3.7)4 python降级三种方法1.在anacoda内处理2.用virtualenv创建虚拟环境3.重装python(麻烦!)最终在conda内将python降级至3.7,import tensorflow成功, 但必须从anaconda navigator 中

2020-09-28 05:38:56 171

原创 AB-testing: AB testing的适合与不适合案例

Online shopping company, Is my site complete?不适合,Could try specific product but can’t answer in general2 add premium service?不适合, could gather information, but can’t fully test.Movie recommendation site, new ranking algorithm?适合,Great- clear conto.

2020-09-15 12:17:49 267

原创 算法: 快速排序 quick sort

快速排序使用分治法(Divide and conquer)策略来把一个序列(list)分为较小和较大的2个子序列,然后递归地排序两个子序列。步骤为:挑选基准值:从数列中挑出一个元素,称为"基准"(pivot);分割:重新排序数列,所有比基准值小的元素摆放在基准前面,所有比基准值大的元素摆在基准后面(与基准值相等的数可以到任何一边)。在这个分割结束之后,对基准值的排序就已经完成;递归排序子序列:递归地将小于基准值元素的子序列和大于基准值元素的子序列排序。递归到最底部的判断条件是数列的大小是零或一,此

2020-09-02 14:26:56 85

原创 我的项目: 软件开发的目录规范

2020-09-02 14:24:24 73

原创 模块: hashlib模块 使用hashlib、模拟撞库、

1、什么是哈希hashhash是一类算法,该算法接受传入的内容,经过运算得到一串hash值hash值的特点:1.1 只要传入的内容一样,得到的hash值必然一样1.2 不能由hash值返解成内容1.3 不管传入的内容有多大,只要使用的hash算法不变,得到的hash值长度是一定2、hash的用途用途1:特点II用于密码密文传输与验证用途2:特点I、III用于文件完整性校验3、如何用# import hashlib## m=hashlib.md5()# m.update('hello

2020-09-01 13:24:10 207 1

原创 模块: logging模块 日志设置

1、日志格式与输出位置import logging#basicConfig 基本配置logging.basicConfig( # 1、日志输出位置:1、终端 2、文件 filename='access.log', # 若不指定,默认打印到终端 # 2、日志格式 format='%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s', # 3、时间格式 datefmt='%Y

2020-09-01 13:05:18 435

原创 模块: 小项目: 打印进度条 (time 、sys模块应用)

import timedef progress(percent): if percent > 1: percent = 1 res = int(50 * percent)* '#' print('\r[%-50s]%d%%'%(res,int(100*percent)),end = '')recv_size = 0total_size = 1025while recv_size < total_size: time.sleep(0.05

2020-08-29 12:53:48 78

原创 我的项目: UConn summer academy BI制药 缺失值处理

1.simulate三种数据缺失情况:MCARMARMNAR2.使用两种缺失值处理方法,插补0 或 直接remove 出现缺失值的 cases3.使用 Firth penalized likelihood model 和 GLMM4.比较C-index5.后续: 可补充 multiple inputation 多重插补, 看效果...

2020-08-29 07:04:50 122

原创 python 七个基本模块

模块本质上就是一个py文件(不要和模块重名)1 collections模块 : python中的扩展数据类型2 时间模块3 random模块 : 随机数模块4 os模块 : 和操作系统打交道的模块5 sys模块 : 和python解释器打交道的模块6 序列化模块 : python中数据类型和str转换的模块7 re模块 见正则表达式...

2020-08-28 17:53:29 222

转载 模块: OS

操作系统命令import osos.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径os.chdir("dirname") 改变当前脚本工作目录;相当于shell下cdos.curdir 返回当前目录: ('.')os.pardir 获取当前目录的父目录字符串名:('..')os.makedirs('dirname1/dirname2') 可生成多层递归目录os.removedirs('dirname1') 若目录为空,则删除,并递归到上一级目录,如

2020-08-28 15:53:58 48

原创 模块: random模块 取随机数

random模块import randomprint(random.random()) #(0,1)----float 大于0且小于1之间的小数print(random.randint(1, 3)) # [1,3] 大于等于1且小于等于3之间的整数print(random.randrange(1, 3)) # [1,3) 大于等于1且小于3之间的整数print(random.choice([111, 'aaa', [4, 5]])) # 1或者23或者[4...

2020-08-28 15:30:00 121

原创 模块: 时间模块 time 和 datetime包

1 时间模块优先掌握的操作一、 Time包import time时间分为三种格式:1、时间戳:从1970年到现在经过的秒数作用:用于时间间隔的计算# print(time.time())2、按照某种格式显示的时间:2020-03-30 11:11:11作用:用于展示时间# print(time.strftime('%Y-%m-%d %H:%M:%S %p'))# print(time.strftime('%Y-%m-%d %X'))3、结构化的时间作用:用于单独获取时间的某一

2020-08-28 12:18:11 174

原创 编程范式: 面向过程与函数式

一、 面向过程​ 基于面向过程开发程序就好比在设计一条流水线,若程序一开始是要着手解决一个大的问题,按照过程式的思路就是把这个大的问题分解成很多个小问题或子过程去实现,然后依次调用即可,这极大地降低了程序的复杂度。举例如下:​ 写一个数据远程备份程序,分三步:本地数据打包,上传至云服务器,检测备份文件可用性面向过程总结:1、优点将复杂的问题流程化,进而简单化2、缺点程序的可扩展性极差,因为一套流水线或者流程就是用来解决一个问题二、 函数式函数式编程并非用函数编程这么简单,而是将计算机的运算

2020-08-26 05:59:52 343

原创 R中的缺失值处理流程

step1:识别缺失数据step2:检查导致数据确实的原因step3:删除包含缺失值的实例或用最合理的数值代替缺失值(删除或插补)*对于缺失数据的分类:MCAR:完全随机缺失MAR:随机缺失,缺失数据的概率与其他观测变量相关,与为未观测值不相关NMAR: 非随机缺失,缺失概率与未观测值相关library(mice)以VIM包中的 哺乳动物睡眠 sleep数据集为例step1:识别缺失数据:#加载数据集data(sleep,package = ‘VIM’)#列出没有缺失值的行 (com

2020-08-20 15:31:13 617

原创 RStudio 常用快捷键(待补充)

移动鼠标至第一行 Home 移动鼠标至最后一行 End 控制台清屏 Ctrl+L改变工作路径 Ctrl+Shift+K运行当前行 Ctrl+Enter从开始运行至当前行 Ctrl+Alt+B从当前行运行至结尾 Ctrl+Alt+E注释/取消注释当前行 Ctrl+Shift+C 重新注释 Ctrl+Shift+/辅助符号<- Alt + -...

2020-08-20 03:02:42 435

原创 正则表达式

1 字符组 [字符] 只表示一个位置上能放的所有字符集2 元字符\w(数字字母下划线) \d(数字) \s(空白符)\W \D \S (上面的反向). (匹配除了换行符以外的所有字符)\n \t (回车)(换行table)^ $( 匹配字符串的开始和结束!!,必须放在两端)()(分组)(对多个字符组整体量词约束用的,看身份证例题)(re模块里: 分组是有优先的 findall、split )/ (或,从左到右匹配,只要匹配上就不继续匹配了)[^]除了字符组内的其他都匹配3量词# *

2020-08-12 03:48:11 67

原创 函数: 复习回顾

1 函数 —— 2天# 函数的定义和调用# def 函数名(形参): #函数体 #return 返回值#调用 函数名(实参)# 站在形参的角度上 : 位置参数,*args,默认参数(陷阱),**kwargs# 站在实参的角度上 : 按照位置传,按照关键字传# 返回值:没有返回值 返回一个值 返回多个值# 接收返回值:没有返回值不接收,返回一个值用一个变量接收,返回多个值用一个变量或者对应数目的变量接收2 闭包函数 —— 在内部函数引用外部函数的变量3 装饰器函数—— 装饰

2020-08-04 19:37:58 154

原创 函数: 装饰器(3) 网页缓存小作业

进阶作业(选做):1.编写下载网页内容的函数,要求功能是:用户传入一个url,函数返回下载页面的结果2.为题目1编写装饰器,实现缓存网页内容的功能:具体:实现下载的页面存放于文件中,如果文件内有值(文件大小不为0),就优先从文件中读取网页内容,否则,就去下载,然后存到文件中import os #判断文件内是否有值from urllib.request import urlopendef cache(func): def inner(*args,**kwargs): if

2020-08-04 15:58:56 233

原创 函数: 装饰器 (2)

1 若使用装饰器后,再使用xxx.name 此类方法,调用的是inner的而不再是原函数holiday的。这种现象显然与装饰器的不改变原函数相违背。 (发现问题)def wrapper(func): #func = holiday def inner(*args,**kwargs): print('在被装饰的函数执行之前做的事') ret = func(*args,**kwargs) print('在被装饰的函数执行之后做的事')

2020-08-04 13:12:06 93

原创 函数:装饰器(面试常考)

1 装饰器的本质 : 闭包函数#闭包:是嵌套函数,内部函数调用外部函数的变量# def outer():# a = 1# def inner():# print(a)# inner()# outer()#1.2 装饰器的作用 —— 不想修改函数的调用方式 但是还想在原来的函数前后添加功能timmer就是一个装饰器函数,只是对一个函数 有一些装饰作用2 原则: 开放封闭原则2.1 开放 : 对扩展是开放的2.2 封闭 : 对修改是封闭的3

2020-08-04 12:10:51 122

原创 函数: 函数名的本质

函数名的本质:(简单地说:可以当普通变量用)是指向内存地址的一个名字,且同样可以赋值 (所谓的变量名,对于计算机都是一个内存地址) func() #函数名就是内存地址 func2 = func #函数名可以赋值 func2()因此,可以将函数名存入列表中,循环调用(函数名可以作为容器类型的元素)l = [func,func2] #函数名可以作为容器类型的元素print(l)for i in l: i()#在函数名后加括号,实现调用3.函数名可以作为参数和函数的返回值

2020-08-02 16:11:23 920

原创 命名空间和作用域

1 命名空间 三种1.1 内置命名空间 —— python解释器# 就是python解释器一启动就可以使用的名字存储在内置命名空间中# 内置的名字在启动解释器的时候被加载进内存里1.2 全局命名空间 —— 我们写的代码但不是函数中的代码# 是在程序从上到下被执行的过程中依次加载进内存的# 放置了我们设置的所有变量名和函数名1.3 局部命名空间 —— 函数# 就是函数内部定义的名字# 当调用函数的时候 才会产生这个名称空间 随着函数执行的结束 这个命名空间就又消失了#在局部:可以使用全局、

2020-08-02 06:42:16 130

原创 函数: 返回值的几种情况

返回值的3种情况1 没有返回值 —— 返回None# 不写return# 只写return:结束一个函数的继续(和break 效果差不多)# return None —— 不常用2 返回1个值# 1.可以返回任何数据类型# 2.只要返回就可以接收到# 3.如果在一个程序中有多个return,那么只执行第一个3 返回多个值1 用多个变量接收:有多少返回值就用多少变量接收 def func(): return 1,2,3 r1, r2, r3 = func()

2020-08-01 14:16:44 947

原创 python的文件操作及注册登录小程序

1.’r’表示只读操作,调用完文件之后要close,否则会持续占据内存# f = open('d:\log.txt',mode='r',encoding='UTF-8')#绝对路径# content = f.read()# print(content)# f.close()2.r+ 表示读写操作(最常用),注意:只能先write 后 readf = open('log', mode = 'r+', encoding = 'utf-8')f.write('aaa')print(f.read

2020-07-30 15:43:00 178

原创 数据类型:元组

元祖 如果元祖里面只有一个元素且不加,那此元素是什么类型,就是什么类型。# tu1 = (1)# tu2 = (1,)# print(tu1,type(tu1))# print(tu2,type(tu2))# tu1 = ([1])# tu2 = ([1],)# print(tu1,type(tu1))# print(tu2,type(tu2))# dic = dict.fromkeys([1,2,3,],3)# dic[1] = 4# print(dic)...

2020-07-30 11:22:01 102

原创 列表,字典,在循环中删除元素的问题及解决方法

在循环中删除元素,for i in lis: del lis[i] #报错因为随着删除,列表长度在变化,字典同理而新建空列表存放要删除的key,再使用for循环删除,可以解决问题l = []for i in dic:if ‘k’ in i:l.append(i)for i in l:del dic[i]...

2020-07-30 11:19:44 199

原创 数据类型: 集合

1 集合:可变的数据类型(不可哈希的),里面的元素必须是不可变的,无序,不重复set1 = {‘Jack’, ‘Alen’, ‘Wu’, ‘Tom’}自动去重复1.1 增set1.add('老王')set1.update('abc')#类似迭代添加 print(set1){'alex', 'ritian', 'barry', 'egon', '女神', 'wusir'}{'b', 'alex', 'ritian', 'c', 'barry', 'egon', '女神', 'a', 'wu

2020-07-30 09:36:18 203

原创 Python3笔记1 int和str细节 和编码知识点 小数据池

1.1 格式化函数的使用:>>>"{} {}".format("hello", "world") # 不设置指定位置,按默认顺序'hello world'>>> "{0} {1}".format("hello", "world") # 设置指定位置'hello world'>>> "{1} {0} {1}".format("hello", "world") # 设置指定位置'world hello world'1.2python中\t,\

2020-07-29 09:45:41 111

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除