前端之家收集整理的这篇文章主要介绍了
如何抽取大数据库并在R中实现K-means和K-nn?,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我是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.
原文链接:https://www.f2er.com/mssql/81856.html