【每日一问】当我们拿到数据进行建模时,如何选择更合适的算法?
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个簇中心,按照最邻近原则把待分类样本点分到各个簇。然后按平均法重新计算各个簇的质心,