标签: classification

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

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

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

明显的方法包括:

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

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

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

algorithm classification machine-learning database-relations data-mining

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

使用决策树

我知道了;博士;

我会试着解释一下我的问题而不用烦人的代码来打扰你.我正在完成一项学校作业.我们有蓝精灵的照片,我们必须通过前景背景分析找到它们.我在java中有一个决策树,其中所有数据(HSV直方图)都是一个节点.然后尝试找到最佳属性(来自直方图数据)以分割树.然后执行拆分并创建左侧和右侧子树,并在两个节点树上拆分数据.所有数据仍保留在主树中,以便能够计算基尼指数.

因此,经过26分钟的分析蓝精灵,我的电脑有一个巨大的树与分裂和其他数据.现在我的问题是,任何人都可以给我一个关于如何分析新图片并确定哪些像素可能是"蓝图像素"的全局概念.我知道我必须使用新smurf的HSV直方图生成一个新的数据点数组,然后我需要使用生成的树来确定哪些像素属于smurf.

任何人都可以给我一个如何做到这一点的指针?

一些额外的信息.
每个Decision Tree对象都有一个Split对象,该对象具有要拆分的最佳属性,要拆分的值和gini索引.

如果我需要提供任何其他信息,我想听听.

classification machine-learning image-processing image-recognition decision-tree

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

基于本体的字符串分类

我最近开始使用本体,我正在使用Protege构建一个本体,我也想用它来自动分类字符串.以下说明了一个非常基本的类层次结构:

String
|_ AlphabeticString
   |_ CountryName
   |_ CityName
|_ AlphaNumericString
   |_ PrefixedNumericString
|_ NumericString
Run Code Online (Sandbox Code Playgroud)

最终字符串Spain应该被归类为CountryNameUE4564将是a PrefixedNumericString.

但是我不确定如何建模这些知识.我是否必须先定义一个字符是字母,数字等,然后从现有字符构造一个单词,还是有办法使用正则表达式?到目前为止,我只设法根据一个确切的短语对字符串进行分类String and hasString value "UE4565".

或者,为本体中的每个类保护正则表达式然后使用这些正则表达式在Java中对字符串进行分类会更好吗?

regex string classification ontology protege

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

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

我在知名人士的老中考试中看到一个例子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
查看次数

如何在分类机器学习算法中发现新类?

我正在使用多类分类器(支持向量机,通过One-Vs-All)来分类数据样本.假设我目前有n不同的课程.

但是,在我面临的场景中,新数据样本可能属于之前未见过的n+1.

所以我想你可以说我需要一种在线学习的形式,因为在开始时没有适合所有数据出现的明显训练集.相反,我需要SVM动态适应未来可能出现的新类.

所以我想知道我是否以及如何......

  1. 确定新数据样本不完全适合现有类,但应该导致创建新类.

  2. 将该新类集成到现有分类器中.

我可以模糊地想到一些可能解决这个问题的方法:

  1. 如果没有二进制SVM分类器(因为我在OVA情况下对每个类有一个)预测新数据样本的相当高的概率(例如> 0.5),我可以假设这个新数据样本可以代表新类.

  2. 我可以为该新类训练一个新的二进制分类器并将其添加到多类SVM中.

然而,这些只是我天真的想法.我想知道是否有一些"适当的"方法,例如使用聚类算法来查找所有类.

或许我尝试使用SVM的方法甚至不适合这种问题?

非常感谢帮助.

classification machine-learning svm

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

如何给keras一个恒定的输入

我的网络有两个时间序列输入.其中一个输入具有针对每个时间步重复的固定向量.是否有一种优雅的方法将这个固定的矢量加载到模型中一次并将其用于计算?

python classification machine-learning neural-network keras

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

线性判别分析与朴素贝叶斯

LDA 与朴素贝叶斯在机器学习分类方面的优缺点是什么?

我知道一些差异,比如朴素贝叶斯假设变量是独立的,而 LDA 假设高斯类条件密度模型,但我不明白什么时候使用 LDA,什么时候使用 NB 取决于情况?

classification machine-learning naivebayes linear-discriminant machine-learning-model

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

Dense(2)和Dense(1)之间的区别是二进制分类CNN的最后一层?

在用于图像的二进制分类的CNN中,输出的形状应该是(图像数量1)还是(图像数量2)?具体来说,这是CNN中的2种最后一层:

keras.layers.Dense(2, activation = 'softmax')(previousLayer)
Run Code Online (Sandbox Code Playgroud)

要么

keras.layers.Dense(1, activation = 'softmax')(previousLayer)
Run Code Online (Sandbox Code Playgroud)

在第一种情况下,每个图像都有2个输出值(属于组1的概率和属于组2的概率)。在第二种情况下,每个图像只有1个输出值,即它的标签(0或1,label = 1表示它属于组1)。

哪一个是正确的?有内在的区别吗?我不想识别这些图像中的任何对象,只需将它们分为2组即可。

非常感谢!

classification deep-learning keras tensorflow convolutional-neural-network

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

How to use Dynamic Time warping with kNN in python

I have a time-series dataset with two lables (0 and 1). I am using Dynamic Time Warping (DTW) as a similarity measure for classification using k-nearest neighbour (kNN) as described in these two wonderful blog posts:

python classification time-series knn scikit-learn

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

LSTM 0 准确率

我训练了 LSTM 分类模型,但得到了奇怪的结果(0 准确率)。这是我的带有预处理步骤的数据集:

import pandas as pd
from sklearn.model_selection import train_test_split
import tensorflow as tf
from tensorflow import keras
import numpy as np

url = 'https://raw.githubusercontent.com/MislavSag/trademl/master/trademl/modeling/random_forest/X_TEST.csv'
X_TEST = pd.read_csv(url, sep=',')
url = 'https://raw.githubusercontent.com/MislavSag/trademl/master/trademl/modeling/random_forest/labeling_info_TEST.csv'
labeling_info_TEST = pd.read_csv(url, sep=',')


# TRAIN TEST SPLIT
X_train, X_test, y_train, y_test = train_test_split(
    X_TEST.drop(columns=['close_orig']), labeling_info_TEST['bin'],
    test_size=0.10, shuffle=False, stratify=None)


### PREPARE LSTM
x = X_train['close'].values.reshape(-1, 1)
y = y_train.values.reshape(-1, 1)
x_test = X_test['close'].values.reshape(-1, 1)
y_test = y_test.values.reshape(-1, 1)
train_val_index_split = 0.75
train_generator = keras.preprocessing.sequence.TimeseriesGenerator(
    data=x,
    targets=y, …
Run Code Online (Sandbox Code Playgroud)

python classification lstm keras

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