0%

线性回归

对于每一个样本数据$x=(x_{1},x_{2},…,x_{n})$,希望拟合出一个模型 f(x)。当有新的数据输入时,可以给出误差最小的估计值。假设函数如下:

$$
y = f(x)=\theta_{0}+\theta_{1}x_{1}+\theta_{2}x_{2}+…+\theta_{n}x_{n}
$$

可以写成向量的形式,其中$\theta ={\theta_{0}, \theta_{1}, \theta_{2}, …, \theta_{n}}$,$x^{(i)} ={x_{0},x_{1},x_{2},…,x_{n}}$, $\theta x^{(i)}$表示向量的内积,即 $y^{(i)}$ ,下面的式子表示的是向量的运算

Read more »

基本操作

  • git init : 初始化
  • git add file : 添加
  • git commit -m "" : 提交
  • git status 查看哪些被修改,是否被提交
  • git diff filename : 查看修改了什么内容
Read more »

贝叶斯定理

w是由待测数据的所有属性组成的向量。p(c|x)表示,在数据为x时,属于c类的概率。
$$
p(c|w)=\frac{p(w|c)p(c)}{p(w)}
$$

如果数据的目标变量最后有两个结果,则需要分别计算p(c1|x)p(c2|x)取最大的值为分类的结果
$$
p(c_{1}|w)=\frac{p(w|c_{1})p(c_{1})}{p(w)}、
p(c_{2}|w)=\frac{p(w|c_{2})p(c_{2})}{p(w)}
$$

Read more »

信息增益

  • 香农熵: 指混乱程度,越混乱,值越大
  • 信息增益(information gain): 在划分数据集前后信息发生的变化称为信息增益(香农熵的差)

基尼不纯度也可度量集合的无序程度

香农熵的计算公式如下:
$$
H=-\sum_{i=1}^{n}p(x_{i})log_{2}p(x_{i})
$$

Read more »

常用函数

  • a.max(axis=0) a.max(axis=1) a.argmax(axis=1) : 每列的最大值(在行方向找最大值)、每行的最大值(在列方向找对大致)、最大值的坐标
  • sum()求和、mean()平均值、var() 方差、std() 标准差 : 用法与max类似
  • numpy.random.uniform(low=0,high=1,size) 随机浮点数[low, high)。size可以是整数或者元组。默认是1
  • np.tile(a,(1,2)):行上重复1次,列上重复两次。
Read more »

工欲善其事必先利其器(不搞清楚这个代码实在敲不下去。。)

Jupyter 的常见用法

两种模式。命令模式(蓝色)和编辑模式(绿色),直接使用 Enter 进入编辑模式, 使用 Esc 进入命令模式。类似于 VIM

Read more »

使用 socket 套接字

构造函数的原型如下:

socket(self, family, type, proto)

  • family(默认是IPv4)
    • socket.AF_INET : IPv4 (默认)
    • socket.AF_INET : IPv6
    • socket.AF_UNIX : 只能用于单一的Unix系进程间通信
Read more »

文件操作

  • readline([size]) : 不指定size就读取一行,包括换行符,指定size就读取size个字节或者遇到换行符终止。
  • seek(offset[, position]) : 移动文件指针,position 0 表示文件首,1表示当前位置,2表示文件尾
  • readlines() : 读取所有行,包括换行符,保存在列表中
  • file.writelines(itera) : 直接串在一起输出,中间没有任何分隔符,换行符需要自己加
  • write(str/bytes) : 写入文件,如果文件打开模式带 b,那写入文件内容时,str (参数)要用 encode 方法转为 bytes 形式,否则报错:TypeError: a bytes-like object is required, not 'str'
Read more »