省产教融合一流课程

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

全国大学生信息安全竞赛

“中国软件杯”

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

中国高校计算机大赛-大数据挑战赛 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越小,支持向量越多