省产教融合一流课程

中国大学生计算机设计大赛

全国大学生信息安全竞赛

“中国软件杯”

全国大学生信息安全与对抗技术竞赛

中国高校计算机大赛-大数据挑战赛 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
2
3
4
5
6
import numpy as np
from sklearn.preprocessing import Imputer
imp =
imp.fit
X
print(imp.transform(X))

噪声数据

分箱

划分: 等频(数值个数),等宽(数值范围)

光滑: 用箱均值,箱子中位数,箱边界

KBinsDiscretizer

uniform

quantile

kmeans

Sklearn实现

1
2
3
from sklearn.preprocessing import KBinsDiscretizer
enc = KBinsDiscretizer(n_bins=10,encode='onehot')
X_binned = enc.fit_transform(X)

规范化

例如 income min = 2000 max = 9000

映射到[1,0]

income的值6800规范后位(6800-2000)/(9000-2000)*(1-0)+0=0.686

1
2
min_max_scaler = preprocessing.MinMaxScaler()
X_train_minmax = min_max_scaler.fit_transform(X_train)

存在问题:

若存在离群点,可能影响规范化

若在规范化后添加新的数据,当新数据落在原数据的区间[minA,maxA]之外,将导致“越界”错误

z-score规范化(均值)

sklearn StandardScaler

1
2
3
4
scaler = preprocessing.StandardScaler().fit(X_train)
scaler.mean_
scaler.scale
scaler.transform(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越小,支持向量越多