1、在现在数据库的基础上完善了v3_model的sql,不包括自己计算和商业规则部分,其中理解了一下logistic regression最后求值的时候用1-(1/1+exp(-Z)),我问同事这是good的概率还是bad的概率,同事说这个是互补的,带回到训练集去看,和训练集标记的1和0无关,说1-(1/(1+exp(-Z)))往往是bad的概率,我有些存疑!

2、主要着手修改parse.py以前是解析了写到postgresql,现在我要改了写到mysql,这个过程让我发现了,mysql和postgresql的诸多的区别,回顾一下

0x01. python用于mysql的库叫MySQLdb,psycopg2十分类似,包括他们的方法也很类似,都有connect、然后用conn生成一个游标cur,然后用cur.execute去执行SQL语句,用commit去提交变化(但是我发现创建表的话mysql不需要调用这个方法,而postgresql则需要),关闭等等方法也是相同的;

0x02. MySQLdb.connect的参数名称略微有一些不同,像这样

MySQLdb.connect(host=options.db_host, port=int(options.db_port), db=options.db_database, user=options.db_user, passwd=options.db_password)

port还必须转成int

psycopg2.connect形如这样:

psycopg2.connect(host=options.db_host, port=options.db_port, database=options.db_database, user=options.db_user, password=options.db_password)

要捕获的错误也不同了,但是都是类似的,MySQLdb对应的异常捕获就是MySQLdb.Error

0x03. 当然两个数据库的系统表上也有一些差异,

select ordinal_position,column_name,data_type from information_schema.columns where table_schema = '%s' and table_name = '%s'

information_schema.columns这个表的三个字段在两个数据库都是相同的

0x04. 创建表涉及到字段类型和自增字段的设置等有比较多的不同,postgresql是这样

create table {table_schema}.{table_name} (id serial primary key,created_at timestamp with time zone default now() not null,national_id text not null,requested_at timestamp with time zone not null,responded_at timestamp with time zone not null,filename text);create index {table_schema}_{table_name}__national_id on {table_schema}.{table_name} (national_id);create index {table_schema}_{table_name}__created_at on {table_schema}.{table_name} (created_at);create index {table_schema}_{table_name}__filename on {table_schema}.{table_name} (filename);create index {table_schema}_{table_name}__national_id__responded_at on {table_schema}.{table_name} (national_id, responded_at);create index {table_schema}_{table_name}__national_id__requested_at on {table_schema}.{table_name} (national_id, requested_at);

改成mysql对应是这样

create table {table_schema}.{table_name} (id int auto_increment primary key,created_at timestamp not null default now(),national_id VARCHAR(20) not null,requested_at datetime not null,responded_at datetime not null,filename VARCHAR(100));create index {table_schema}_{table_name}__national_id on {table_schema}.{table_name} (national_id);create index {table_schema}_{table_name}__created_at on {table_schema}.{table_name} (created_at);create index {table_schema}_{table_name}__filename on {table_schema}.{table_name} (filename);create index {table_schema}_{table_name}__national_id__responded_at on {table_schema}.{table_name} (national_id, responded_at);create index {table_schema}_{table_name}__national_id__requested_at on {table_schema}.{table_name} (national_id, requested_at);

可以看到serial = auto_increment , timestamp with time zone = timestamp ,一般来说mysql表中只有一个timestamp字段,听说是系统缺省取当前时间,我并没测试,其他又含日期和时间的字段就用datetime,mysql中也有test这个字段,但是一般是存大文本的,而且我偷懒用text建立索引的时候会报错,原因不明,我最后只好用更合适的varchar跟长度,not null仍然是not null,default也是相同

对于另外一个系统information_schema.tables,mysql有各个表的类型,如base_table,但是没有这个表是否可写入的字段,我直接省去了这个检测,只检测teble_type,两个数据库,我昨天发现的不同以上!

mysql和postgresql中的诸多不同 logistic回归P 2016.04.13回顾相关推荐

  1. oracle sql now函数,SQL Server,MySQL,Oracle,PostgreSQL中常用函数用法(1)日

    练习使用Hibernate没有用MySQL数据库,而是用了前不久接触的PostgreSQL,由于不同的数据对于相同的操作有各自的函数,MySQL的date_format(),在PostgreSQL中是 ...

  2. mysql text 独立表,当您在MySQL或PostgreSQL中拥有TEXT字段时,是否应该将其放在单独的表中?...

    I've heard that if you have a table with a TEXT column that will hold a large chunk of text data, it ...

  3. mysql反三角函数,PostgreSQL中的函数之数学函数(正弦函数、反正弦函数、余弦函数、反余弦函数)...

    在PostgreSQL的数学函数中,也包括了几个三角函数:正弦函数.反正弦函数.余弦函数.反余弦函数. 1. 正弦函数:SIN(x) SIN(x) SIN(x)会返回x的正弦值,x为弧度. 例如,使用 ...

  4. MySQL 和 PostgreSQL 对比

    最近打算研究下几个开源的数据库,但是主要精力还是研究Oracle RDBMS. MySQL 和PostgreSQL 是开源中用的最多的2个. 从网上搜了点资料. 整理如下. 这些资料也是以前的资料, ...

  5. SQL全方位攻略:5. SQL “方言”大比拼:Oracle、MySQL、PostgreSQL限制检索行数语法详解(分页查询)

    系列文章目录 SQL全方位攻略:1.数据库介绍 SQL全方位攻略:2.SQL介绍 SQL全方位攻略:3.SQL标准 SQL全方位攻略:4. 标准SQL和SQL"方言" 文章目录 系 ...

  6. c语言statistics函数,Logistic回归中C-Statistics计算方法

    1. 背景知识 上一节中我们讲解了R语言在Cox回归模型中计算C-index的方法,参见:预测模型系列 05 -- Cox回归中C-index的两种常用计算方法.本节我们将介绍用R语言计算Logist ...

  7. sqlite mysql pgsql_比较MySQL,PostgreSQL和SQLite中的数据库列类型?(跨图)

    小编典典 我会做不同的事情清单: MySQL中的MEDIUMINT是一个奇怪的鸭子(3个字节).我会避免它,但否则也将其映射到INTEGER. MySQL BOOLEAN(别名BOOL,别名TINYI ...

  8. MySQL、PostgreSQL、NoSQL、CynosDB,究竟谁是数据库王者?

    " 数据库行业并非新兴行业,在它 40 多年的发展过程中经历了多个时代的演进,也发展出了各种细分类型下的数据库产品,最近几年时间国产数据库也加入了激烈的市场竞争之中.纵观数据库产品江湖,武林 ...

  9. 腾讯自研云原生数据库CynosDB发布 兼容MySQL和PostgreSQL

    云数据库的战争已经打响,云计算走向成熟的过程中,也让云数据库脱离逐渐脱离稚嫩,有了可以和传统数据库软件叫板的资格,不过云数据库和传统数据库的发展各有千秋,最大区别在于适用场景不同. 雷锋网11月22日 ...

最新文章

  1. 《Go并发编程实战》第2版 紧跟Go的1.8版本
  2. 图像滤镜艺术---(Lightleaks Filter)漏光滤镜
  3. 45. GameProject9+输入检测
  4. 构建基于AgileEAS.NET应用开发平台的简单应用程序
  5. python填写excel-Python玩转Excel的读写改实例
  6. python 写入网络视频文件很慢_OpenCV视频写入详解_Python,视频保存0kb问题
  7. poj 1904 King's Quest 强连通分量+匹配
  8. 5G NR 链路自适应 Link Adaptation
  9. leach算法的实现过程_leach算法原理详解
  10. 探寻微博背后的大数据原理:微博推荐算法简述
  11. 喜欢的抖音视频只能收藏,不能保存?一篇文章教会你使用Python下载抖音无水印视频
  12. pygame飞扬小鸟_飞翔小鸟游戏_李兴球版
  13. 值得推荐的几款卸载软件工具
  14. 通过一道ARM PWN题引发的思考:jarvisOJ_typo
  15. html5 div 拱桥形状制作,纯CSS3+DIV实现小三角形边框效果的示例代码
  16. 三维重建 阈值分割 3D可视化 医学图像分割 CT图像分割及重建系统 可视化编程技术及应用
  17. Win10企业版激活
  18. openwrt gdb gdbserver调试方法汇总
  19. 门限的限意思是什么_只限是什么意思和拼音怎么读
  20. js+canvas实现雨滴特效

热门文章

  1. 远程桌面连接问题:出现身份验证错误。要求的函数不受支持错误【已解决】
  2. android清除缓存有哪些,Android中的清除数据和清除缓存有什么区别,它们分别清除了哪些文件...
  3. java中创建线程的四种方式及线程池详解
  4. Centos配置IP地址
  5. git 提交代码常用命令
  6. 快速解决Error running ‘XX‘:Command line is too long. Shorten command line for XX or also for.......
  7. 三步教会你苹果手机如何应用分身双开
  8. 汇佳学校家长专栏|家校携手,共创“教育的第三种选择”
  9. Linux删除文件命令
  10. 寻找伯乐(我的个人简历)