Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >当我们拿到数据进行建模时, 如何选择更合适的算法?

当我们拿到数据进行建模时, 如何选择更合适的算法?

作者头像
公众号guangcity
发布于 2019-09-20 07:39:17
发布于 2019-09-20 07:39:17
1K0
举报
文章被收录于专栏:光城(guangcity)光城(guangcity)

春天不学习

秋季徒伤悲

一年之际在于春

当我们拿到数据进行建模时,

如何选择更合适的算法?

Datawhale优秀回答者:

mashagua,金小楗

目标导向

>机器学习

1.先看是分类问题还是回归问题(分类就先从常用的分类模型里选择)

2.其次,看数据特征的数据类型,然后做一些初步的数据统计,比如是否数据均衡,大致的数据分布是怎样的(不同类别的分布)

3.然后判断用哪个比较合适一些,是树模型还是其他的分类模型。

4.最后查看kaggle比赛有没有相似案例,别人做的方法有没有值得自己学习的地方

>深度学习

对于深度学习算法选择也是看任务目标选择合适的模型,图像类首选cnn及各种cnn的变种,时间顺序相关的选rnn ,生成类的选vae或gan,有明确规则的选rl。

什么是K-means算法?

Datawhale优秀回答者:金小楗、强

通俗解释

聚类算法有很多种,K-Means 是聚类算法中的最常用的一种,算法最大的特点是简单,好理解,运算速度快,但是只能应用于连续型的数据,并且一定要在聚类前需要手工指定要分成几类。

K-Means 聚类算法的大致意思就是“物以类聚,人以群分”。

首先输入 k 的值,即我们指定希望通过聚类得到 k 个分组;

从数据集中随机选取 k 个数据点作为初始大佬(质心);

对集合中每一个小弟,计算与每一个大佬的距离,离哪个大佬距离近,就跟定哪个大佬。

这时每一个大佬手下都聚集了一票小弟,这时候召开选举大会,每一群选出新的大佬(即通过算法选出新的质心)。

如果新大佬和老大佬之间的距离小于某一个设置的阈值(表示重新计算的质心的位置变化不大,趋于稳定,或者说收敛),可以认为我们进行的聚类已经达到期望的结果,算法终止。

如果新大佬和老大佬距离变化很大,需要迭代3~5步骤。

专业解释

K-means算法的基本思想是初始随机给定K个簇中心,按照最邻近原则把待分类样本点分到各个簇。然后按平均法重新计算各个簇的质心,

从而确定新的簇心。一直迭代,直到簇心的移动距离小于某个给定的值。

K-means聚类算法主要分为三个步骤:

(1)为待聚类的点寻找聚类中心;

(2)计算每个点到聚类中心的距离,将每个点聚类到离该点最近的聚类中去;

(3)计算每个聚类中所有点的坐标平均值,并将这个平均值作为新的聚类中心;

反复执行(2)、(3),直到聚类中心不再进行大范围移动或者聚类次数达到要求为止。

使用K-means需要考虑的问题:

1.k如何确定

2.初始质心的选取

3.距离的度量

4.质心的计算

5.算法停止条件

6.空聚类的处理

K-means的缺陷:

K-menas算法试图找到使平凡误差准则函数最小的簇。当潜在的簇形状是凸面的,簇与簇之间区别较明显,且簇大小相近时,其聚类结果较理想。

该算法除了要事先确定簇数K和对初始聚类中心敏感外,经常以局部最优结束,同时对“噪声”和孤立点敏感,并且该方法不适于发现非凸面形状的簇或大小差别很大的簇。

K-means算法的聚类中心的个数K 需要事先给定,但在实际中这个 K 值的选定是非常难以估计的,很多时候,事先并不知道给定的数据集应该分成多少个类别才最合适。

K-means需要人为地确定初始聚类中心,不同的初始聚类中心可能导致完全不同的聚类结果。

K-means ++ 算法:

K-means++算法选择初始聚类中心的基本思想就是:初始的聚类中心之间的相互距离要尽可能的远。

1.从输入的数据点集合中随机选择一个点作为第一个聚类中心;

2.对于数据集中的每一个点x,计算它与最近聚类中心(指已选择的聚类中心)的距离D(x);

3.选择一个新的数据点作为新的聚类中心,选择的原则是:D(x)较大的点,被选取作为聚类中心的概率较大;

4.重复2和3直到k个聚类中心被选出来;

5.利用这k个初始的聚类中心来运行标准的k-means算法。

谈谈对分类(Classification)和预 测(Prediction)的理解,主要步骤 有哪些,以及两者的区别和联系

Datawhale优秀回答者: 宁静致远

一、介绍

分类:输入样本数据,输出对应的类别,将样本中每个数据对应一个已知属性。

预测:两种或者两种以上的变量之间相互依赖的函数模型,预测给定自变量对应的因变量的值。

二、步骤

分类算法分为两步:

(1)学习步:通过训练样本数据集,建立分类规则

(2)分类步:用已知的测试样本集评估分类规则的准确率,若准确率可接受,则是使用该规则对除样本以外的数据(待测样本集)进行预测。

预测算法分两步:

(1)我们先要基于一定数量的样本来训练出一个训练模型;

(2)为了判断这个模型训练的如何,我们还要对其进行检测一下;

(3)如果测试的样本数据与我们想象中的差别太大,那么我们就要重新进行训练这个预测模型,但是如果我们的预测模型符合我们的预先的期望,那么我们就可以用这个模型进行预测的操作。

三、区别

特征

1.分类

2.回归预测

输出类型

1.离散数据

2.连续数据

目的

1.寻找决策边界

2.找到最优拟合线

评价方法

1.精度、混淆矩阵

2.SEE(sum of square errors)或拟合优度

四、联系

分类算法可以预测连续值,但是连续值是以类标签的概率的形式。

预测算法可以预测离散值,但离散值以整数形式表示。

AI

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-03-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 光城 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
收藏!!无监督机器学习中,最常见的聚类算法有哪些?
但是,大多数情况下,在处理实际问题时,数据不会带有预定义标签,因此我们需要开发能够对这些数据进行正确分类的机器学习模型,通过发现这些特征中的一些共性,来预测新数据的类。
商业新知
2019/04/08
2.2K0
收藏!!无监督机器学习中,最常见的聚类算法有哪些?
机器学习聚类算法
聚类算法是一种无监督学习方法,用于将数据集中的样本划分为多个簇,使得同一簇内的样本相似度较高,而不同簇之间的样本相似度较低。在数据分析中,聚类算法可以帮助我们发现数据的内在结构和规律,从而为进一步的数据分析和挖掘提供有价值的信息。
@小森
2024/03/15
1370
机器学习聚类算法
动态聚类
利用聚类分析方法进行图像分类使用较多的是动态聚类法。在系统聚类法中,对于那些先前已被“错误”聚类的样本,将不再提供重新聚类的机会,而动态聚类法却允许样本从一个类移动到另一个类中。此外与建立在距离矩阵基础上的系统聚类法相比,动态聚类具有计算量小,占用计算机内存较少和方法简单的优点。
裴来凡
2022/05/29
1.4K0
动态聚类
【Python】机器学习之聚类算法
这些聚类算法在不同场景和数据特性下有各自的优势和局限性,选择合适的算法取决于问题的性质和对结果的需求。聚类在图像分割、客户细分、异常检测等领域都有广泛的应用。
SarPro
2024/02/20
2830
【Python】机器学习之聚类算法
一文详尽解释K-means算法
K-means 是我们最常用的基于距离的聚类算法,其认为两个目标的距离越近,相似度越大。
石晓文
2019/11/21
1.3K0
机器学习(7)——聚类算法聚类算法
聚类算法 前面介绍的集中算法都是属于有监督机器学习方法,这章和前面不同,介绍无监督学习算法,也就是聚类算法。在无监督学习中,目标属性是不存在的,也就是所说的不存在“y”值,我们是根据内部存在的数据特征,划分不同的类别,使得类别内的数据比较相似。 我们对数据进行聚类的思想不同可以设计不同的聚类算法,本章主要谈论三种聚类思想以及该聚类思想下的三种聚类算法。666 本章主要涉及到的知识点有: “距离” K-Means算法 几种优化K-Means算法 密度聚类 算法思想:“物以类聚,人以群分” 本节首先通过聚类算法
DC童生
2018/04/27
3.7K0
机器学习(7)——聚类算法聚类算法
特征选择算法实战
数据挖掘方法的提出,让人们有能力最终认识数据的真正价值,即蕴藏在数据中的信息和知识。数据挖掘 (DataMiriing),指的是从大型数据库或数据仓库中提取人们感兴趣的知识,这些知识是隐含的、事先未知的潜在有用信息,数据挖掘是目前国际上,数据库和信息决策领域的最前沿研究方向之一。因此分享一下很久以前做的一个小研究成果。也算是一个简单的数据挖掘处理的例子。 1.数据挖掘与聚类分析概述 数据挖掘一般由以下几个步骤: (l)分析问题:源数据数据库必须经过评估确认其是否符合数据挖掘标准。以决定预期结果,也就选择
机器学习AI算法工程
2018/03/12
1.5K0
特征选择算法实战
一文读懂K均值(K-Means)聚类算法
大数据文摘授权转载自数据派THU作者:王佳鑫 审校:陈之炎 概述 众所周知,机器学习算法可分为监督学习(Supervised learning)和无监督学习(Unsupervised learning)。 监督学习常用于分类和预测。是让计算机去学习已经创建好的分类模型,使分类(预测)结果更好的接近所给目标值,从而对未来数据进行更好的分类和预测。因此,数据集中的所有变量被分为特征和目标,对应模型的输入和输出;数据集被分为训练集和测试集,分别用于训练模型和模型测试与评估。常见的监督学习算法有Regression
大数据文摘
2023/04/10
1.4K0
一文读懂K均值(K-Means)聚类算法
『数据挖掘十大算法 』笔记三:K-means
C4.5, k-Means, SVM, Apriori, EM, PageRank, AdaBoost, kNN, Naive Bayes, and CART
百川AI
2021/10/19
5620
机器学习之K均值(K-Means)算法
K均值(K-Means)算法是无监督的聚类方法,实现起来比较简单,聚类效果也比较好,因此应用很广泛。K-Means算法针对不同应用场景,有不同方面的改进。我们从最传统的K-Means算法讲起,然后在此基础上介绍初始化质心优化K-Means++算法,距离计算优化Elkan K-Means算法和大样本情况下Mini Batch K-Means算法。
小一
2019/08/14
2.7K0
机器学习之K均值(K-Means)算法
Sklearn参数详解—聚类算法
聚类是一种非监督学习,是将一份给定数据集划分成k类,这一份数据集可能是某公司的一批用户,也可能是某媒体网站的一系列文章,如果是某公司的一批用户,那么k-means做的就是根据用户的表现对用户的分类;如果媒体的文章,那么k-means做的就是根据文章的类型,把他分到不同的类别。
张俊红
2018/07/30
1.6K0
Sklearn参数详解—聚类算法
【数据挖掘】聚类算法总结
一、层次聚类 1、层次聚类的原理及分类 1)层次法(Hierarchicalmethods)先计算样本之间的距离。每次将距离最近的点合并到同一个类。然后,再计算类与类之间的距离,将距离最近的类合并为一个大类。不停的合并,直到合成了一个类。其中类与类的距离的计算方法有:最短距离法,最长距离法,中间距离法,类平均法等。比如最短距离法,将类与类的距离定义为类与类之间样本的最短距离。 层次聚类算法根据层次分解的顺序分为:自下底向上和自上向下,即凝聚的层次聚类算法和分裂的层次聚类算法(agglomerative和di
陆勤_数据人网
2018/02/27
2.9K0
【数据挖掘】聚类算法总结
转载 | Python AI 教学│k-means聚类算法及应用
假如有这样一种情况,在一天你想去某个城市旅游,这个城市里你想去的有70个地方,现在你只有每一个地方的地址,这个地址列表很长,有70个位置。事先肯定要做好攻略,你要把一些比较接近的地方放在一起组成一组,这样就可以安排交通工具抵达这些组的“某个地址”,然后步行到每个组内的地址。那么,如何确定这些组,如何确定这些组的“某个地址”?答案就是聚类。而本文所提供的k-means聚类分析方法就可以用于解决这类问题。
短短的路走走停停
2019/05/17
1.4K0
转载 | Python AI 教学│k-means聚类算法及应用
K-means算法及python实现
        K-means(Thek-meansalgorithm)是机器学习十大经典算法之一,同时也是最为经典的无监督聚类(Unsupervised Clustering)算法。接触聚类算法,首先需要了解k-means算法的实现原理和步骤。本文将对k-means算法的基本原理和实现实例进行分析。
Flaneur
2020/03/25
5K0
聚类K-means算法
概述 机器学习里面的聚类是无监督的学习问题,它的目标是为了感知样本间的相似度进行类别归纳。它可以用于潜在类别的预测以及数据压缩上去。潜在类别预测,比如说可以基于通过某些常听的音乐而将用户进行不同的分类。数据压缩则是指将样本进行归类后,就可以用比较少的的One-hot向量来代替原来的特别长的向量。
算法之名
2021/09/29
4950
聚类K-means算法
基础聚类算法:K-means算法
一、算法简介: 俗话说:“物以类聚,人以群分”,聚类算法不同于分类算法,对于一个 分类器 ,通常需要你告诉它“这个东西被分为某某类”这样一些例子,理想情况下,一个分类器 会从它得到的训练集中进行“学习”,从而具备对未知数据进行分类的能力,这种提供训练数据的过程通常叫做监督学习,而在聚类的时候,我们并不关心某一类是什么,我们需要实现的目标只是把相似的东西聚到一起,因此,一个聚类算法通常只需要知道如何计算相似度就可以开始工作了,因此聚类算法通常并不需要使用训练数据进行学习。以一句话来说明K-means算法的思路
智能算法
2018/04/02
2.9K0
基础聚类算法:K-means算法
原创 | 一文读懂K均值(K-Means)聚类算法
众所周知,机器学习算法可分为监督学习(Supervised learning)和无监督学习(Unsupervised learning)。
数据派THU
2022/12/16
10.4K0
原创 | 一文读懂K均值(K-Means)聚类算法
k-近邻算法概述,k-means与k-NN的区别对比
k近邻(k-nearest neighbor, k-NN)算法由 Cover 和 Hart 于1968年提出,是一种简单的分类方法。通俗来说,就是给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的 k 个实例,这 k 个实例的多数属于某个类,就把该输入实例分类到这个类中(类似于投票时少数服从多数的思想)。接下来读者来看下引自维基百科上的一幅图:
zhangjiqun
2024/12/14
2000
k-近邻算法概述,k-means与k-NN的区别对比
机器学习(25)之K-Means聚类算法详解
关键字全网搜索最新排名 【机器学习算法】:排名第一 【机器学习】:排名第一 【Python】:排名第三 【算法】:排名第四 前言 K-Means算法是无监督的聚类算法,它实现起来比较简单,聚类效果也不错,因此应用很广泛。K-Means算法有大量的变体,本文就从最传统的K-Means算法讲起,在其基础上讲述K-Means的优化变体方法。包括初始化优化K-Means++, 距离计算优化elkan K-Means算法和大数据情况下的优化Mini Batch K-Means算法。 K-M原理 K-Means算法的思
昱良
2018/04/04
2.6K0
机器学习(25)之K-Means聚类算法详解
K-means
对于”监督学习”(supervised learning),其训练样本是带有标记信息的,并且监督学习的目的是:对带有标记的数据集进行模型学习,从而便于对新的样本进行分类。而在“无监督学习”(unsupervised learning)中,训练样本的标记信息是未知的,目标是通过对无标记训练样本的学习来揭示数据的内在性质及规律,为进一步的数据分析提供基础。对于无监督学习,应用最广的便是”聚类”(clustering)。
AngelNH
2020/04/15
7350
K-means
相关推荐
收藏!!无监督机器学习中,最常见的聚类算法有哪些?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档