标签: classification

如何为自己的数据实现tensorflow的next_batch

在张量流MNIST教程中,mnist.train.next_batch(100)功能非常方便.我现在正试图自己实现一个简单的分类.我的训练数据是一个numpy数组.我如何为自己的数据实现类似的功能,以便为我提供下一批?

sess = tf.InteractiveSession()
tf.global_variables_initializer().run()
Xtr, Ytr = loadData()
for it in range(1000):
    batch_x = Xtr.next_batch(100)
    batch_y = Ytr.next_batch(100)
Run Code Online (Sandbox Code Playgroud)

python numpy classification neural-network tensorflow

25
推荐指数
2
解决办法
3万
查看次数

如何解释R中SVM的预测结果?

我是R的新手,我在R中使用该e1071软件包进行SVM分类.

我使用了以下代码:

data <- loadNumerical()

model <- svm(data[,-ncol(data)], data[,ncol(data)], gamma=10)

print(predict(model, data[c(1:20),-ncol(data)]))
Run Code Online (Sandbox Code Playgroud)

loadNumerical是用于装载数据,并且将数据的形式为(第一8列被输入并且最后一列是分类):

   [,1] [,2] [,3] [,4] [,5] [,6] [,7]      [,8] [,9]
1    39    1   -1   43   -1    1    0 0.9050497    0
2    23   -1   -1   30   -1   -1    0 1.6624974    1
3    50   -1   -1   49    1    1    2 1.5571429    0
4    46   -1    1   19   -1   -1    0 1.3523685    0
5    36    1    1   29   -1    1    1 1.3812029    1
6    27   -1   -1 …
Run Code Online (Sandbox Code Playgroud)

r classification svm

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

在scikit-learn中结合概率分类器的最佳方法

我有一个逻辑回归和一个随机森林,我想通过取平均值将它们(整体)组合起来进行最终的分类概率计算.

在sci-kit学习中是否有内置的方法可以做到这一点?在某些方面我可以使用两者的集合作为分类器本身?或者我需要滚动自己的分类器?

python classification machine-learning scikit-learn

24
推荐指数
3
解决办法
2万
查看次数

预测scikit-learn分类需要运行多长时间

有没有办法预测根据参数和数据集从sci-kit学习运行分类器需要多长时间?我知道,非常好,对吗?

一些分类器/参数组合非常快,有些需要很长时间,以至于我最终会杀死进程.我想要一种预先估计需要多长时间的方法.

或者,我接受一些关于如何设置公共参数以减少运行时间的指针.

python classification machine-learning scikit-learn

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

理解高斯混合模型的概念

我正在尝试通过阅读在线提供的资料来了解GMM.我已经使用K-Means实现了聚类,并且看到GMM将如何与K-means进行比较.

这是我所理解的,如果我的概念错了,请告诉我:

GMM就像KNN一样,在这两种情况下都实现了聚类.但在GMM中,每个群集都有自己独立的均值和协方差.此外,k-means执行数据点到集群的硬分配,而在GMM中,我们得到一组独立的高斯分布,并且对于每个数据点,我们有一个它属于其中一个分布的概率.

为了更好地理解它,我使用MatLab对其进行编码并实现所需的聚类.我使用SIFT功能进行特征提取.并使用k-means聚类来初始化值.(这来自VLFeat文档)

%images is a 459 x 1 cell array where each cell contains the training image
[locations, all_feats] = vl_dsift(single(images{1}), 'fast', 'step', 50); %all_feats will be 128 x no. of keypoints detected
for i=2:(size(images,1))
    [locations, feats] = vl_dsift(single(images{i}), 'fast', 'step', 50);
    all_feats = cat(2, all_feats, feats); %cat column wise all features
end

numClusters = 50; %Just a random selection.
% Run KMeans to pre-cluster the data
[initMeans, assignments] = vl_kmeans(single(all_feats), numClusters, ...
    'Algorithm','Lloyd', ...
    'MaxNumIterations',5); …
Run Code Online (Sandbox Code Playgroud)

matlab classification cluster-analysis machine-learning mixture-model

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

比使用Tensorflow和Keras的培训准确性更高的验证准确性

我正在尝试使用深度学习来预测来自约会网站的15个自我报告属性的收入.

我们得到的结果相当奇怪,我们的验证数据比我们的训练数据更准确,损失更低.这在不同大小的隐藏层中是一致的.这是我们的模型:

for hl1 in [250, 200, 150, 100, 75, 50, 25, 15, 10, 7]:
    def baseline_model():
        model = Sequential()
        model.add(Dense(hl1, input_dim=299, kernel_initializer='normal', activation='relu', kernel_regularizer=regularizers.l1_l2(0.001)))
        model.add(Dropout(0.5, seed=seed))
        model.add(Dense(3, kernel_initializer='normal', activation='sigmoid'))

        model.compile(loss='categorical_crossentropy', optimizer='adamax', metrics=['accuracy'])
        return model

    history_logs = LossHistory()
    model = baseline_model()
    history = model.fit(X, Y, validation_split=0.3, shuffle=False, epochs=50, batch_size=10, verbose=2, callbacks=[history_logs])
Run Code Online (Sandbox Code Playgroud)

这就是准确性和损失的一个示例: 精度与250个神经元的隐含层损失.

我们试图消除正规化和辍学,这正如预期的那样,以过度拟合结束(培训acc:~85%).我们甚至尝试用相似的结果大幅降低学习率.

有没有人见过类似的结果?

classification machine-learning neural-network keras tensorflow

24
推荐指数
4
解决办法
2万
查看次数

scikit中的OneVsRestClassifier和MultiOutputClassifier有什么区别?

有人可以解释(举例说明)scikit-learn中OneVsRestClassifierMultiOutputClassifier之间的区别是什么?

我已阅读文档,我知道我们使用:

  • OneVsRestClassifier - 当我们想要进行多类或多标记分类时,它的策略包括为每个类拟合一个分类器.对于每个分类器,该类适用于所有其他类.(这很清楚,这意味着多类/多标记分类的问题被分解为多个二元分类问题).
  • MultiOutputClassifier - 当我们想要进行多目标分类时(这是什么?),它的策略包括为每个目标拟合一个分类器(目标是什么意思?)

我已经使用OneVsRestClassifier进行多标签分类,我可以理解它是如何工作的,但后来我找到了MultiOutputClassifier,并且无法理解它与OneVsRestClassifier的工作方式有何不同.

python classification scikit-learn multilabel-classification multiclass-classification

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

识别任意日期字符串

我需要能够识别日期字符串.如果我无法区分月份和日期(例如12/12/10)并不重要,我只需要将字符串分类为日期,而不是将其转换为Date对象.所以,这实际上是一个分类而不是解析问题.

我会有一些文字,例如:

"bla bla bla bla 12 Jan 09 bla bla bla 01/04/10 bla bla bla"

我需要能够识别每个日期字符串的开始和结束边界.

我想知道是否有人知道任何可以做到这一点的java库.到目前为止,我的google-fu还没有提出任何建议.

更新:我需要能够识别出最广泛的表示日期的方法.当然,天真的解决方案可能是为每种可想到的格式编写一个if语句,但是模式识别方法,使用训练有素的模型,理想情况下是我所追求的.

java date classification

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

XGBoost XGBClassifier在Python中默认值

我试图使用XGBoosts分类器来分类一些二进制数据.当我做最简单的事情并只使用默认值(如下)

clf = xgb.XGBClassifier()
metLearn=CalibratedClassifierCV(clf, method='isotonic', cv=2)
metLearn.fit(train, trainTarget)
testPredictions = metLearn.predict(test)
Run Code Online (Sandbox Code Playgroud)

我得到了相当不错的分类结果.

我的下一步是尝试调整我的参数.从参数指南猜测... https://github.com/dmlc/xgboost/blob/master/doc/parameter.md 我想从默认开始并从那里工作......

# setup parameters for xgboost
param = {}
param['booster'] = 'gbtree'
param['objective'] = 'binary:logistic'
param["eval_metric"] = "error"
param['eta'] = 0.3
param['gamma'] = 0
param['max_depth'] = 6
param['min_child_weight']=1
param['max_delta_step'] = 0
param['subsample']= 1
param['colsample_bytree']=1
param['silent'] = 1
param['seed'] = 0
param['base_score'] = 0.5

clf = xgb.XGBClassifier(params)
metLearn=CalibratedClassifierCV(clf, method='isotonic', cv=2)
metLearn.fit(train, trainTarget)
testPredictions = metLearn.predict(test)
Run Code Online (Sandbox Code Playgroud)

结果是预测的一切都是条件而不是其他条件.

奇怪的是,如果我设置

params={}
Run Code Online (Sandbox Code Playgroud)

我期望给我相同的默认值,因为没有提供任何参数,我得到同样的事情发生

那么有谁知道XGBclassifier的默认值是什么?这样我才能开始调音?

python analytics classification scikit-learn xgboost

22
推荐指数
2
解决办法
5万
查看次数

如何在R中的二进制h2o GBM中为每个类获得不同的变量重要性?

我正在尝试探索使用GBM h2o进行分类问题来替换逻辑回归(GLM).我的数据中的非线性和相互作用使我认为GBM更合适.

我已经运行了基线GBM(见下文),并将AUC与逻辑回归的AUC进行了比较.GBM的表现要好得多.

在经典线性逻辑回归中,人们将能够看到每个预测变量(x)对结果变量(y)的方向和影响.

现在,我想以同样的方式评估估算GBM的变量重要性.

如何获得每个(两个)类的变量重要性?

我知道变量重要性与逻辑回归中的估计系数不同,但它有助于我理解哪个预测因子会影响哪个类.

其他人提出了类似的问题,但提供的答案对H2O对象不起作用.

任何帮助深表感谢.

example.gbm <- h2o.gbm(
  x = c("list of predictors"), 
  y = "binary response variable", 
  training_frame = data, 
  max_runtime_secs = 1800, 
  nfolds=5,
  stopping_metric = "AUC")
Run Code Online (Sandbox Code Playgroud)

r classification machine-learning gbm h2o

22
推荐指数
1
解决办法
1137
查看次数