大团私房菜

§ 凉菜 §

拌茄子
皮辣红
拌芥蓝
凉拌鸡丝


§ 主菜 §

=====猪肉=====
排骨炖豆角
红烧排骨(可搭配:马蹄、胡萝卜)
红烧狮子头

=====鸡肉=====
伦敦烤鸡(欧芹小西红柿烤鸡胸肉)
安东炖鸡
可乐鸡翅

=====海鲜=====
红烧大虾
蒜蓉粉丝蒸大虾
烤三文鱼

=====乱炖=====
部队火锅
日式牛肉火锅

=====煲汤=====
胡萝卜玉米汤

=====炒物=====
麻辣香锅
蚝油秋葵
红烧日本豆腐


§ 小吃 §

蛋包饭
玉米鸡蛋三明治
鸡蛋卷


§ 主食 §

抓饭
煎饺
麻酱凉面
金枪鱼紫菜饭团
泡菜金枪鱼饭
奶酪咖喱饭


§ 甜点 §

布朗尼


§ 饮品 §

凉泡茶
豆浆


 

公钥私钥的使用情形

加密传输

    接收方提供公钥。传输方使用(接收方)公钥加密数据;接收方使用(接收方)私钥解密。

认证

    被认证方提供公钥。待认证方使用(被认证方)私钥加密数据;认证方使用(被认证方)公钥解密。如果解得开,则认证成功。

Linux常用命令列表

系统操作

  • shutdown -krh timestr msgstr-k为发送msgstr;-r为重启;-h为关机。timestr为now、具体时间(如20:00)、或分钟(如+10)。
  • 帮助页面:
    • man cmdstr
    • man -f cmdstr:在指令/文件名中完全匹配cmdstr。简略指令whatis。注意:使用whatis指令需要事先创建whatis数据库(makewhatis)。
    • man -k cmdstr:在指令/文件名、描述中搜索关键字。简略指令apropos
    • 一些man返回结果的代号:1-shell命令、2-系统内核调用的函数与工具、3-库函数、5-配置文件或文件格式、8-管理命令。

文件系统

  • 查看:
    • ls -d:ls当前目录本身,而不是ls当前目录中的内容。
  • 文件权限:
    • chown newuser filename
    • chgrp newgroup filename
    • chown newuser:newgroup filename
    • chmod 777 filename
    • chmod u/g/o/a+/-/= r/w/x filename
    • 对于文件:“可读”权限能够读取文件内容;“可写”权限能够编辑文件内容;“可执行”权限能够执行该文件。文件的删除属于目录操作,不在此处指定。
    • 对于目录:“可读”权限能够查询该目录下文件名(ls);“可写”权限能够更改该目录结构列表(新建、删除、移动、重命名);“可执行”权限能够进入该目录。
    • umask:显示默认(去除)权限。对于新文件,默认最大权限是666;对于新目录,默认最大权限是777。umask(的后三位)给出了需要减去的权限。
    • umask xxx:设置新的umask值。
    • SUID、SGID与SBIT:SUID仅用于二进制文件,表示其他用户可以临时作为程序所有者来执行。SGID用于二进制文件或目录,表示其他用户可以临时获得程序用户组的支持来执行。SBIT仅用于目录,表示目录中的文件只有创建者和root能够删除。SUID、SGID、SBIT编码4、2、1,在chmod xxx之前一位进行设置。当权限中s、t显示为大写S、T是,表明该处权限本身不具备x。
  • 目录:
    • pwd:当前目录。
    • pwd -P显示软链接指向的目录。当前目录是软链接时,pwd给出的是软链接的位置;而加上-P参数后,pwd给出的是指向的目录位置。
    • mkdir dirname:创建目录。
    • mkdir -p dir1/dir2/dir3:递归创建目录,创建至dir3。
    • rmdir dirname:删除(空)目录。
    • rmdir -p dir1/dir2/dir3:递归删除(空)目录,删除至dir1。
  • 复制、删除、移动:
    • cp src dst:复制、创建链接。当src为单文件时,dst为单文件;当src为多文件时,dst为目录。
    • cp -a src dst等同于cp -pdr src dst。
    • cp -r src dst:递归复制。
    • cp -p src dst:复制时保留源文件属性。当默认复制时,文件属性会与当前用户、当前时间等进行匹配,有时并不想做此改变,可使用-p参数。
    • cp -u src dst:更新复制,dst比src旧才进行复制。
    • cp -d src dst对于符号链接,默认的复制对象是指向文件。若想复制符号链接本身,则使用-d参数。
    • cp -l/s src dst:创建硬/符号链接文件。
    • rm target:删除。
    • mv src dst:移动。
  • 创建链接
    • ln src dst:创建硬链接。注意:硬链接不能用于目录。
    • ln -s src dst:创建软链接。

文件操作

  • 显示
    • cat -n filename。-n参数可显示行号。
    • more filename:逐页显示。
    • less filename:逐页显示。less is MORE,相较more,less可以向前翻页、向前查找等。主要操作如下:
      • 空格:向下一页。
      • b:向上一页。
      • /str:向下查找str。
      • ?str:向上查找str。
      • n:向下继续查找。
      • N:向上继续查找。
      • q:退出。
    • head/tail -n number filename:显示文件头/尾number行。默认为10行,当number为负数时,为显示去除那些行的结果。
    • touch filename:若filename不存在,则创建文件;若filename存在,则更新mtime与atime(无参数制定时,默认为当前时间)。mtime为修改时间;atime为读取时间;ctime为状态时间。注意:cp -a并不能复制ctime属性。
  • 查找
    • which filename:查找二进制文件。在$PATH指定的路径中查找。
    • whereis filename:查找-b二进制文件、-m说明文件、-s源码文件。在数据库文件中查找。
    • locate keyword:查找包含关键字的文件。在数据库文件中查找。Linux将系统内所有文件都记录在该数据库文件中,以一定频率更新。
    • find path option:按option查找path中的文件。扫描硬盘查找。
    • find path -name filename:查找path中文件名为filename的文件。
  • 压缩、解压缩
    • tar -z/j -c/x -v -f filename (-C) dirname:-z参数使用gzip;-j参数使用bzip2;-c打包;-x解包;-v显示信息;-f指定包名。
    • tar -zcvf/jcvf filename dirname:将dirname打包创建压缩包filename。
    • tar -zxvf/jxvf filename -C dirname:(在dirname目录下)解压filename。
  • vi
    • 一般模式:
      • H:本屏第一行第一字符。
      • L:本屏最后一行第一字符。
      • 1G/gg:文件第一行。
      • G:文件最后一行。
      • nG:文件第n行。
      • /str:向下查找。
      • ?str:向上查找。
      • n:继续向下查找。
      • N:继续向上查找。
      • :s/str1/str2:本行第一个str1替换为str2。
      • :s/str1/str2/g:本行str1替换为str2。最后参数g为(指定行)全部替换的意思。
      • :s/str1/str2/gc:本行str1替换为str2,并逐个询问。最后参数c为替换前进行询问的意思。
      • :1,$s/str1/str2/g:全文str1替换为str2。开头参数1,$位置为指定的行号区间,1为第一行,$为最后一行。
      • :%s/str1/str2/g:同:1,$s/str1/str2/g。开头参数%为1,$的意思。
      • dd/yy:删除/复制当前行。
      • ndd/nyy:删除/复制当前n行。
      • d1G/y1G:删除/复制当前行到第一行数据。
      • dG/yG:删除/复制当前行到最后一行数据。
      • d0/y0:删除/复制当前行光标到第一个字符数据。
      • d$/y$:删除/复制当前行光标到最后一个字符数据。
      • p:在光标下一行粘贴。
      • P:在光标上一行粘贴。
      • u:撤销操作。
      • Ctrl+r:重复操作,就是撤销撤销操作。
    • 切换至编辑模式:
      • i:当前插入。
      • o:下一行插入。
      • r:替换。
    • 命令行模式:
      • :w:保存。
      • :q:退出。
      • :wq:保存退出。
      • :q!:不保存退出。
      • :w !sudo tee %:无权限情况下保存。其中:w !{cmd}将整个文件缓存作为cmd的输入。%为当前文件名。tee中stdout的输入未使用,丢弃。
      • :set nu:显示行号。
      • :set nonu:取消显示行号。

磁盘操作

  • 容量显示
    • df -ahT filename:显示文件系统容量。-a会显示(包括特殊的)所有文件系统,-h使用便于阅读单位格式,-T显示文件系统类型。当df命令后面跟随文件时,则显示该文件所在的文件系统容量。df命令主要读取super block中的信息,故返回结果速度较快。
    • du:显示(当前目录下)各子目录容量。
    • du -a:显示(当前目录下)各子目录、各文件容量。
    • du -h:以便于阅读的单位格式返回结果。
    • du -s:仅返回(当前目录下)总容量。
    • du -d depth:指定子目录的最大进入深度。
    • du -ah -d 1:列出(当前目录下)的目录、文件容量。
  • 分区
    • fdisk -l:列出(所有设备的)分区信息。
    • fdisk -l devname:列出指定设备devname的分区信息。
    • fdisk devname:对devname进行分区操作。具体指令在进入分区模式后,可使用m查询。
    • mkfs -t type devname:格式化,即对devname使用type文件系统格式进行格式化。
    • fsck -t type devname:磁盘检查,即对devname使用type文件系统格式进行磁盘检查。
    • parted devname operation:支持2T以上硬盘的分区相关操作命令。
  • 挂载
    • mount:显示目前挂载信息。
    • mount -l:显示目前挂载信息(包含Label)。
    • mount devname mountpos:将devname挂载到mountpos上。若Linux不能自动识别devname的type,可使用-t参数指定。注意,开机自动挂载的信息保存在文件/etc/fstab中。
    • mount -o loop xxx.iso mountpos:挂载iso文件。注意,-o loop挂载方法也可以用于挂载一个大文件,作为分区使用。
    • umount mountpos:卸载。

内存进程

  • free:显示内存容量。

数据折腾者:快速入门

目  录

Part I 道

1. 数据分析 Data Analysis

1.1. 分布

2. 机器学习 Machine Learning

2.1. 有/无监督学习
2.2. 分类
        决策树
        随机森林
        分类器性能评价指标
        交叉验证
2.3. 回归
2.4. 聚类

3. 编程 Programing Algorithms

3.1. 排序

Part II 术

4. 编程语言 Programing Languages

4.0. Linux
4.1. Java
4.2. Python

5. 框架 Frameworks

5.1. Hadoop
        HDFS
        MapReduce
        Hadoop安装

6. 工具包 Packages

6.1. scikit-learn


All Rights Reserved by Chenyu Li

分类器性能评价指标

以二分类举例

 PositiveNegative
Predicted as PositiveTPFP
Predicted as NegativeFNTN

  • TPR = TP / (TP + FN)
  • TNR = TN / (TN + FP)
  • FPR = FP / (TN + FP)
  • FNR = FN / (TP + FN)

注意:XX-R关注于某类型判别该类型原属类别的数量比例。比如TPR中,关注TP,TP的原属类别是P,所以是TP占原P(即TP + FN)的数量比例。而FPR中,关注FP,FP的原属类别是N,所以是FP占原N(即TN + FP)的数量比例。


  • Precision = TP / (TP + FP)
  • Recall = TP / (TP + FN)

注意:此二指标都是关注于TP现P、原P的数量比例。其中,Precision对应(被判决的)现P,Recall对应原P,Recall == TPR。


  • F1-Score = 2 * Precision * Recall / (Precision + Recall)

注意:F1值同时考虑Precision和Recall。


  • ROC curve:x轴为FPR,y轴为TPR,左上角对应理想模型,左下角对应全判N模型,右上角对应全判P模型。曲线越接近左上角,对应模型越好。
  • AUC:ROC曲线下方的面积,评价模型平均性能。

有/无监督学习

    区分有监督学习与无监督学习,主要看模型建立过程中是否需要使用带有标签的数据。例如:

    在分类(classification)问题中,训练分类器(classifier)时,需要给定一些已知类别的数据。分类器基于这些数据中进行学习,从而获取对未知数据进行分类的能力。这种使用训练数据(有标签的数据)的学习过程,就是有监督学习(supervised learning)。

    而在另一种情形的聚类(clustering)问题中,模型仅需将相似的实例汇聚起来。因此,只要指定了相似度计算方式与汇聚方法,聚类模型就可以开始工作了。这种未使用训练数据进行建模的学习过程,被称作无监督学习(unsupervised learning )。

    此外,还存在半监督学习(semi-supervised learning)。在此情形中,有/无标签的数据同时参与了模型的构建。如何将两种数据足够好的结合使用,是半监督学习需要解决的问题。一个具体的例子是深度学习(deep learning):其中有标签数据的使用类似于有监督学习;而无标签的使用则用于特征选择方面。即,选择出一组描述数据本质的“基特征”,其能够完整表示问题关心的数据集。由此,同时实用的有/无标签的数据,进行模型的建立。