我的这个问题可以用数据挖掘解决么,用什么算法

lplpzhuzhu 2004-01-02 03:53:22
数据是存放在SQL Server数据库中的。数据量比较大(大约一天就有10w条记录),每天产生一个表,内容是上网的记录,属性值有时间、内容(即网址)、访问机器的IP地址等等。

现在要做的是做统计。比如,统计一个礼拜以来哪n个IP地址访问的次数比较多(即他这个IP的记录多)。比如统计前10什么的。
因为数据量比较大,用普通的sql 语句速度很慢。查一个礼拜的要10分钟呢。

请问这样的问题能用数据挖掘么。主要是想提高速度。应该怎么去做。
想用vc来做。用什么算法?

还有,谁有用C/C++在SQL Server数据库上完成数据挖掘的demo,请给一个看看。
shm_gao@163.com
谢谢!
...全文
27 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lutf 2004-01-19
  • 打赏
  • 举报
回复
你这个根本就不需要数据挖掘,只需要做一些BI的分析就可以,很多软件可以完成这样的功能(比如MicroStrategy、Hyperion等),关于性能,就要看硬件情况和实施策略了,比如建聚合表就能大大提高效率,如果有兴趣可以谈一下具体的项目。
superhasty 2004-01-16
  • 打赏
  • 举报
回复
BI的分析技术——OLAP、数据挖掘

  OLAP

  根据OLAP委员会的定义,联机分析处理(Online Analytical Processing,简称OLAP)是使分析人员、管理人员或执行人员能够从多种角度对从原始数据中转化出来的、能够真正为用户所理解的、并真实反映企业维度特性的信息进行快速、一致、交互地存取,从而获得对数据的更深入了解的一类软件技术。它的技术核心是“维”这个概念,因此OLAP也可以说是多维数据分析工具的集合。有些历史的企业将会积累下大量的来自外部或内部的数据,在进行OLAP分析时,要先将这些数据批量装入数据仓库。此外,业务系统也会不断产生新的数据,并需要增量装入数据仓库。

  数据仓库建立之后,即可以利用OLAP复杂的查询能力、数据对比、数据抽取和报表来进行探测式数据分析了。之所以称其为探测式数据分析,是因为用户在选择相关数据后,通过切片、切块、上钻、下钻、旋转等操作,可以在不同的粒度上对数据进行分析尝试,得到不同形式的知识和结果。

  在多维数据结构中,按二维选择数据,称为切片(Slice),按三维选择数据称为切块(Dice)。如在“城市、产品、时间”三维立方体中进行切块和切片,可得到各城市、各产品的销售情况。在数据结构树中,用户选择展开同一级数据的详细信息,称为下钻(Drill-down),选择更高一级的数据详细信息以及数据视图,称为上钻(Drill-up)。钻取的深度与维所划分的层次相对应。旋转(Rotate)则可以通过旋转得到不同视图的数据。

  数据挖掘

  数据挖掘是按照一定的规则对数据库和数据仓库中已有的数据进行信息开采、挖掘和分析,从中识别和抽取隐含的模式和有趣知识,并利用它们为决策者提供决策依据。
  数据挖掘的任务是从数据中发现模式。模式有很多种,按功能可分为两大类:预测型(Predictive)模式和描述型(Descriptive)模式。预测型模式是可以根据数据项的值精确确定某种结果的模式。挖掘预测型模式所使用的数据也都是可以明确知道结果的。描述型模式是对数据中存在的规则做一种描述,或者根据数据的相似性把数据分组。描述型模式不能直接用于预测。在实际应用中,根据模式的实际作用,细分为分类模式、回归模式、时间序列模式、聚类模式、关联模式和序列模式6种。其中包含的具体算法有货篮分析(Market Analysis)、聚类检测(Clustering Detection)、神经网络(Neural Networks)、决策树方法(Decision Trees)、遗传算法(Genetic Analysis)、连接分析(Link Analysis)、基于范例的推理(Case Based Reasoning)和粗集(Rough Set)以及各种统计模型。

  数据挖掘与OLAP的区别和联系是:OLAP侧重于与用户的交互、快速的响应速度及提供数据的多维视图,而数据挖掘则注重自动发现隐藏在数据中的模式和有用信息,尽管允许用户指导这一过程。OLAP的分析结果可以给数据挖掘提供分析信息作为挖掘的依据,数据挖掘可以拓展OLAP分析的深度,可以发现OLAP所不能发现的更为复杂、细致的信息。
---------------------------------------------------------------------------
楼主看到了吧,数据挖掘主要用于发现数据中隐藏的规律、或者对未来趋势作出预测。你要做的主要就是一个统计功能,基本上用关系数据库技术就可以了。当然如可愿意也可以用OLAP来帮助你实现。至于慢的问题,你可以借鉴OLAP的预处理思想:在用户查询前通过自动化更新方式将统计结果算出来保存到关系数据库表里。比如,你可以每天0点做一次自动更新,将前一天的数据统计结果算出来,第二天用户就能够查询了。
eyumumc 2004-01-06
  • 打赏
  • 举报
回复
对呀……楼上的说得很对……
chump 2004-01-06
  • 打赏
  • 举报
回复
1:1天有10万,1周就70万条记录,这个数据量不算太大,可以放到一个表中,建立必要的索引,查询应该比较快,除非硬件条件太差。
每天一个表那就只能用UNION连接了。
2:后台统计,空闲时将要统计结果预统计。
3:建立数据仓库,以空间换时间。
smallfishwp 2004-01-06
  • 打赏
  • 举报
回复
DM现在还停留在研究阶段
blueskycn 2004-01-05
  • 打赏
  • 举报
回复
你想提高访问的速度,还是统计的速度,后者好象需要数据库知识更多一些,如数据库性能的优化等等,至于做DM,首先要明确你要解决什么问题,是至关重要的
theng 2004-01-05
  • 打赏
  • 举报
回复
简单的统计问题,和dm没关系。
另外如“隐者”所说,dm只会更慢而已。
lplpzhuzhu 2004-01-03
  • 打赏
  • 举报
回复
谁知道在MS SQL Server上如何用数据挖掘。
bigddaddy 2004-01-02
  • 打赏
  • 举报
回复
如果只是为了提高速度,那还是算了吧,用数据挖掘只会更慢

7,388

社区成员

发帖
与我相关
我的任务
社区描述
其他数据库开发 数据仓库
社区管理员
  • 数据仓库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧