机器学习knn分类算法精品PPT课件
机器学习—分类3-1(KNN算法)
![机器学习—分类3-1(KNN算法)](https://img.taocdn.com/s3/m/2ef6b3322e60ddccda38376baf1ffc4ffe47e2e8.png)
机器学习—分类3-1(KNN算法)基于KNN预测客户是否购买汽车新车型主要步骤流程:1. 导⼊包2. 导⼊数据集3. 数据预处理3.1 检测缺失值3.2 ⽣成⾃变量和因变量3.3 查看样本是否均衡3.4 将数据拆分成训练集和测试集3.5 特征缩放4. 使⽤不同的参数构建KNN模型4.1 模型1:构建KNN模型并训练模型4.1.1 构建KNN模型并训练4.1.2 预测测试集4.1.3 ⽣成混淆矩阵4.1.4 可视化测试集的预测结果4.1.5 评估模型性能4.2 模型2:构建KNN模型并训练模型数据集链接:1. 导⼊包In [2]:# 导⼊包import numpy as npimport pandas as pdimport matplotlib.pyplot as plt2. 导⼊数据集In [3]:# 导⼊数据集dataset = pd.read_csv('Social_Network_Ads.csv')datasetOut[3]:User ID Gender Age EstimatedSalary Purchased015624510Male19190000115810944Male35200000215668575Female26430000315603246Female27570000415804002Male19760000..................39515691863Female4641000139615706071Male5123000139715654296Female5020000139815755018Male3633000039915594041Female49360001400 rows × 5 columns3. 数据预处理3.1 检测缺失值In [4]:# 检测缺失值null_df = dataset.isnull().sum()null_dfOut[4]:User ID 0Gender 0Age 0EstimatedSalary 0Purchased 0dtype: int643.2 ⽣成⾃变量和因变量为了可视化分类效果,仅选取 Age 和 EstimatedSalary 这2个字段作为⾃变量In [5]:# ⽣成⾃变量和因变量X = dataset.iloc[:, [2, 3]].valuesX[:5, :]Out[5]:array([[ 19, 19000],[ 35, 20000],[ 26, 43000],[ 27, 57000],[ 19, 76000]], dtype=int64)In [6]:y = dataset.iloc[:, 4].valuesy[:5]Out[6]:array([0, 0, 0, 0, 0], dtype=int64)3.3 查看样本是否均衡In [7]:# 查看样本是否均衡sample_0 = sum(dataset['Purchased']==0)sample_1 = sum(dataset['Purchased']==1)print('不买车的样本占总样本的%.2f' %(sample_0/(sample_0 + sample_1)))不买车的样本占总样本的0.643.4 将数据拆分成训练集和测试集In [8]:# 将数据拆分成训练集和测试集from sklearn.model_selection import train_test_splitX_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.25, random_state = 0) print(X_train.shape)print(X_test.shape)print(y_train.shape)print(y_test.shape)(300, 2)(100, 2)(300,)(100,)3.5 特征缩放In [9]:# 特征缩放from sklearn.preprocessing import StandardScalersc = StandardScaler()X_train = sc.fit_transform(X_train)X_test = sc.transform(X_test)4. 使⽤不同的参数构建KNN模型4.1 模型1:构建KNN模型并训练模型4.1.1 构建KNN模型并训练In [10]:# 使⽤不同的参数构建KNN模型# 模型1:构建KNN模型并训练模型(n_neighbors = 5, weights='uniform', metric = 'minkowski', p = 2)from sklearn.neighbors import KNeighborsClassifierclassifier = KNeighborsClassifier(n_neighbors = 5, weights='uniform', metric = 'minkowski', p = 2) classifier.fit(X_train, y_train)Out[10]:KNeighborsClassifier()4.1.2 预测测试集In [11]:# 预测测试集y_pred = classifier.predict(X_test)y_pred[:5]Out[11]:array([0, 0, 0, 0, 0], dtype=int64)4.1.3 ⽣成混淆矩阵In [12]:# ⽣成混淆矩阵from sklearn.metrics import confusion_matrixcm = confusion_matrix(y_test, y_pred)print(cm)[[64 4][ 3 29]]4.1.4 可视化测试集的预测结果In [13]:# 可视化测试集的预测结果from matplotlib.colors import ListedColormapplt.figure()X_set, y_set = X_test, y_testX1, X2 = np.meshgrid(np.arange(start = X_set[:, 0].min() - 1, stop = X_set[:, 0].max() + 1, step = 0.01), np.arange(start = X_set[:, 1].min() - 1, stop = X_set[:, 1].max() + 1, step = 0.01))plt.contourf(X1, X2, classifier.predict(np.array([X1.ravel(), X2.ravel()]).T).reshape(X1.shape),alpha = 0.75, cmap = ListedColormap(('pink', 'limegreen')))plt.xlim(X1.min(), X1.max())plt.ylim(X2.min(), X2.max())for i, j in enumerate([0,1]):print(str(i)+"da"+str(j))plt.scatter(X_set[y_set == j, 0], X_set[y_set == j,1],color = ListedColormap(('red', 'green'))(i), label = j)plt.title('KNN (Test set)')plt.xlabel('Age')plt.ylabel('Estimated Salary')plt.legend()plt.show()0da01da1In [14]:X_set[y_set == 0,1]Out[14]:array([ 0.50496393, -0.5677824 , 0.1570462 , 0.27301877, -0.5677824 ,-1.43757673, -1.58254245, -0.04590581, -0.77073441, -0.59677555,-0.42281668, -0.42281668, 0.21503249, 0.47597078, 1.37475825,0.21503249, 0.44697764, -1.37959044, -0.65476184, -0.53878926,-1.20563157, 0.50496393, 0.30201192, -0.21986468, 0.47597078,0.53395707, -0.48080297, -0.33583725, -0.50979612, 0.33100506,-0.77073441, -1.03167271, 0.53395707, -0.50979612, 0.41798449,-1.43757673, -0.33583725, 0.30201192, -1.14764529, -1.29261101,-0.3648304 , 1.31677196, 0.38899135, 0.30201192, -1.43757673,-1.49556302, 0.18603934, -1.26361786, 0.56295021, -0.33583725,-0.65476184, 0.01208048, 0.21503249, -0.19087153, 0.56295021,0.35999821, 0.27301877, -0.27785096, 0.38899135, -0.42281668,-1.00267957, 0.1570462 , -0.27785096, -0.16187839, -0.62576869,-1.06066585, 0.41798449, -0.19087153])In [15]:np.unique(y_set)Out[15]:array([0, 1], dtype=int64)4.1.5 评估模型性能In [16]:# 评估模型性能from sklearn.metrics import accuracy_scoreprint(accuracy_score(y_test, y_pred))0.93In [17]:(cm[0][0]+cm[1][1])/(cm[0][0]+cm[0][1]+cm[1][0]+cm[1][1])Out[17]:0.934.2 模型2:构建KNN模型并训练模型In [1]:# 模型2:构建KNN模型并训练模型(n_neighbors = 3, weights='distance', metric = 'minkowski', p = 1)classifier = KNeighborsClassifier(n_neighbors = 100, weights='distance', metric = 'minkowski', p = 1) classifier.fit(X_train, y_train)In [19]:# 预测测试集y_pred = classifier.predict(X_test)y_pred[:5]Out[19]:array([0, 0, 0, 0, 0], dtype=int64)In [20]:# ⽣成混淆矩阵cm = confusion_matrix(y_test, y_pred)print(cm)[[63 5][ 4 28]]In [21]:# 可视化测试集的预测结果plt.figure()X_set, y_set = X_test, y_testX1, X2 = np.meshgrid(np.arange(start = X_set[:, 0].min() - 1, stop = X_set[:, 0].max() + 1, step = 0.01), np.arange(start = X_set[:, 1].min() - 1, stop = X_set[:, 1].max() + 1, step = 0.01))plt.contourf(X1, X2, classifier.predict(np.array([X1.ravel(), X2.ravel()]).T).reshape(X1.shape),alpha = 0.75, cmap = ListedColormap(('pink', 'limegreen')))plt.xlim(X1.min(), X1.max())plt.ylim(X2.min(), X2.max())for i, j in enumerate(np.unique(y_set)):plt.scatter(X_set[y_set == j, 0], X_set[y_set == j, 1],color = ListedColormap(('red', 'green'))(i), label = j)plt.title('KNN (Test set)')plt.xlabel('Age')plt.ylabel('Estimated Salary')plt.legend()plt.show()In [22]:# 评估模型性能print(accuracy_score(y_test, y_pred))0.91结论:1)由上⾯2个模型可见,不同超参数对KNN模型的性能影响不同。
机器学习KNN算法
![机器学习KNN算法](https://img.taocdn.com/s3/m/8ef44234b6360b4c2e3f5727a5e9856a5612267c.png)
4
kNN(k-Nearest Neighbor Classification)
1. 算距离
距离越近应该意味着这两个点属于一个分类的可能性越大。
• 计算的距离衡量包括欧式距离、夹角余弦等。
• sklearn.neighbors.KNeighborsClassifier(n_neighbors=5 #邻居数,默认为5 , weights='uniform' #用于预测的权重方法 , algorithm='auto' #用于计算最近邻的算法(ball_tree、kd_tree、brute、auto) , leaf_size=30 #传递给BallTree 或KDTree 叶大小 , p=2 # , metric='minkowski' #用于树的度量距离 , metric_params=None #度量参数 , **kwargs)
6
kNN(k-Nearest Neighbor Classification)
典型的距离定义
7
kNN(k-Nearest Neighbor Classification)
2. 找邻居
由哪几个(K)已知样本决定测试样本类别?
8
kNN(k-Nearest Neighbor ClassFra bibliotekfication)
KNN
kNN(k-Nearest Neighbor Classification)
图中测试样本属于正例还是反例?
2
kNN(k-Nearest Neighbor Classification)
K近邻算法PPT课件
![K近邻算法PPT课件](https://img.taocdn.com/s3/m/c87c144b59eef8c75fbfb373.png)
• 包含目标点的叶结点对应包含目标点的最小超矩形区域。以此叶 结点的实例点作为当前最近点。目标点的最近邻一定在以目标点 为中心并通过当前最近点的超球体内部。然后返回当前结点的父 结点,如果父结点的另一子结点的超矩形区域与超球体相交,那 么在相交的区域内寻找与目标点更近的实例点。如果存在这样的 点,将此点作为新的当前最近点。
➢ 问题:给这个绿色的圆分类? ➢ 如果K=3,绿色圆点的最近的3个邻居是2个红色小三角形和1个蓝
色小正方形,少数从属于多数,基于统计的方法,判定绿色的这 个待分类点属于红色的三角形一类。 ➢ 如果K=5,绿色圆点的最近的5个邻居是2个红色三角形和3个蓝色 正方形,还是少数从属于多数,基于统计的方法,判定绿色的这 个待分类点属于蓝色的正方形一类。
区域内没有实例时终止。在此过程中,将实例保存在相应的结点
上。
2020/7/23
9
K近邻法的实现:kd树
2020/7/23
10
K近邻法的实现:kd树
2020/7/23
11
K近邻法的实现:kd树
➢ 搜索kd树
• 利用kd树可以省去大部分数据点的搜索,从而减少搜索的计算量 。这里以最近邻为例,同样的方法可以应用到K近邻。
2020/7/23
5
K近邻的三个基本要素
2020/7/23
6
K近邻的三个基本要素
➢ K值的选择
• 如果选择较小的k值,就相当于用较小的邻域中的训练实例进行预 测, “学习”的近似误差会减小,只有与输入实例较近的训练实 例才会对预测结果起作用。但缺点是“学习”的估计误差会增大 ,预测结果会对近邻的实例点非常敏感。换句话说,k值的减小意 味着整体模型变得复杂,容易发生过拟合。
大数据十大经典算法kNN讲解PPT
![大数据十大经典算法kNN讲解PPT](https://img.taocdn.com/s3/m/36c6a4b5b8f3f90f76c66137ee06eff9aff84977.png)
观察下面的例子,我们看到,对于位置样本X,通过KNN算法,我们显然可以得到X应属于红点,但对于位置样本Y,通过KNN算法我们似乎得到了Y应属于蓝点的结论,而这个结论直观来看并没有说服力。
KNN算法的具体实现
由上面的例子可见:该算法在分类时有个重要的不足是,当样本不平衡时,即:一个类的样本容量很大,而其他类样本数量很小时,很有可能导致当输入一个未知样本时,该样本的K个邻居中大数量类的样本占多数。 但是这类样本并不接近目标样本,而数量小的这类样本很靠近目标样本。这个时候,我们有理由认为该位置样本属于数量小的样本所属的一类,但是,KNN却不关心这个问题,它只关心哪类样本的数量最多,而不去把距离远近考虑在内,因此,我们可以采用权值的方法来改进。和该样本距离小的邻居权值大,和该样本距离大的邻居权值则相对较小,由此,将距离远近的因素也考虑在内,避免因一个样本过大导致误判的情况。
KNN算法的缺陷
从算法实现的过程大家可以发现,该算法存两个严重的问题,第一个是需要存储全部的训练样本,第二个是需要进行繁重的距离计算量。对此,提出以下应对策略。
KNN算法的改进:分组快速搜索近邻法
其基本思想是:将样本集按近邻关系分解成组,给出每组质心的位置,以质心作为代表点,和未知样本计算距离,选出距离最近的一个或若干个组,再在组的范围内应用一般的knn算法。由于并不是将未知样本与所有样本计算距离,故该改进算法可以减少计算量,但并不能减少存储量。
问题:有一个未知形状X(图中绿色的圆点),如何判断X是什么形状?
K-最近邻算法
显然,通过上面的例子我们可以明显发现最近邻算法的缺陷——对噪声数据过于敏感,为了解决这个问题,我们可以可以把位置样本周边的多个最近样本计算在内,扩大参与决策的样本量,以避免个别数据直接决定决策结果。由此,我们引进K-最近邻算法。
基于粒子群优化的快速knn分类算法.ppt
![基于粒子群优化的快速knn分类算法.ppt](https://img.taocdn.com/s3/m/2fdce68d0b1c59eef9c7b4da.png)
北京石油化工学院
张景祥 济南大学计算 机工程学院 计算机专 业英语教程 科技英语, 专业英语, IT 英语 特点:词汇、术语、专
用语
张国英 沙芸 江慧娜
主要内容
1 论文背景与意义 2 k近邻分类文本分类算法 3 粒子群优化算法 4 基于粒子群算法的K近邻分类算法 5 实验结果
Sumgn1
Sum
n g
Sum
n1 g
,
算法停止,输出集合
pn1 g
作为测试文档X的k
个近邻。
5 实验结果
KNN算法的参数包括k近邻的选择,本文 分别对k=25和k=35进行了实验, 特征维 数分别为50和100。
表1 特征向量维数为100时的结果
算法 k=35
误分率 时间(s)
KNN
75
157
If ,则 ;从粒子j的移动
Sim(w,
wgni
)
Sim(w,
wn1 gi
)
X n1 gi
X
n gi
历史中 p
n j
{X
n j1
,
X
n j2
,...,
X
n jk
}
选择其k个最优近邻有序
集合作为局部指导。
➢ (6) 根据计算有序集合 pgn
和
pn1 g
与测试文
档X的相似度 和 ,如果 Sumgn
PSOKNN 75
48
k=25 误分率
75 75
时间(s) 140 43
表2 特征向量维数为50时的结果
算法
k=35 误分率 时间(s)
k=25 误分率 时间(s)
KNN
K-近邻算法PPT课件
![K-近邻算法PPT课件](https://img.taocdn.com/s3/m/3b73f359cc22bcd127ff0c6a.png)
.
19
示例:使用k-近邻算法
改进约会网站的配对结果
1.问题描述: 我都朋友佩琪一直使用在线约会网站寻找适 合自己的约会对象。尽管约会网站会推荐不 同的人选,但是她并不是喜欢每一个人。经 过一番总结,她发现曾交往过三种类型的人:
不喜欢的人 魅力一般的人 极具魅力的人
.
20
示例:使用k-近邻算法
改进约会网站的配对结果
(3)分析数据:可以使用任何方法。 (4)测试算法:计算错误率。 (5)使用算法:首先需要输入样本数据和结构化的输 出结果,然后运行k-近邻算法判定输入数据属于哪个分 类,最后应用对计算出的分类执行后续的处理。
.
10
准备:使用Python导入数据
1.创建名为kNN.py的Python模块
注:接下来所有的代码均保存于这个文件夹中,读者可以按照自己的习 惯在自己创建的文件夹中编写代码,也可以去网上查找源代码,但笔者 建议读者按照本PPT的顺序去创建模块并编写代码。
.
15
实施kNN分类算法
(2)以下为kNN近邻算法代码,将其保存于kNN.py中 def classify0(inX, dataSet, labels, k):
dataSetSize = dataSet.shape[0] diffMat = tile(inX, (dataSetSize,1)) - dataSet sqDiffMat = diffMat**2 sqDistances = sqDiffMat.sum(axis = 1) distances = sqDistances**0.5 sortedDistIndicies = distances.argsort() classCount = {} for i in range(k):
KNN算法——【人工智能 精品讲义】
![KNN算法——【人工智能 精品讲义】](https://img.taocdn.com/s3/m/2a6c5a10f121dd36a32d82fd.png)
2. 样本集生成。在Grabbag中取出第i个样本用Store中的 当前样本集按最近邻法分类。若分类错误,则将该 样本从Grabbag转入Store中,若分类正确,则将该样 本放回Grabbag中。
规则2: 如果满足: 则xi不是x的最近邻
树搜索算法
1. 置B=∞,L=0,p=0 2. 将当前结点的所有直接后继结点放入一个目录表中,并
对这些结点计算D(x,Mp) 3. 根据规则1从目录表中去掉step2中的某些结点 4. 如果目录表已无结点则置L=L-1,如果L=0则停止,否则
转Step3。如果目录表有一个以上的结点,则转step5 5. 在目录表中选出最近结点p’为当前执行结点。如果当前的
欧几里得距离与曼哈坦距离的共同点
(1)即距离是一个非负的数值
d(a,b) 0
(2)自身的距离为0 (3)即距离函数具有对称性
d(a, a) 0, d(b,b) 0 d(a,b) d(b, a)
(4)即距离函数满足三角不等式 d(a,b) d(a, k) d(b, k)
K最近邻法
K最近邻
K最近邻法结果讨论
优点: • 实现简单 • 分类效果好 缺点: • 样本小时误差难控制 • 存储所有样本,需要较大存储空间 • 对于大样本的计算量大
一些改进方法:
• 快速搜索近邻
• 样本集分级分解 • 搜索
• 压缩近邻算法
• 分量邻域法 • 列表法
• 剪辑近邻法
• 两分剪辑 • 压缩近邻
• k近邻快速算法
• Hart快速算法 • 聚类划分 • 及时中止 • 超球搜索
机器学习-K-近邻(kNN)算法
![机器学习-K-近邻(kNN)算法](https://img.taocdn.com/s3/m/e99a6b342af90242a895e5ab.png)
K-近邻(kNN)算法
XXX 2017-05-17
主讲内容
• 应用场景 • 数学模型 • 算法流程 • 实例简介
应用场景
• 优点
• 精度高; • 对异常值不敏感; • 无数据输入假定;
应用场景
• 缺点
• • • • 计算复杂度高; 空间复杂度高; 重复计算量大; 存储量大;
应用场景
• 分类问题;
• 由于KNN方法主要靠周围有限的邻近的样本,而不是靠判别类域的方法 来确定所属类别,因此对于类域的交叉或重叠较多的待分样本集来说, KNN方法较其他方法更为适合。
• 回归类问题;
数学模型
• 目的:分类 • 方法:计算不同特征值之间的距离 • 工作原理:存在一个样本数据集合(也称作训练样本集),并且 样本集中每个数据都存在标签,即我们知道样本集中每一数据与 所属的对应关系。输入没有标签的新数据后,将新数据的每个特 征与样本集中数据对应的特征进行比较,然后算法提取样本集中 特征最相似数据(最邻近)的分类标签。一般来说,选取样本数 据集中前k个最相似的数据,这就是k-近邻算法中k的出处,通常k 是不大于20的整数。最后,选择k个最相似数据中出现次数最多 的分类,作为新数据的分类。
数学模型
数学模型
算法流程
计算待测点与数据集中的点的距离 距离归一化 欧式距离 距离序列化 min-max标准化
选取最小的k个点
确定前k个点在所在类别的出现概率
选取前k个点出现概率最高的点
实例简介
•
4分类算法综述及kNN精品PPT课件
![4分类算法综述及kNN精品PPT课件](https://img.taocdn.com/s3/m/194d52c86bec0975f465e268.png)
例如预测某同学的期末考试成绩得分,如果转换成预测某 同学的期末考试成绩“是否合格”,该数据挖掘任务就由 数值预测变成了分类。
有监督和无监督学习
监督学习 (Supervised learning)
分类的两个步骤
训练模型:对一个类别已经确定的训练集创建模型 用于创建模型的数据集叫做训练集 每一条记录都属于一个确定的类别或类标号
模型使用:用创建的模型预测未来或者类别未知的记录
分类过程:训练模型
训练集
分类算法
天气
气温
湿度
晴
中
中
雨
低
高
晴
高
低
...
适合运动 是 否 否
模型
IF 气温低 THEN 不适合运动 ......
相关应用
垃圾邮件识别 信用卡用户分级,低风险优质客户给予较高的额度 手写字体识别、语音输入、图像识别 ...
相关应用
9月26日,石家庄市建华大街和 裕华路交叉口西南角的行人闯红 灯自动识别抓拍系统开始试用。
如果行人指示信号灯为红灯时, 仍有行人在斑马线上过马路,这 套系统会自动将其中一个人的图 像拍摄下来并形成照片。
模型
可将模型看成一个映射或函数 y = f(X),其中X是特征向量 给定未知实例的特征向量X,算法即可得出其关联的y的值 分类和预测算法的训练过程即是为了从训练数据中“学习”
得到这个函数,进而用于未知数据
分类算法的评价
预测的准确率 正确地预测新的或先前未见过的数据的类标号的能力
速度 构造模型的速度、利用模型进行分类的速度
机器学习ppt课件
![机器学习ppt课件](https://img.taocdn.com/s3/m/cf4b6fcc192e45361166f55e.png)
编辑版pppt
39
11. 深度学习:赋予人工智能以璀璨的未来
• 深度学习就是一种基于对数据进行表征学习的方法,使用多层网络,能够学 习抽象概念,同时融入自我学习,逐步从大量的样本中逐层抽象出相关的概 念,然后做出理解,最终做出判断和决策。通过构建具有一定“深度”的模型, 可以让模型来自动学习好的特征表示(从底层特征,到中层特征,再到高层 特征),从而最终提升预测或识别的准确性。
• 问这颗水果糖(X)最有可能来自哪个碗?
编辑版pppt
29
例如上面的例子中: P(X): 水果糖的概率为5/8 P(X|C1): 一号碗中水果糖的概率为3/4 P(X|C2): 二号碗中水果糖的概率为2/4 P(C1)=P(C2): 两个碗被选中的概率相同,为1/2 则水果糖来自一号碗的概率为: $P(C1|X)=P(X|C1)P(C1)/P(X)=(3/4)(1/2)/(5/8)=3/5 水果糖来自二号碗的概率为: P(C2|X)=P(X|C2)P(C2)/P(X)=(2/4)(1/2)/(5/8)=2/5 P(C1|X)>P(C2|X) 因此这颗糖最有可能来自一号碗。
机器学习
Machine Learning
李成伟
编辑版pppt
1
目录
• 一 大数据与云计算 • 二 机器学习、深度学习和人工智能 • 三 编程语言的选择 • 四 机器学习算法介绍 • 五 算法案例介绍
编辑版pppt
2
一 大数据与云计算
编辑版pppt
3
编辑版pppt
4
什么是大数据?
编辑版pppt
编辑版pppt
45
K近邻法(KNN)原理
• K近邻法(k-nearest neighbors,KNN)是一种很基本的机器学习方法 了,在我们平常的生活中也会不自主的应用。比如,我们判断 一个人的人品,只需要观察他来往最密切的几个人的人品好坏 就可以得出了。
机器学习经典算法 ppt课件
![机器学习经典算法 ppt课件](https://img.taocdn.com/s3/m/40d4802d312b3169a451a470.png)
朴素贝叶斯算法原理:
四、KNN
• K-近邻分类算法(K Nearest Neighbors,简称 KNN)通过计算每个训练数据到待分类元组的距 离,取和待分类元组距离最近的K个训练数据,K 个数据中哪个类别的训练数据占多数,则待分类元 组就属于哪个类别。
决策树的优势在于不需要任何领域知识或参数 设置,产生的分类规则易于理解,准确率较高。适 合于探测性的知识发现。
缺点是:在构造树的过程中,需要对数据集进 行多次的顺序扫描和排序,因而导致算法的低效。
• 增益比率度量是用增益度量Gain(S,A)和分裂信息度 量SplitInformation(S,A)来共同定义的
供的是框架
3)当使用简单分类器时,计算出的结果是可以理解的。 而且弱分类器构造极其简单
4)简单,不用做特征筛选 5)不用担心overfitting
adaboost算法的一些实际可以使用的场景:
1)用于二分类或多分类的应用场景 2)用于做分类任务的baseline 3)用于特征选择(feature selection) 4)Boosting框架用于对badcase的修正
否则循环步骤2~5 ;
k-means算法的性能分析
主要优点:
是解决聚类问题的一种经典算法,简单、快速。 对处理大数据集,该算法是相对可伸缩和高效率的。 当结果簇是密集的而簇间区别是明显的时,它的效果较好。
主要缺点
必须事先给出k(要生成的簇的数目),而且对初值敏感,对
于不同的初始值,可能会导致不同结果。 不适合于发现非凸面形状的簇或者大小差别很大的簇。 对于“躁声”和孤立点数据是敏感的,因为簇的中心是通过
移去对树的精度影响不大的划分。使用 成本复杂度 方法,即同时度量错分风险和树的复杂程度,使二 者越小越好。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
v 概述 v 算法流程 v K值选择 v 实例
Computer science and technology
10
实例
Example
约会网站信息查找
K
K-近邻 k-Nearest Neighbor classification
v 概述 v 算法流程 v K值选择 v 实例
Computer science and technology
Algorithm of ma1chi1n0e0l0e.a1rnin1g25.0 无 棕色 红尾鸳
2 3000.7 200.0 无 灰色 鹭鹰
v 关键术语 v 机器学习主要任务 3 3300.0 220.3 无 灰色 鹭鹰
v 十大算法
4 4100.0 136.0 有 黑色 普通潜鸟
训练集 训练样本 特征 目标变量 测试样本
02
M
机器学习十大算法
Algorithm of machine learning
K
S
v 关键术语 v 机器学习主要任务 v 十大算法
Computer science and technology
03
关键术语
Key Words
M
体重 翼展 脚 后背 种属 机器学习十大算法(g) (cm) 蹼 颜色
Computer science and technology
04
机器学习主要任务
Main Task
M
机器学习十大机算器法学习主要任务是如何解决分类问题——将数据划分
Algorithm of 到另m合外ac适还hi的有ne分项l类任ea中务rn。是in回g归——预测数值型数据,一个典型
常见的例子是数据拟合曲线:通过给定数据点最优拟合
v 概述 v 存算在法一流程个训练样本集,其中每个数据都对应着一个标签。输入 v 一K值个选没择有标签的数据(即测试样本),将新数据每个特征与样 v 本实集例中数据对应特征比较,然后计算距离,并提取前K个类似数
据所对应的标签,k个标签中出现次数最多的标签作为新数据的 标签。
08
算法流程
Process
6. PageRank
7. AdaBoost
8. Naive Bayes
9. Classification and Regression Trees(CART)
10. kNN: k-nearest neighbor classification
Computer science and technology
K
K1.-收近集邻数据 k-Nearest Neighbor classification
2.准备数据
v 3概.分述析数据 v 算法流程 v 4K.测值选试择算法 v 5实.使例用算法
Computer science and technology
09
K值选择
Selection
K
K-近邻 k-Nearest Neighbor classification
06
M
K
K-近邻 k-Nearest Neighbor classification
S
v 概述 v 算法流程 v K值选择 v 实例
Computer science and technology
07
Computer science and technology
概述
Overview
K
K简行-单分近的类邻讲。,k-近邻算法采用测量不同特征值之间的距离方法进 k-Nearest Neighbor classification
11
MK
S
K-近邻的不足 k-NN’s shortcoming
v 懒惰学习 v 解释能力弱 v 过度依赖样本 v 计算量大
Computer science and technology
12
学习并没有结束,希望继续努力
Thanks for listening, this course is expected to bring you value and help
MK S
机器学习(Machine Learning, ML)是一门 多领域交叉学科,涉及概率论、统计学、 逼近论、凸分析、算法复杂度理论等多门 学科。专门研究计算机怎样模拟或实现人 类的学习行为,以获取新的知识或技能, 重新组织已有的知识结构使之不断改善自 身的性能
Computer science and technology
Machine Learning
k-Nearest Neighbor classification
1
2
M 3K
4
S
什么是机器学习 机器学习十大算法 K-NN K-NN的不足
Catalog 目录
Computer science and technology
01
何谓机器学习
What’s machine learning?
为方便学习与使用课件内容,课件可以在下载后自由编辑, 请根据实际情况调整
机器学习十大1算. C4法.5
Algorithm of m2.aKc-hMineeanlsearning
3. Support vector machines (SVM)
v 机器学习主要任务4. The Apriori algorithm
v 关键术语 v 十大算法
5. Expectation–Maximization(EM)
v 关键术语
曲线。 分类和回归属于监督学习,即对具有概念标记的训练样
v 机器学习主要任务本进行学习。
v 十大算法
与之对应,还有无监督学习,即训练样本本身就无概念 标记。聚类就是最典型的无监督学习。
Computer science and technology
05
机器学习十大算法
Algorithm
M