No title
省产教融合一流课程
中国大学生计算机设计大赛
全国大学生信息安全竞赛
“中国软件杯”
全国大学生信息安全与对抗技术竞赛
中国高校计算机大赛-大数据挑战赛 www.c4best.cn
Kaggle
系统安全
主机
工业物联网
Linux 后台服务,VL逻辑卷
网络安全
软件安全
漏洞挖掘
code 二进制 逆向
组成原理
模型安全
一
回归 传统模式识别
分类 机器学习
聚类 数据挖掘
关联规则
序列模式
异常点检测
隐私保护
回归分析方法
线性
逻辑
多项式
逐步
岭
分类与预测
模型建立:通过训练,学习有标签的数据集
模型使用:为将来或未知的对象分类
监督学习 Supervised learning
训练数据的分类标号已知,根据训练数据集对新数据分类
无监督学习 Unsupervised learning
训练数据的分类标号未知
要学习的类或集合的个数也可能未知
用聚类尝试确定“相似的组群”
semi-supervised
半监督
k-近邻分类
if it looks like a duck, swims like a duck, and quacks like a duck, then it probably is a duck.
多方面和标签集合比较,选一个最像的标签
K就是选K个最近邻
然后看哪个标签最多
应用:异常检测
聚类分析
聚类:数据对象的集合
数据挖掘实施步骤
业务理解
数据预处理 (80%)
建模
模型评估
模型发布
scikit-learn
二
数据处理与降维
检查数据质量:
缺失值
不合理值
不同数据源的不一致
异常值
数据质量的含义
正确性
一致性
完整性
可靠性
现实世界的数据
不完整的
含噪声的
不一致的
冗余的
数据清理
补充缺失数据,平滑噪声数据,识别或删除离群点,解决不一致
数据集成
集成多个数据库,数据立方或文件
数据变换
规范化和聚集
数据归约
简化数据,但产生同样或相似的结果
度量数据的离散程度
极差
四分位数
离群点outlier
盒图 包括{极差,四分位数,中位数}
方差,标准差
Loess
matplotlib
seaborn
数据处理
缺失值
使用最可能得值填充空缺值
1 | import numpy as np |
噪声数据
分箱
划分: 等频(数值个数),等宽(数值范围)
光滑: 用箱均值,箱子中位数,箱边界
KBinsDiscretizer
uniform
quantile
kmeans
Sklearn实现
1 | from sklearn.preprocessing import KBinsDiscretizer |
规范化
例如 income min = 2000 max = 9000
映射到[1,0]
income的值6800规范后位(6800-2000)/(9000-2000)*(1-0)+0=0.686
1 | min_max_scaler = preprocessing.MinMaxScaler() |
存在问题:
若存在离群点,可能影响规范化
若在规范化后添加新的数据,当新数据落在原数据的区间[minA,maxA]之外,将导致“越界”错误
z-score规范化(均值)
sklearn StandardScaler
1 | scaler = preprocessing.StandardScaler().fit(X_train) |
正则化Normalization
L1 L2
X_normalized = preprocessing.normalize(X,norm=’12’)
分类数据转码
Sklearn
Onehot 一个神经元就是0或1
OrdinalEncoder
类别数据转标量
PCA:
LDA:
找到最具区分性的特征,需要训练数据
手动筛选
Removing features with low variance
Univariate feature selection
基于特征的重要性选择
Recursive feature elimination
自动降维
PCA
LDA(Linea rDiscriminan tAnalysis)
SVD
LDA(Latent Dirichlet Allocation)
三
决策树
划分训练集
停止条件
划分方式,离散属性
LightGBM
XGBoost
信息增益
本来熵很大,加一个信息,熵会减少多少
熵变化最大的那个作为根节点
倾向于多种属性
增益率:规范一下值的范围
熵/原来的熵
倾向于不平衡划分,一个划分比其他划分小很多
Gini指标
倾向于多种属性
编号很多时,计算困难
倾向于导致相同大小的划分和纯度
提取分类规则
IF-THEN
过拟合剪枝
Prepruning
Postpruning
Ensemble方法
Bagging
Boost
典型算法
adaboost
Random Forest
组合多个分类器的预测来提高分类准确率
Bagging
找多个医生看同一个,每个医生有相同的投票权
Boost
根据医生先前的诊断准确率,设置其投票的权重
被错误分类的样本权重会增大
Adaboost 自适应boost
针对同一训练集,训练多个弱分类器,将分类器集合起来,构成更强的强分类器
随机森林
挑选某些属性
GBDT
XGBoost
Voting classifier
支持向量法
Support Vector Machine
C 错误容忍度
gamma Gamma越小,支持向量越多