标签: data-mining

使用SQL查询进行数据挖掘操​​作(模糊Apriori算法) - 如何使用SQL对其进行编码?

所以我有这个表:

Trans_ID    Name    Fuzzy_Value    Total_Item  
100          I1  0.33333333        3  
100          I2  0.33333333        3  
100          I5  0.33333333        3  
200          I2  0.5               2  
200          I5  0.5               2  
300          I2  0.5               2  
300          I3  0.5               2  
400          I1  0.33333333        3  
400          I2  0.33333333        3  
400          I4  0.33333333        3  
500          I1  0.5               2  
500          I3  0.5               2  
600          I2  0.5               2  
600          I3  0.5               2  
700          I1  0.5               2  
700          I3  0.5               2  
800          I1  0.25              4  
800          I2  0.25              4  
800          I3  0.25 …
Run Code Online (Sandbox Code Playgroud)

sql data-mining apriori

9
推荐指数
1
解决办法
2782
查看次数

应该使用哪些FFT描述符作为实现分类或聚类算法的特征?

我有一些地理轨迹被采样来分析,我计算了空间和时间维度的数据直方图,为每个空间元素产生了一个基于时域的特征.我想执行离散FFT以将基于时域的特征转换为基于频域的特征(我认为可能更强大),然后进行一些分类或聚类算法.

但我不确定使用什么描述符作为基于频域的特征,因为有信号的振幅频谱,功率谱和相位谱,我已经阅读了一些参考文献,但仍然对其重要性感到困惑.当在基于频域的特征向量(欧几里得距离?余弦距离?高斯函数?Chi-kernel或其他?)上执行学习算法时,应使用什么距离(相似度)函数作为度量?

希望有人给我一些线索或一些我可以参考的材料,谢谢〜

编辑

感谢@DrKoch,我选择了一个具有最大L-1规范的空间元素,并log power spectrum在python中绘制它,它确实显示了一些突出的峰值,下面是我的代码和图
import numpy as np
import matplotlib.pyplot as plt
sp = np.fft.fft(signal)
freq = np.fft.fftfreq(signal.shape[-1], d = 1.) # time sloth of histogram is 1 hour
plt.plot(freq, np.log10(np.abs(sp) ** 2))
plt.show()
Run Code Online (Sandbox Code Playgroud)

对数功率谱

我有几个微不足道的问题需要确保我完全理解你的建议:

  • 在你的第二个建议中,你说"忽略所有这些价值观".

    你的意思是水平线代表阈值,它下面的所有值应该分配给零值吗?
  • "你可以搜索两个,三个最大的山峰,并使用它们的位置和可能的宽度作为'特征'进行进一步分类."

    我对"位置"和"宽度"的含义有点困惑,"位置"是指功率谱的对数值(y轴),"宽度"是指频率(x轴)?如果是这样,如何将它们组合在一起作为特征向量并比较"相似频率和类似宽度"的两个特征向量?

编辑

我换成np.fft.fftnp.fft.rfft计算正的部分和情节两个功率谱和日志功率谱.

码:
f, axarr = plt.subplot(2, sharex = True)
axarr[0].plot(freq, np.abs(sp) ** 2)
axarr[1].plot(freq, np.log10(np.abs(sp) ** 2))
plt.show()
Run Code Online (Sandbox Code Playgroud) 数字:

功率谱和对数功率谱 如果我错了,请纠正我:

我认为我应该在第一个数字中保留最后四个峰值power …

fft machine-learning similarity data-mining feature-extraction

9
推荐指数
1
解决办法
8175
查看次数

分析噪声数据

我最近发射了一种带有气压高度计的火箭,精确到大约10英尺(通过飞行期间获得的数据计算).记录的数据是每个样本0.05秒的时间增量,高度与时间的关系图看起来非常像在整个飞行过程中缩小.

问题是当我尝试从数据中计算其他值(如速度或加速度)时,测量的准确性使得计算值几乎毫无价值.我可以使用哪些技术来平滑数据,以便计算(或近似)速度和加速度的合理值?重要的是,重大事件应及时保持到位,最明显的是第一次进入的0和飞行期间的最高点(2707).

高度数据遵循并以英尺高于地面水平测量.第一次为0.00,每个样品在前一个样品后0.05秒.飞行开始时的尖峰是由于在升空期间发生的技术问题并且去除尖峰是最佳的.

我最初尝试使用线性插值,对附近的数据点求平均值,但是需要多次迭代才能使数据平滑到足以进行积分,并且曲线的平坦化消除了重要的远地点和地平面事件.

非常感谢所有帮助.请注意,这不是完整的数据集,我正在寻找有关更好的数据分析方法的建议,而不是有人回复转换后的数据集.在未来的火箭上使用算法会很好,它可以在不知道完整的飞行数据的情况下预测当前的高度/速度/加速度,尽管这不是必需的.

00000
00000
00000
00076
00229
00095
00057
00038
00048
00057
00057
00076
00086
00095
00105
00114
00124
00133
00152
00152
00171
00190
00200
00219
00229
00248
00267
00277
00286
00305
00334
00343
00363
00363
00382
00382
00401
00420
00440
00459
00469
00488
00517
00527
00546
00565
00585
00613
00633
00652
00671
00691
00710
00729
00759
00778
00798
00817
00837
00856
00885
00904
00924
00944
00963
00983
01002
01022
01041
01061
01080
01100
01120
01139
01149 …
Run Code Online (Sandbox Code Playgroud)

data-mining numerical-analysis

8
推荐指数
1
解决办法
1502
查看次数

是否有理由更喜欢数据挖掘项目的函数式编程?

我正在研究启动数据挖掘项目的可能性,该项目将包括密集计算和数据转换,并且应该相对容易扩展.

根据您的经验,选择对该项目至关重要的编程语言?

例如,如果我已经在JVM环境中工作,我是否应该更喜欢Clojure而不是普通的Java?功能环境是否保证更容易扩展?更好的性能?

抛开其他因素,如熟悉语言,工具链等.在您的经验中,语言的选择是否至关重要?

java programming-languages functional-programming clojure data-mining

8
推荐指数
1
解决办法
1088
查看次数

是否有任何分类算法针对具有一对多(1:n)关系的数据?

数据挖掘领域是否有任何关于对具有一对多关系的数据进行分类的研究?

例如,像这样的问题,我说我试图根据他们的班级和个人信息来预测哪些学生将退学.显然,学生个人信息与他们在课堂上取得的成绩之间存在一对多的关系.

明显的方法包括:

  1. 聚合 - 可以以某种方式将多个记录聚合在一起,将问题简化为基本分类问题.在学生分类的情况下,他们的成绩的平均值可以与他们的个人数据相结合.虽然这种解决方案很简单,但通常会丢失关键信息.例如,如果大多数采用有机化学并且低于C-结束的学生即使他们的平均水平高于B +等级也会辍学.

  2. 投票 - 创建多个分类器(通常是弱分类器)并让他们投票以确定相关数据的整体类别.这就像是建立了两个分类器,一个用于学生的课程数据,一个用于他们的个人数据.每个课程记录将被传递到课程分类器,并根据成绩和课程名称,分类器将预测学生是否会单独使用该课程记录退学.将使用个人数据分类器对个人数据记录进行分类.然后,所有课堂记录预测以及个人信息记录预测将被一起投票.这种投票可以通过多种不同的方式进行,但很可能会考虑分类器的准确程度以及分类器的确定性.显然,该方案允许比聚合更复杂的分类模式,但是涉及许多额外的复杂性.此外,如果投票表现不佳,准确性很容易受到影响.

所以我正在寻找具有一对多关系的数据分类的其他可能解决方案.

algorithm classification machine-learning database-relations data-mining

8
推荐指数
1
解决办法
1114
查看次数

用于Apache Mahout的.net模拟的机器学习库

是否有像Mahout这样的.net库.你可以推荐什么机器学习?

c# java machine-learning data-mining

8
推荐指数
1
解决办法
5001
查看次数

检查一个正则表达式是否包含另一个正则表达式

我正在尝试实现文本聚类算法.该算法通过用正则表达式替换它们来聚类相似的原始文本行,并聚合与每个正则表达式匹配的模式的数量,以便提供输入文本的简洁摘要,而不是显示来自输入文本的重复模式.在这次尝试中,我遇到了寻找一个正则表达式是否覆盖另一个正则表达式的需要.

假设我们关注约与"*"和"+"外卡,即"*"意味着一个字母的零个或多个字符的字符串,而"+"代表一个字母的1点或多个正好正则表达式.还假设字符集为ASCII.

例如:

1. AB covers AB
      This is straightforward.
2. ABC* covers ABC
      Because ABC* can generate: ABC, ABCC, ABCCC etc.
3. A*B+C* covers AB+C*
      Because A*B+C* can generate ABBC, AABBC, AABBCC etc. which covers
      all strings generated by AB+C*.
4. A+M+BC* covers AMM+B+C+M+BC*
      Similar to case [3] above.
Run Code Online (Sandbox Code Playgroud)

基本上我正在寻找以下方法的有效实现,该方法告诉strA(可能包含正则表达式)是否覆盖了strB(可能包含正则表达式).请注意,还应该有一种方法可以在输入字符串strA和strB中转义正则表达式字符'*'和'+'.

C++中的方法签名:

bool isParentRegex(const string& strA, const string& strB)
Run Code Online (Sandbox Code Playgroud)

我的想法是实现需要一个递归方法,它可能有点复杂.但我很想知道我是否可以重用现有的实现而不是重新发明轮子,或者是否有任何其他直接的方法来实现它.

c++ regex cluster-analysis data-mining

8
推荐指数
1
解决办法
300
查看次数

不规则的k-means聚类图,异常值去除

嗨,我正在努力尝试从1999 darpa数据集中聚类网络数据.不幸的是,我并没有真正得到集群数据,与一些文献相比,使用相同的技术和方法.

我的数据是这样的:

Matlab图1

正如你所看到的,它不是很集群.这是由于数据集中存在大量异常值(噪声).我已经看过一些异常值去除技术但到目前为止我没有尝试过任何真正清除数据的方法.我尝试过的方法之一:

%% When an outlier is considered to be more than three standard deviations away from the mean, determine the number of outliers in each column of the count matrix:

    mu = mean(data)
    sigma = std(data)
    [n,p] = size(data);
    % Create a matrix of mean values by replicating the mu vector for n rows
    MeanMat = repmat(mu,n,1);
    % Create a matrix of standard deviation values by replicating the sigma vector for n rows
    SigmaMat = repmat(sigma,n,1);
    % …
Run Code Online (Sandbox Code Playgroud)

matlab plot cluster-analysis data-mining k-means

8
推荐指数
2
解决办法
5645
查看次数

包装方法和信息过滤中的特征选择?

我在知名人士的老中考试中看到一个例子Tom Mitchell,如下:

考虑在总共1000个特征的情况下学习分类器.其中50个是关于课堂的真实信息.另外50个功能是前50个功能的直接副本.最终的900个功能不提供信息.假设有足够的数据可靠地评估功能的有用性,并且功能选择方法使用了良好的阈值.

How many features will be selected by mutual information ?ltering?
Run Code Online (Sandbox Code Playgroud)

解决方案:100

How many features will be selected by a wrapper method?
Run Code Online (Sandbox Code Playgroud)

解决方案:50

我的挑战是如何实现这些解决方案?我做了很多尝试,但无法理解这背后的想法.

pattern-recognition classification machine-learning data-mining feature-selection

8
推荐指数
1
解决办法
499
查看次数

使用Gensim获取三元组的问题

我想从我提到的例句中得到bigrams和trigrams.

我的代码适用于bigrams.但是,它不捕获数据中的三元组(例如,人工计算机交互,我的句子的5个位置提到)

方法1下面提到的是我在Gensim中使用短语的代码.

from gensim.models import Phrases
documents = ["the mayor of new york was there", "human computer interaction and machine learning has now become a trending research area","human computer interaction is interesting","human computer interaction is a pretty interesting subject", "human computer interaction is a great and new subject", "machine learning can be useful sometimes","new york mayor was present", "I love machine learning because it is a new subject area", "human computer interaction helps people to get user friendly …
Run Code Online (Sandbox Code Playgroud)

python data-mining text-mining gensim word2vec

8
推荐指数
1
解决办法
3494
查看次数