我一直在寻找一种最大熵分类实现,它可以处理500个类和1000个特征的输出大小.我的训练数据大约有30,000,000行.我尝试过使用MegaM,64位R maxent软件包,这是爱丁堡大学的最大工具,但正如预期的那样,它们都无法处理数据的大小.但是,对于这种性质的nlp任务而言,数据集的大小似乎并不太过分.我应该采用哪些技术?或者我可以使用的工具包的任何建议?我试图在具有8GB RAM的64位Windows机器上运行它,在需要时使用Cygwin.
我试图从命令行使用weka运行一些分类.在此链接weka-Primer-commandline中,有以下用于创建测试和训练集的示例:
java weka.filters.supervised.instance.StratifiedRemoveFolds -i data/soybean.arff -o soybean-train.arff \
-c last -N 4 -F 1 -V
java weka.filters.supervised.instance.StratifiedRemoveFolds -i data/soybean.arff -o soybean-test.arff \
-c last -N 4 -F 1
Run Code Online (Sandbox Code Playgroud)
这段代码是否应该为训练提供3/4的数据,为测试集提供1/4的数据?对我来说,似乎只有一部分整个数据(从最后因为-V而来)将被分配用于训练,而只有1倍用于测试.我对吗?我需要3/4数据用于训练,1/4用于测试.
在支持向量机的上下文中,"支持"一词的含义是什么,它是一种监督学习模型?
即使使用像最近邻居这样的简单分类器,我也无法判断其准确性,因而无法改善它.
例如,使用以下代码:
IDX = knnsearch(train_image_feats, test_image_feats);
predicted_categories = cell([size(test_image_feats, 1), 1]);
for i=1:size(IDX,1)
predicted_categories{i}=train_labels(IDX(i));
end
Run Code Online (Sandbox Code Playgroud)
这train_image_feats是一个300乘256的矩阵,其中每行代表一个图像.同样是结构test_image_feats.train_labels是与训练矩阵的每一行对应的标签.
我所遵循的书只是说上述方法达到了19%的准确率.
作者是如何得出这个结论的?有没有办法用这个分类器或其他来判断我的结果的准确性?
然后,作者使用另一种特征提取方法,并将其准确度提高了30%.
我怎样才能找到准确度?无论是图形还是仅通过一个简单的百分比.
我正在学习Scikit-Learn为推文做一些分类.我在一列上有一个带有推文的csv,下一列有0-11的类.我从Scikit-Learn网站浏览了这个教程,我想我理解了实际的分类是如何完成的,但我认为我并不真正理解数据格式.在教程中,材料位于文件夹中的文件中,其中文件夹名称充当分类标记.
在我的情况下,我应该从csv文件加载该数据,显然我需要构建数据结构,手动输入到矢量化器和分类器.我该怎么办呢?我认为这个教程在这方面有点模棱两可,因为数据加载是自动完成的,让我对自定义数据的结构和加载一无所知.
我分割Train数据集和Test数据集.
我rpart在R(仅列车组)中使用了CART(分类树)包.我想使用该ROCR软件包进行ROC分析.
变量是`n.使用'(响应变量... 1 =是,0 =否):
> Pred2 = prediction(Pred.cart, Test$n.use)
Error in prediction(Pred.cart, Test$n.use) :
**Format of predictions is invalid.**
Run Code Online (Sandbox Code Playgroud)
这是我的代码.有什么问题?什么是对的type("class"或者"prob"?
library(rpart)
train.cart = rpart(n.use~., data=Train, method="class")
Pred.cart = predict(train.cart, newdata = Test, type = "class")
Pred2 = prediction(Pred.cart, Test$n.use)
roc.cart = performance(Pred2, "tpr", "fpr")
Run Code Online (Sandbox Code Playgroud) 我为Python中的Tweets编写了一个分类器,然后我将它以.pkl格式保存在磁盘上,因此我可以一次又一次地运行它而无需每次都进行训练.这是代码:
import pandas
import re
from sklearn.feature_extraction import FeatureHasher
from sklearn.feature_selection import SelectKBest
from sklearn.feature_selection import chi2
from sklearn import cross_validation
from sklearn.externals import joblib
#read the dataset of tweets
header_row=['sentiment','tweetid','date','query', 'user', 'text']
train = pandas.read_csv("training.data.csv",names=header_row)
#keep only the right columns
train = train[["sentiment","text"]]
#remove puctuation, special characters, numbers and lower case the text
def remove_spch(text):
return re.sub("[^a-z]", ' ', text.lower())
train['text'] = train['text'].apply(remove_spch)
#Feature Hashing
def tokens(doc):
"""Extract tokens from doc.
This uses a simple regex to …Run Code Online (Sandbox Code Playgroud) 我有一个框架,在A列中存储文本评论,在B列中存储评分(1到5)。
id .....review ..............rating
1 .....That was awful ......1...
Run Code Online (Sandbox Code Playgroud)
例如,我需要基于word:occurrances词汇表等功能创建一个简单的(基于算法的)分类器,该分类器可以预测等级> 3或<3(假设如果等级> 3和0,如果<)
我不擅长Python和机器学习,因此我被Google搜索的所有示例所困扰。
请解释一下如何在该示例案例中提取特征,如何训练模型等等,或者为该案例提供出色的导师(我无法将sklearn导师转换为我的案例)。
我正在尝试调整我的投票分类器.我想在Sklearn中使用随机搜索.但是,为什么我可以为我的投票分类器设置参数列表,因为我目前使用两种算法(不同的树算法)?我是否必须单独运行随机搜索并在以后的投票分类器中将它们组合在一起?
有人可以帮忙吗?代码示例将受到高度赞赏:)
谢谢!
我想将训练数据分为70%训练,15%测试和15%验证。我正在使用createDataPartition()插入符号包的功能。我将其拆分如下
train <- read.csv("Train.csv")
test <- read.csv("Test.csv")
split=0.70
trainIndex <- createDataPartition(train$age, p=split, list=FALSE)
data_train <- train[ trainIndex,]
data_test <- train[-trainIndex,]
Run Code Online (Sandbox Code Playgroud)
是否有任何方法可以createDataPartition()像以下H2o方法一样分为训练,测试和验证?
data.hex <- h2o.importFile("Train.csv")
splits <- h2o.splitFrame(data.hex, c(0.7,0.15), destination_frames = c("train","valid","test"))
train.hex <- splits[[1]]
valid.hex <- splits[[2]]
test.hex <- splits[[3]]
Run Code Online (Sandbox Code Playgroud)