1、昨天模型主要做了几个改动,添加了一种机制去限制快速还款的老客户的下次贷款金额,修改了老客户进入通过域,随机通过和拒绝比例,在这修改的过程中是否遇到什么技术难题?没什么新问题,只是上线前测试是非常必要的!好几个问题都是测试中发现的!
2、我之前有个SQL误区,我认为group by了条件语句只能在后面having去引导,但是实践中我发现,where语句后是可以跟group by语句的,group by语句后面用having的场景一般是count(*)这种条件,having后面好像也可以跟普通条件,我刚去进行了实验,在MYSQL环境下
SELECT * FROM alchemist.t_loans GROUP BY account_id HAVING product_no = '2A'
这个SQL的顺序是先按account_id group by,然后having后条件进行筛选
SELECT * FROM alchemist.t_loans WHERE product_no = '2A' GROUP BY account_id
这个SQL的顺序是先按WHERE的条件进行筛选,然后按account_id去重,这里提一点关于这个group by去重的机制,似乎是随机的(或者说有它内在的某一准则),反正在MYSQL中,有一点可以肯定的是他不是取同组排序最靠前的那一条,至于内在具体的机制,暂时还没必要深入研究
3、python的None就是NoneType,判断的时候一般是用if a is None
4、python中的trunc到百位没有查到相关函数,我用的round(x/100) * 100
5、17点后开始继续研究线性回归,矩阵可逆的一个充要条件是行列式的值等于0,我又看了一下行列式的值是怎么计算,行列式的值是所有不同列不同行的元素乘积的累加,符号由列序号是偶排列还是奇排列确定,所谓偶排列是一个排列中逆序数之和为偶数的排列,顺序排列逆序数为0是偶排列,行列式中行或列只要有一对vector线性相关,这个时候行列式的结果就等于0,不可逆,没办法用最小二乘法求解,最小二乘的式子用numpy的matrix对象,表达起来相当简单
6、python画图函数是用到
import matplotlib.pyplot as plt
plt.figure(1)
给图像命名,1就是figure1
ax = fig.add_subplot(111)
添加子图,参数三个数字,前面两位表示几乘几的子图,1*1的子图,该子图位置编号为1
ax.scatter(x,y)
画散点图scatter
ax.plot(x,y)
画普通的折线图,这里x需要排序
plt.show()
最后呈现图像
我之前画图是直接
plt.xlabel('x')
plt.ylabel('y')
plt.plot(x,y)
plt.show()
7、矩阵操作,import numpy as np,np.mat(二维list)转换成一个matrix对象,matrix.flatten()会把每一行拉平成1*1的矩阵,matrix.A转换成数组,类型名叫做ndarray,matrix.copy()直接复制矩阵,matrix.sort(0或1),这个排序并不是按行或按列排序,而是每行的元素排序,或者每列的元素排序,行列并非是一个整体,0是行,1是列
8、晚上回家执行力还是可以的,只是运动强度不够,还需加强!今天继续!加油!