我正在寻找动态时间扭曲和Needleman-Wunsch算法之间的差异.
基本上,他们都找到了对齐分数.我需要计算短序列(<20个字符)之间的对齐(相似性)得分,并且有几千个.我无法弄清楚两种算法之间的差异,并决定选择哪一种算法.有人可以清楚我的差异吗?谢谢.
假设我有如下所述的数据.
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
我应该如何处理这种情况.我正在尝试学习数据挖掘,这是一个我认为是数据挖掘问题的例子.我试图找到解决方案的方法,但我想不出一个.我相信这些数据有其中的模式.但我无法想到可以揭示它的方法.此外,我必须在我拥有的数据集上映射此方法,这非常巨大,但与此类似:)数据是关于日志说明事件一次发生.我想找到代表相似事件序列的组.
任何指针将不胜感激.
我想知道如何在用户帐户之间找到有趣的关系,例如最多连接或最有价值的用户,这些用户基于他们与他人的连接.
下面我有我使用的两个表.一个拥有所有用户,另一个拥有他们关注的用户的密钥.
User
{
id,
name
}
Follows {
user_id -> user.id,
following_id -> user.id
}
Run Code Online (Sandbox Code Playgroud)
我在寻找什么类型的算法?
假设不重要的人很少或没有粉丝,我怎样才能找到图中心的人?我认为他们会很重要,因为他们有重要的人跟随他们.
正如大卫和史蒂夫指出的那样,给定节点的接近程度,子社区形成的节点以及连接最多的用户都是可以从此模式中提取的有用数据的示例.
由于现在许多站点都使用了这种"跟随者"设计,因此我希望获得一些可能对各种各样的人有用的可靠的SQL或编程语言实现.
值得注意的是,虽然某些算法的结果令人着迷,但其他算法(例如查找相关节点)对我们网站的用户来说是值得的,因为我们可以向他们推荐.
我有一个大约70万用户的数据库以及他们观看/收听/阅读/购买/等的项目.我想建立一个推荐引擎,推荐基于具有相似品味的用户喜欢的新项目,以及实际上找到用户可能希望在我正在构建的社交网络上成为朋友的人(类似于最后.调频).
我的要求如下:
请不要给出像"使用pysuggest或mahout"这样的答案,因为那些实现了大量的算法,我正在寻找最适合我的数据/使用的算法.我一直对Neo4j感兴趣,以及如何将它们表示为用户和项目之间的连接图.
theory algorithm recommendation-engine data-mining collaborative-filtering
当给出支持和置信度的百分比值时,如何在Apriori算法中找到最小支持.举个例子,当支持率和信心分别为60%和60%时,最低支持率是多少?
我学过数学,但很久以前.我已经做了8年的程序员,但是当我开始研究人工智能和数据挖掘的概念时,我发现很难理解这个理论.
现在我浪费了2 - 3年,我一无所获.我需要先了解学习AI和数据挖掘所需的数学概念.
我不知道从哪里开始.你推荐哪些书籍和教程我应该从AI的角度出发.
我应该如何获得使用AI和数据挖掘概念的基本要求.
编辑:我从互联网上获得此列表
矩阵代数:大多数机器学习模型表示为矩阵和向量.像特征向量和奇异值分解这样的概念出现在各处.
贝叶斯统计:概率,贝叶斯规则,常见分布(例如,beta,Dirichlet,Gaussian)等.
多变量微积分:大多数学习技术使用渐变和Hessians作为其核心来拟合参数.(如果你想获得更好的,请研究数值优化.)
信息论:熵,KL分歧等等.这里只是基础知识.
在有限的情况下,更高级别的数学可能是有用的.例如,要了解流形学习,您需要了解几何和拓扑的一些基本概念.偶尔使用抽象代数(例如,参见"期望半环"用于在超图上学习).我会根据需要学习这些,但如果你有机会尽早学习它们就不会受到伤害.
任何人都可以推荐一些这方面的书
我在这里看到了一些机器学习问题所以我想我会发布一个相关的问题:
假设我有一个数据集,运动员参加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
你能不能给我一个暗示我可以使用的方法?
我正在尝试使用机器学习将数据样本分类为质量好坏.
数据样本存储在关系数据库中.示例包含属性id,名称,向上投票数(用于好/坏质量指示),注释数量等.还有一个表具有指向数据样本id的外键的项.这些物品包含重量和名称.所有项目一起指向数据样本表征数据样本,这通常可以帮助对数据样本进行分类.问题是,指向一个外键的项目数对于不同的样本是不同的.
我想将机器学习输入(例如神经网络)与指向特定数据样本的项目一起提供.问题是我不知道项目的数量,所以我不知道我想要多少输入节点.
Q1)当输入维度是动态的时,是否可以使用神经网络?如果是这样,怎么样?
Q2)当列表的长度未知时,是否有任何最佳实践为网络提供元组列表?
Q3)是否有将机器学习应用于关系数据库的最佳实践?
machine-learning data-mining relational-database feature-extraction neural-network
我在ELKI环境中使用OPTICS实现时遇到问题.我在DBSCAN实现中使用了相同的数据,它就像一个魅力.可能我错过了一些带参数的东西,但我无法弄明白,一切似乎都是正确的.
数据是一个简单的300х2矩阵,由3个簇组成,每个簇有100个点.
DBSCAN结果:
MinPts = 10,Eps = 1
光学结果:
MinPts = 10
如何在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)
给
如何通过加入级别重命名列?格式
<c01 value>_<c02 value>_<v1>
例如,第一列应该是这样的
"A_b_v1"
加入级别的顺序对我来说并不重要.
data-mining ×10
algorithm ×2
alignment ×1
apriori ×1
dbscan ×1
elki ×1
math ×1
pandas ×1
php ×1
pivot ×1
pivot-table ×1
python ×1
rdbms ×1
text-mining ×1
theory ×1
time-series ×1