《Web安全深度学习实战》的读书笔记,源码和数据均来自兜哥的Git,代码可能根据报错进行微调,然后加了一些注释。
运行环境:
MAC 10.13.3
Python 3.6.4 Anaconda
- 词袋模型:如果一个单词在文档中出现不止一次,就统计其出现的次数,词袋在词集的基础上加入了频率这个维度,使统计拥有更好的效果,通常我们在应用中都选用词袋模型。
- TF-IDF:
- TF意思是词频(Term Frequency):某个词在语料库中出现的次数
- IDF意思是逆向文件频率(Inverse Document Frequency):某个词在某一类别出现的多,在其他类别出现的少,那IDF的值就会比较大
- 因此TF-IDF其实就是TF*IDF
- 词袋模型与TF-IDF联合使用:用词袋模型筛选出一些高热度词汇,再用tf-idf计算其权值,详情见BoW_tfidf.py
算法名 | 简介 | Reference |
---|---|---|
决策树 | if-then | 【机器学习】决策树(上)——从原理到算法实现 |
SVM | 二分类 | 支持向量机(SVM)是什么意思? |
k-means | 聚类 | 从零开始实现Kmeans聚类算法 |
kNN | 找出最靠近的k个样本 | 机器学习(一)——K-近邻(KNN)算法 |
Naive Bayes | 基于概率论的分类 | 深入理解朴素贝叶斯(Naive Bayes) |
AdaBoost | 弱分类器加权集合 | 简单易学的机器学习算法——AdaBoost |
gbdt | 简单易学的机器学习算法——梯度提升决策树GBDT | |
xgboost | xgboost入门与实战(原理篇) |
-
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一键安装
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