标签: data-mining

动态时间扭曲与Needleman-Wunsch_algorithm

我正在寻找动态时间扭曲Needleman-Wunsch算法之间的差异.

基本上,他们都找到了对齐分数.我需要计算短序列(<20个字符)之间的对齐(相似性)得分,并且有几千个.我无法弄清楚两种算法之间的差异,并决定选择哪一种算法.有人可以清楚我的差异吗?谢谢.

time-series bioinformatics alignment data-mining

7
推荐指数
2
解决办法
1923
查看次数

数据挖掘情况

假设我有如下所述的数据.

11AM user1刷机

上午11:05 user1准备Brakfast

上午11:10用户1吃早餐

上午11:15 user1洗澡

上午11:30用户1离开办公室

12PM user2刷机

下午12:05 user2 Prep Brakfast

下午12:10用户2吃早餐

12:15 PM user2洗澡

12:30 PM user2离开办公室

11AM user3洗澡

上午11:05 user3准备Brakfast

上午11:10 user3刷机

上午11:15 user3吃早餐

上午11:30 user3离开办公室

12PM user4洗澡

下午12:05 user4 Prep Brakfast

下午12:10 user4刷机

下午12:15用户4吃早餐

12:30 PM user4离开办公室

这些数据告诉我不同​​人的日常生活.从这些数据来看,似乎user1和user2的行为相似(尽管它们执行活动的时间有所不同,但它们遵循相同的顺序).出于同样的原因,User3和User4的行为类似.现在我必须将这些用户分组到不同的组中.在此示例中,group1- user1和USer2 ...后跟group2,包括user3和user4

我应该如何处理这种情况.我正在尝试学习数据挖掘,这是一个我认为是数据挖掘问题的例子.我试图找到解决方案的方法,但我想不出一个.我相信这些数据有其中的模式.但我无法想到可以揭示它的方法.此外,我必须在我拥有的数据集上映射此方法,这非常巨大,但与此类似:)数据是关于日志说明事件一次发生.我想找到代表相似事件序列的组.

任何指针将不胜感激.

data-mining text-mining

7
推荐指数
1
解决办法
203
查看次数

从用户的关注者计算用户的重要性或"中介中心性"?

我想知道如何在用户帐户之间找到有趣的关系,例如最多连接或最有价值的用户,这些用户基于他们与他人的连接.

下面我有我使用的两个表.一个拥有所有用户,另一个拥有他们关注的用户的密钥.

User
{
    id,
    name
}

Follows {
    user_id -> user.id,
    following_id -> user.id
}
Run Code Online (Sandbox Code Playgroud)

我在寻找什么类型的算法?

假设不重要的人很少或没有粉丝,我怎样才能找到图中心的人?我认为他们会很重要,因为他们有重要的人跟随他们.

更新

正如大卫和史蒂夫指出的那样,给定节点的接近程度,子社区形成的节点以及连接最多的用户都是可以从此模式中提取的有用数据的示例.

由于现在许多站点都使用了这种"跟随者"设计,因此我希望获得一些可能对各种各样的人有用的可靠的SQL或编程语言实现.

值得注意的是,虽然某些算法的结果令人着迷,但其他算法(例如查找相关节点)对我们网站的用户来说是值得的,因为我们可以向他们推荐.

php rdbms data-mining graph-databases

7
推荐指数
1
解决办法
1325
查看次数

用于查找类似项目和用户的推荐算法(和实现)

我有一个大约70万用户的数据库以及他们观看/收听/阅读/购买/等的项目.我想建立一个推荐引擎,推荐基于具有相似品味的用户喜欢的新项目,以及实际上找到用户可能希望在我正在构建的社交网络上成为朋友的人(类似于最后.调频).

我的要求如下:

  • 我数据库中的大多数"用户"实际上并不是我网站的用户.它们是从第三方来源挖掘的数据.但是,在推荐用户时,我希望将搜索范围限制为我网站的成员(同时仍然利用更大的数据集).
  • 我需要考虑多个项目.不是"喜欢你喜欢这一项的人......",而是"喜欢你喜欢的大多数物品的人......".
  • 我需要计算用户之间的相似性,并在查看他们的个人资料时显示它们(味道 - 米).
  • 有些项目是评级的,有些则不是.评级是1-10,而不是布尔值.在大多数情况下,如果不存在其他统计数据,则可以从其他统计数据中扣除评级值(例如,如果用户喜欢某个项目,但未对其进行评级,我可以假设评级为9).
  • 它必须以某种方式与Python代码交互.优选地,它应该使用单独的(可能是NoSQL)数据库并公开API以在我的web后端中使用.我正在制作的项目使用Pyramid和SQLAlchemy.
  • 我想考虑项目类型.
  • 我希望在项目页面上显示类似的项目,包括其类型(可能是标签)和喜欢该项目的用户(如亚马逊的"购买此项目的人"和Last.fm艺术家页面).仍应显示来自不同类型的项目,但具有较低的相似度值.
  • 我希望通过一些示例来详细记录算法的实现.

请不要给出像"使用pysuggest或mahout"这样的答案,因为那些实现了大量的算法,我正在寻找最适合我的数据/使用的算法.我一直对Neo4j感兴趣,以及如何将它们表示为用户和项目之间的连接图.

theory algorithm recommendation-engine data-mining collaborative-filtering

7
推荐指数
2
解决办法
4519
查看次数

如何在Apriori算法中找到最小支持

当给出支持和置信度的百分比值时,如何在Apriori算法中找到最小支持.举个例子,当支持率和信心分别为60%和60%时,最低支持率是多少?

data-mining apriori

7
推荐指数
4
解决办法
5万
查看次数

我应该如何开始学习AI所需的数学

我学过数学,但很久以前.我已经做了8年的程序员,但是当我开始研究人工智能和数据挖掘的概念时,我发现很难理解这个理论.

现在我浪费了2 - 3年,我一无所获.我需要先了解学习AI和数据挖掘所需的数学概念.

我不知道从哪里开始.你推荐哪些书籍和教程我应该从AI的角度出发.

我应该如何获得使用AI和数据挖掘概念的基本要求.

编辑:我从互联网上获得此列表

矩阵代数:大多数机器学习模型表示为矩阵和向量.像特征向量和奇异值分解这样的概念出现在各处.

贝叶斯统计:概率,贝叶斯规则,常见分布(例如,beta,Dirichlet,Gaussian)等.

多变量微积分:大多数学习技术使用渐变和Hessians作为其核心来拟合参数.(如果你想获得更好的,请研究数值优化.)

信息论:熵,KL分歧等等.这里只是基础知识.

在有限的情况下,更高级别的数学可能是有用的.例如,要了解流形学习,您需要了解几何和拓扑的一些基本概念.偶尔使用抽象代数(例如,参见"期望半环"用于在超图上学习).我会根据需要学习这些,但如果你有机会尽早学习它们就不会受到伤害.

任何人都可以推荐一些这方面的书

math artificial-intelligence data-mining

7
推荐指数
1
解决办法
1万
查看次数

用于完成稀疏矩阵数据的机器学习算法

我在这里看到了一些机器学习问题所以我想我会发布一个相关的问题:

假设我有一个数据集,运动员参加10公里和20公里的丘陵比赛的比赛,即每场比赛都有自己的困难.

用户的完成时间几乎与每次比赛的正常分布相反.

可以将此问题写为矩阵:

       Comp1 Comp2 Comp3
User1  20min  ??   10min

User2  25min 20min 12min

User3  30min 25min ??

User4  30min ??    ??
Run Code Online (Sandbox Code Playgroud)

我想完成上面的矩阵,其大小为1000x20,稀疏度为8%(!).

应该有一种非常简单的方法来完成这个矩阵,因为我可以计算每个用户(能力)的参数和每个竞争的参数(mu,lambda of distribution).此外,比赛之间的相关性非常高.

我可以利用排名User1 <User2 <User3和Item3 << Item2 <Item1

你能不能给我一个暗示我可以使用的方法?

algorithm machine-learning data-mining

7
推荐指数
1
解决办法
3901
查看次数

如何使用动态大小的输入集合来处理机器学习问题?

我正在尝试使用机器学习将数据样本分类为质量好坏.

数据样本存储在关系数据库中.示例包含属性id,名称,向上投票数(用于好/坏质量指示),注释数量等.还有一个表具有指向数据样本id的外键的项.这些物品包含重量和名称.所有项目一起指向数据样本表征数据样本,这通常可以帮助对数据样本进行分类.问题是,指向一个外键的项目数对于不同的样本是不同的.

我想将机器学习输入(例如神经网络)与指向特定数据样本的项目一起提供.问题是我不知道项目的数量,所以我不知道我想要多少输入节点.

Q1)当输入维度是动态的时,是否可以使用神经网络?如果是这样,怎么样?

Q2)当列表的长度未知时,是否有任何最佳实践为网络提供元组列表?

Q3)是否有将机器学习应用于关系数据库的最佳实践?

machine-learning data-mining relational-database feature-extraction neural-network

7
推荐指数
2
解决办法
5183
查看次数

ELTICS实现的OPTICS聚类算法只检测一个聚类

我在ELKI环境中使用OPTICS实现时遇到问题.我在DBSCAN实现中使用了相同的数据,它就像一个魅力.可能我错过了一些带参数的东西,但我无法弄明白,一切似乎都是正确的.

数据是一个简单的300х2矩阵,由3个簇组成,每个簇有100个点.

DBSCAN结果:

DBSCAN的聚类结果

MinPts = 10,Eps = 1

光学结果:

OPTICS的聚类结果

MinPts = 10

cluster-analysis data-mining dbscan elki optics-algorithm

7
推荐指数
1
解决办法
3027
查看次数

pandas pivot table重命名列

如何在pandas pivot操作后重命名多个级别的列?

以下是生成测试数据的一些代码:

import pandas as pd
df = pd.DataFrame({
    'c0': ['A','A','B','C'],
    'c01': ['A','A1','B','C'],
    'c02': ['b','b','d','c'],
    'v1': [1, 3,4,5],
    'v2': [1, 3,4,5]})

print(df)
Run Code Online (Sandbox Code Playgroud)

给出一个测试数据帧:

   c0 c01 c02  v1  v2
0  A   A   b   1   1
1  A  A1   b   3   3
2  B   B   d   4   4
3  C   C   c   5   5
Run Code Online (Sandbox Code Playgroud)

应用枢轴

df2 = pd.pivot_table(df, index=["c0"], columns=["c01","c02"], values=["v1","v2"])
df2 = df2.reset_index()
Run Code Online (Sandbox Code Playgroud)

OUTPUT1

如何通过加入级别重命名列?格式 <c01 value>_<c02 value>_<v1>

例如,第一列应该是这样的 "A_b_v1"

加入级别的顺序对我来说并不重要.

python pivot pivot-table data-mining pandas

7
推荐指数
1
解决办法
1万
查看次数