Skip to content

《Web安全深度学习实战》的读书笔记

Notifications You must be signed in to change notification settings

Snowty/DL_FOR_SEC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

Repository files navigation

前言

《Web安全深度学习实战》的读书笔记,源码和数据均来自兜哥的Git,代码可能根据报错进行微调,然后加了一些注释。

运行环境:

MAC 10.13.3 
Python 3.6.4 Anaconda

数据预处理

TF-IDF

余弦相似性

TF-IDF、词袋模型与特征工程

  • 词袋模型:如果一个单词在文档中出现不止一次,就统计其出现的次数,词袋在词集的基础上加入了频率这个维度,使统计拥有更好的效果,通常我们在应用中都选用词袋模型。
  • TF-IDF:
    • TF意思是词频(Term Frequency):某个词在语料库中出现的次数
    • IDF意思是逆向文件频率(Inverse Document Frequency):某个词在某一类别出现的多,在其他类别出现的少,那IDF的值就会比较大
    • 因此TF-IDF其实就是TF*IDF
  • 词袋模型与TF-IDF联合使用:用词袋模型筛选出一些高热度词汇,再用tf-idf计算其权值,详情见BoW_tfidf.py

N-gram提取特征

常用算法

机器学习算法比较

机器学习中,模型、算法如何选择?

算法名     简介         Reference                                    
  决策树      if-then 【机器学习】决策树(上)——从原理到算法实现
  SVM       二分类 支持向量机(SVM)是什么意思?
  k-means     聚类 从零开始实现Kmeans聚类算法
   kNN       找出最靠近的k个样本 机器学习(一)——K-近邻(KNN)算法
  Naive Bayes  基于概率论的分类          深入理解朴素贝叶斯(Naive Bayes)
  AdaBoost     弱分类器加权集合 简单易学的机器学习算法——AdaBoost
gbdt 简单易学的机器学习算法——梯度提升决策树GBDT
xgboost xgboost入门与实战(原理篇)

模型评估

sklearn中的模型评估-构建评估函数

  • sklearn中的Metric:

    - TP,True Positive 
    - FP,False Positive 
    - TN,True Negative 
    - FN,False Negative
    
    • metrics.precision_score:精确度,P = TP / (TP + FP)
    • metrics.recall_score:召回率, R = TP / (TP + FN)
    • metrics.accuracy_score:准确率,A = (TP + TN) / (TP + FP + TN + FN)
    • metrics.f1_score:F = 2PR/(P+R)
    • metrics.confusion_matrix:混淆矩阵

一些安装包

  • 没写的可能Anaconda已经安装好了或者我之前安装过或者可以pip一键安装

  • xgboost 安装

git clone --recursive https://github.com/dmlc/xgboost
cd xgboost
sudo cp make/minimum.mk ./config.mk;
sudo make -j4;
sh build.sh
cd python-package
python setup.py install

About

《Web安全深度学习实战》的读书笔记

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published