我正在尝试用Java编写k-means算法.我已经计算了许多数组,每个数组都包含许多系数.我需要使用k-means算法来对所有这些数据进行分组.你知道这个算法的任何实现吗?
谢谢
java algorithm grouping machine-learning unsupervised-learning
谢谢
criteria machine-learning unsupervised-learning supervised-learning
是否有常用的在线算法对新闻进行动态分类?我有按主题分类的大量新闻数据集。我认为每个主题都是一个集群。现在,我需要对突发新闻进行分类。可能,我将需要动态生成新主题或新集群。
我正在使用的算法如下:
1)我浏览了新闻站点的一组提要,并且识别了新闻链接。
2)对于每个新链接,我使用Dragnet提取内容,然后将其标记化。
3)我使用sklearn的TfidfVectorizer找到了所有旧新闻和最后一个新闻的向量表示。
4)我发现我的数据集中距离最近新闻向量表示和旧新闻的所有向量表示的欧几里德距离的最近邻居。
5)如果该距离小于阈值,则将其放入邻居所属的群集中。否则,我将使用突发新闻创建一个新的集群。
每次收到新闻时,我都会使用TfidfVectorizer重新拟合所有数据,因为可以建立新的维度。我迫不及待地想每天重新安装一次,因为我需要检测可能与未知主题相关的突发事件。有没有一种比我使用的方法更有效的通用方法?
nlp information-retrieval cluster-analysis machine-learning unsupervised-learning
给定一个包含混合变量(即类别变量和连续变量)的数据框,
digits = 0:9
# set seed for reproducibility
set.seed(17)
# function to create random string
createRandString <- function(n = 5000) {
a <- do.call(paste0, replicate(5, sample(LETTERS, n, TRUE), FALSE))
paste0(a, sprintf("%04d", sample(9999, n, TRUE)), sample(LETTERS, n, TRUE))
}
df <- data.frame(ID=c(1:10), name=sample(letters[1:10]),
studLoc=sample(createRandString(10)),
finalmark=sample(c(0:100),10),
subj1mark=sample(c(0:100),10),subj2mark=sample(c(0:100),10)
)
Run Code Online (Sandbox Code Playgroud)
我使用软件包执行无监督功能选择 FactoMineR
df.princomp <- FactoMineR::FAMD(df, graph = FALSE)
Run Code Online (Sandbox Code Playgroud)
该变量df.princomp是一个列表。
之后,为了可视化我使用fviz_screeplot()和fviz_contrib()喜欢的主要成分
,
#library(factoextra)
factoextra::fviz_screeplot(df.princomp, addlabels = TRUE,
barfill = "gray", barcolor = "black",
ylim = c(0, 50), xlab …Run Code Online (Sandbox Code Playgroud) r cluster-analysis pca feature-selection unsupervised-learning
据我了解,One-Class SVM在没有目标/标签数据的情况下进行了培训。
将OneClassSVM与GridSearchCV结合使用时的一个答案是,建议在分类器为时将Target / Label数据传递给GridSearchCV的fit方法OneClassSVM。
该GridSearchCV方法如何处理这些数据?
它实际上是否在OneClassSVM没有目标/标签数据的情况下训练,而仅使用目标/标签数据进行评估?
我尝试遵循GridSearchCV源代码,但找不到答案。
svm unsupervised-learning scikit-learn gridsearchcv one-class-classification
我已经实现了k-means聚类来确定300个对象中的聚类.我的每个物体都有大约30个维度.使用欧几里德度量计算距离.
我需要知道
cluster-analysis machine-learning k-means unsupervised-learning
我使用Baum-Welch算法构造了两个隐马尔可夫模型,以处理越来越多的状态。我注意到在8个州之后,验证得分下降了8个以上州。所以我想知道,由于某种过度拟合,隐马尔可夫模型的准确性是否可能随着状态数量的增加而降低?
提前致谢!
machine-learning markov markov-models hidden-markov-models unsupervised-learning
我正在尝试为图像到图像的翻译应用程序构建 CNN,模型的输入是图像,输出是置信度图。在训练期间没有标记的置信度作为基本事实,但设计了一个损失函数来引导模型获得正确的输出。
我在用 keras 构建神经网络时遇到了麻烦,因为 model.fit() 函数需要训练数据和标记数据(地面实况数据)。
所以我的问题是,有没有办法用 keras 或 tensorflow 构建一个无监督的 CNN?如果是这样,我应该怎么做才能建立一个?是否有应用示例或我可以参考的内容?
提前致谢!
我已经使用sklearn使用Kmeans完成了聚类。尽管它有一种打印质心的方法,但我发现scikit-learn没有找到簇长的方法(或者到目前为止我还没有看到它)真是太奇怪了。是否有一种巧妙的方法来获取每个群集的群集长度或与群集关联的许多点?我现在有这个相当笨拙的代码,在我发现长度为一的簇的情况下,并且需要通过测量点之间的欧几里得距离来向该簇添加其他点,并且必须更新标签
import numpy as np
from clustering.clusternew import Kmeans_clu
from evolution.generate import reproduction
from mapping.somnew import mapping, no_of_neurons, neuron_weights_init
from population_creation.population import pop_create
from New_SOL import newsol
data = genfromtxt('iris.csv', delimiter=',', skip_header=0, usecols=range(0, 4)) ##Read the input data
actual_label = genfromtxt('iris.csv', delimiter=',', dtype=str,skip_header=0, usecols=(4))
chromosome = int(input("Enter the number of chromosomes: ")) #Input the population size
max_gen = int(input("Enter the maximum number of generation: ")) #Input the maximum number of generation
for i in range(0, chromosome):
cluster = 3#random.randint(2, max_cluster) …Run Code Online (Sandbox Code Playgroud) python machine-learning k-means unsupervised-learning scikit-learn
我能找到的大多数材料(例如,David Silver 的在线课程)都提供了有关监督学习和强化学习之间关系的讨论。然而,它实际上是监督学习和在线强化学习之间的比较,在在线强化学习中,代理在环境中运行(或模拟交互),以在有关底层动态的有限知识的情况下获得反馈。
我对离线(批量)强化学习更好奇,其中数据集(收集的学习经验)是先验的。那么与监督学习相比有什么区别呢?他们有哪些相似之处?
k-means ×2
scikit-learn ×2
algorithm ×1
criteria ×1
gridsearchcv ×1
grouping ×1
java ×1
keras ×1
markov ×1
nlp ×1
pca ×1
python ×1
python-3.x ×1
r ×1
svm ×1
tensorflow ×1