加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

如何抽取大数据库并在R中实现K-means和K-nn?

发布时间:2020-12-12 16:34:36 所属栏目:MsSql教程 来源:网络整理
导读:我是R的新用户,试图远离SAS.我在这里提出这个问题,因为我对R的所有软件包和源代码感到有点沮丧,我似乎无法使这个工作主要是由于数据大小. 我有以下几点: 在本地MySQL数据库中有一个名为SOURCE的表,其中包含200个预测变量和一个类变量.该表有300万条记录,是3G
我是R的新用户,试图远离SAS.我在这里提出这个问题,因为我对R的所有软件包和源代码感到有点沮丧,我似乎无法使这个工作主要是由于数据大小.

我有以下几点:

在本地MySQL数据库中有一个名为SOURCE的表,其中包含200个预测变量和一个类变量.该表有300万条记录,是3GB大.每个类的实例数不相等.

我要:

>随机抽取SOURCE数据库以创建较小的数据集
每班课程数量相等.
>将样本划分为培训和测试集.
> Preform k-means聚类在训练集上,以确定每个类别的k个质心.
>具有质心的测试数据的预制k-NN分类.

解决方法

我会继续的方式是:

1)将表的ids列表提取到R,您可以使用RMySQL库使用简单的SQL查询来执行此操作.

2)在R中以任何您喜欢的方式拆分ids,然后再次使用RMySQL进行后续SQL查询(我发现这两步的方法比在MySQL中直接采样快得多).

3)根据您的样本大小可以通过使用基本的R kmeans实现来避免这种情况,但是对于较大的样本,这可能会失败,在这种情况下,您应该查看使用库biganalytics中的bigkmeans.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读