基本操作

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

贝叶斯定理

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)}
$$

ML

ML-决策树

ML

信息增益

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

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

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

ML

常用函数

  • 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次,列上重复两次。
ML

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

Jupyter 的常见用法

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

ML

文件操作

  • 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'

Python 模块(module)

import

import module1[, module2[,… moduleN]

  • 在当前路径下搜索模块,如果没有,就在sys.path中的路径搜索。
  • 导入模块后,需要以模块名.函数访问模块中的内容
  • 一个模块只会被导入一次,不管执行了多少次import
  1. 单字符就是长度为1的字符串
  2. 字符串不能被改变。向一个索引位置赋值,比如 word[0] = 'm' 会导致错误。
  3. 字符串可迭代

字符串的运算

  • + 字符串连接
  • * 重复输出字符串
  • [] 通过索引获取字符串中字符
  • [ : ] 截取字符串中的一部分,[a,b).不写ab表示原字符串(或列表)的拷贝。
  • in / not in 如果字符串中包含给定的字符返回 True
  • r/R"str" 所有的字符串都是直接按照字面的意思来使用.
  • % 格式字符串