运行以下代码时出现此错误。罪魁祸首似乎是一行代码“sp_randint(1,sqrt(X.shape[1]))”。如果我用一个列表对象替换它,那么它看起来很好。有人知道这个错误吗
import numpy as np
import matplotlib.pyplot as plt
import sklearn
from sklearn import cross_validation
from sklearn.datasets import load_digits
from sklearn.lea
我在做多项式回归。我可以把它画在实际值上,但问题是,我想给出一个X值,比如125,然后我想得到预测值
我该怎么做
谢谢我相信您正在寻找模型。预测方法
下面是一个例子:
model = make_pipeline(PolynomialFeatures(), Ridge())
model.fit(X, y)
print(model.predict([[125]]))
我怎么就不能这么想?谢谢你兄弟:)我给你加号:)奇怪的是,我没有找到关于这个方法的文档,只有几个例子。
当我阅读scikit学习用户指南()中的1.7高斯过程时,
我发现,高斯过程的超参数不仅可以使用对数边际似然法进行优化,还可以使用马尔可夫链蒙特卡罗(MCMC)进行优化。但是我不知道如何实现这个方法,有人知道吗,谢谢大家的回答
我开始通过使用scikitlearn在模型中创建来学习,但在保存和使用标签编码器的字典方面遇到了问题(我使用的是df=df.apply(preprocessing.LabelEncoder().fit_transform),然后
import joblib
from collections import defaultdict
d = defaultdict(preprocessing.LabelEncoder)
d
joblib.dump(d, 'label_encoder_dict.job
我有很多逻辑回归模型,我想看看它们的聚类效果如何。有效地制作几个模型来代表整个团队
然而,许多模型没有相同的参数。而且,在可能并非所有模型都具有所有参数的情况下,在beta上进行聚类似乎很奇怪我建议对每个解释变量的优势比进行聚类。这样,对于没有特定回归系数的模型,可以使用0.0填充空值(使用pandas
假设您有此表单中所有模型的列表:
models = [{'beta1': m1_b1, 'beta2': m1_b2}, {'beta1': m2_b1, 'beta3': m2_b3}]
上
由sklearn的RandomForestClassifier的属性feature\u importance\u给出的变量重要性值是否可以解释为百分比?据我所知,这是在分割点使用特定特征时,所有树上杂质指数减少的平均值。feature\u importance\u值的范围是多少?对于具有1000个特征的数据集,如果feature\u importance\u值范围为0~0.05,且大多数特征值为0,只有少数特征值略有增加,这是否表明数据有噪声
这是否表明数据有噪声
你的问题非常笼统,不看数据就不
我正试图使用逻辑回归来做一些预测任务与Scikit学习工具
她的是我任务的两个示例特征:
特征1(男人、女人、未知)——分类变量
功能2(点击次数)——连续变量
当我将数据输入逻辑回归时,我不确定如何对特征进行编码
我应该使用1、2和3来表示分类变量男性、女性和未知人群,还是在使用Scikit learn的逻辑回归时使用(1,0,0)、(0,1,0)、(0,0,1)?那么连续变量呢?功能2您应该保持原有状态
功能1有点棘手。处理缺少的数据时,可以删除整行,也可以尝试将值输入要素。我建议您阅读Sc
我有一个多标签数据集,我想通过交叉验证测试确定每个标签的F分数值。有没有在sklearn或skmultilearn中实现的示例代码?它的文档似乎只为整个数据集提供了价值。您可以使用scikit learn的分类报告,假设您有y和y\u预测
from sklearn.metrics import classification_report
y = [0, 1, 2, 2, 2]
y_pred = [1, 0, 2, 2, 1]
classes = {'Banana':0,'Apple':1,'Or
标签: Scikit Learn
tf-idftext-classificationfeature-selectionnaivebayes
我正在学习使用tfidf和NaiveBayes通过引用和实现文本分类(分为两类)
下面是代码片段:
kf = StratifiedKFold(n_splits=5)
totalNB = 0
totalMatNB = np.zeros((2,2));
for train_index, test_index in kf.split(documents, labels):
X_train = [documents[i] for i in train_index]
X_test = [
我混淆了“sklearn.cluster.k_means”和“sklearn.cluster.KMeans”之间的区别,当我应该使用它们中的一个时?来自:“[w]我们为许多算法提供了特别的函数接口,而估计器类提供了更一致的接口。”k_means()只是返回KMeans.fit()结果的包装器。:
集群中心
标签
惯性
n\u iter\u
KMeans是一个按照开发人员指南设计的类KMeans,与sklearn中的其他分类器对象一样,用于:
fit()
transform(),以及
sco
我想使用LogisticRegression进行分类。因此,我使用RandomizedSearchCV在logisticsregression中选择最佳的C参数
我的问题是:为什么每次我运行这个程序时,best\u params\u都会改变?我假设最佳参数应该始终保持不变
代码如下:
data = load_iris().data
target = load_iris().target
# DATA Split
TrainData , TestData ,TrainTarget , Test
我使用GaussianMixture对特征向量(8维)进行聚类。我将GaussianMixture设置为:
gm = GaussianMixture(n_components=class_no,
tol=1e-6,
covariance_type="spherical",
init_params="random",
verbose
通过sklearn,我试图建立一个上下车车辆路径问题的模型。如果你能推荐一个分类器,我们将不胜感激。为了简单起见,有一辆车和5个客户。训练数据有20个特征和10个输出
功能包括5位客户的x-y跳线。每个客户都有接送地点
c1p_x, c1p_y,c2p_x, c2p_y,c3p_x, c3p_y,c4p_x, c4p_y,c5p_x, c5p_y,
c1d_x, c1d_y,c2d_x, c2d_y,c3d_x, c3d_y,c4d_x, c4d_y,c5d_x, c5d_y,
c1p\uX,
我想使用TF-IDF功能对文档进行分类。一种方法是:
from sklearn.feature_extraction.text import TfidfVectorizer
import string
import re
import nltk
def tokenize(document):
document = document.lower()
for punct_char in string.punctuation:
document = document
我正在使用scikit learn cross_validation()获得例如0.82的平均分数(r2_scorer)。
使用scikit学习功能,我如何知道我的拟合过度还是拟合不足?在测试训练和测试数据时,您应该比较您的分数。如果分数接近相等,你很可能不合身。如果它们相距很远,则可能是过度拟合(除非使用随机森林等方法)
要计算训练和测试数据的分数,可以使用以下内容(假设数据在变量X和Y中):
在测试培训和测试数据时,您应该比较您的分数。如果分数接近相等,你很可能不合身。如果它们相距很远,则可
我正在Ubuntu 12.04上使用sklearn 0.16并运行:
from sklearn.ensemble import RandomForestClassifier
import numpy as np
X=np.random.rand(5000,500)
y=(np.random.rand(5000).round())
RandomForestClassifier(n_jobs=10,n_estimators=1000).fit(X,y)
然而,它并没有耗尽我的内核,并且需要与n_j
我有一个包含类似字典的记录的数据集。字典中的每个值都包含文本:
[{name: 'text one', feature_two: 'text two'}, ...]
例如,通过使用DictVectorizer,我得到了记录中每个值的全部内容所做的标记化
{'name=text one': 1, 'feature_two=text two': 23, ...}
我想用这种方式将值中的单词拆分:
{'name=text': 1, 'name=one': 1, 'feature_two=two':
随机森林接受数字数据。通常,具有文本数据的特征被转换为数字类别,连续的数字数据按原样输入,而不进行离散化。RF如何处理用于创建节点的连续数据?它会在内部存储连续的数字数据吗?或者将每个数据视为离散级别
例如:
我想向RF提供一个数据集(当然是在对文本特征进行分类之后)。RF如何处理连续数据?
喂食前,是否建议离散连续数据(在这种情况下为经度和纬度)?或者这样做会丢失信息
您询问的是决策树。由于RandomForest是集成模型,而且它本身对数据一无所知,因此它完全依赖于基础估计器的决策(在本例中
我想用sklearn做一个加权岭回归。但是,当我调用fit方法时,代码会中断。我得到的例外是:
Exception: Data must be 1-dimensional
但我确信(通过检查打印语句),我传递的数据具有正确的形状
print temp1.shape #(781, 21)
print temp2.shape #(781,)
print weights.shape #(781,)
result=RidgeCV(normalize=True).fit
我正在使用sklearn.preprocessing.OneHotEncoder处理模型中的分类值。我注意到“变换”方法的结果是一个稀疏矩阵scipy.sparse.coo.coo_矩阵,它似乎可以直接用于训练模型,在这种情况下,就是岭回归
在处理20K示例的玩具问题时,我认为转换为数组是绝对必要的
我知道使用稀疏矩阵时存在一些问题,例如np的点积会引发错误,我想知道这是否是另一个问题,因此我应该始终使用np数组作为scikit学习模型的输入。接受稀疏矩阵的模型应给出与等效密集矩阵相同的结果。你
我正在使用计算我的二元分类模型的AUC:
roc_auc_score(Y_test_binary, plc.predict_proba(X_test, y_true))
它返回0.810477872581。根据我的理解,它代表了模型识别积极类的程度
然而,我也想知道另一面:我也想计算负类的AUC。我该怎么做?我应该使用“平均”参数吗
========================================================
根据文档,似乎“平均=无”可以“返回每个类的分数
我将Keras与scikit学习包装器一起使用。特别是,我想使用GridSearchCV进行超参数优化
这是一个多类问题,即目标变量只能在一组n类上选择一个标签。例如,目标变量可以是'Class1','Class2'…'Classn’
# self._arch creates my model
nn = KerasClassifier(build_fn=self._arch, verbose=0)
clf = GridSearchCV(
nn,
param_grid={ ... },
我有一个包含20个类和大约90个特征的多类分类问题。我使用的是scikit学习python包(版本0.18.1)中的RandomForestClassifier。我看到的是:
> rf1 = RandomForestClassifier(max_features=0.5, n_estimators=1)
> rf1.fit(X_train, y_train)
> print rf1.score(X_test, y_test), rf1.score(X_train, y_trai
我在尝试安装scikit garden时收到一个错误代码,但不确定如何修复它。完整的错误代码太长,无法发布,但以下链接中似乎出现了相同的问题:
然而,所建议的解决方案不起作用。谢谢
(C:\Anaconda3) C:\Users\Kyle M\Documents>pip install scikit-garden
Collecting scikit-garden
Using cached scikit-garden-0.1.3.tar.gz
Requirement already s
我有一个包含h2o预处理器和h2o估计器的sklearn管道。请看下面
pipeline = Pipeline([("standardize", h2o.transforms.preprocessing.H2OScaler()),
("pca", h2o.transforms.decomposition.H2OPCA(k=2)),
("drf", h2o.estimators.random_forest.H2OR
我正在研究用于图像分类的cifar数据集。其中我使用了一个热编码类标签,如下所示:
lists = ['frog',
'truck',
'deer',
'automobile',
'bird',
'horse',
'ship',
'cat',
'dog',
'airplane']
from sklearn.preprocessing import LabelBinarizer
label_binarizer = LabelBinarizer()
label_binarize
如何从scikit学习中手动计算CountVectorizer?或者任何可以帮助我的来源。Countvectorizer只计算给定字符串中整个语料库中每个单词的频率。
有关详细信息,请查看文档。CountVectorizer只统计文档中单词的出现次数,而不计算其他内容。你查过了吗?下面是一个简单的例子。哦,现在我明白了,非常感谢您,先生。@VivekKumar听起来像是一个复制品。如果是,请投票作为副本关闭。
我正在使用sklearn进行主题建模。在尝试从网格搜索输出获取对数似然时,我得到以下错误:
AttributeError:'str'对象没有属性'parameters'
我想我理解的问题是:“参数”在旧版本中使用,而我使用的是sklearn的新版本(0.22),这是错误的。我还搜索了新版本中使用的术语,但找不到它。代码如下:
# Get Log Likelyhoods from Grid Search Output
n_components = [10, 15, 20, 25, 30]
log_
使用GridSearchCV后,是否有任何方法可以确定是否真的使用了StratifiedKFold而不是KFold
作为估计器,我使用了SVC(支持向量机),cv=10
我知道文档(scikit学习版本0.21.3)中说在本例中实际使用了StratifiedKFold。一、 然而,我怀疑情况可能并非如此
非常感谢您的帮助。如果您不确定,您可以随时进入github repo并阅读代码,其中定义了函数
而且,你的答案就在这里。是的,确实如此。我忘了提到我将结果(包括GridSearchCV实例)保存
当我可视化这棵树时,我看到了用来训练它的样本是如何在决策树中流动的。是否可以生成类似的可视化,但显示测试集的值如何在树中流动?我希望能够查看特定节点和叶子,以了解特定规则或规则链的正确性
我目前使用以下代码来可视化带有颜色的树
import pydotplus
from IPython.display import Image, display
def visualize_tree(X, y, clf, proportion=False):
dt_feature_names = list
我想使用不平衡数据集评估三个模型,即LogisticRegression、SVM和Random Forest。我决定采用严格的方法。
第一个选项是使用train\u test\u split并设置stratyfy=y
然而,我使用了10次分割的StratifyKfold方法。
在这种情况下,如何使用相同的拆分来评估我的三个模型?如果使用相同的数据集,可以修复层叠文件夹的随机状态参数。如果您这样做,您将使用相同的10个分割来评估这三个模型
我正在从事一个使用NDCG(标准化分布累积增益)的项目,我了解该方法的基本计算
因此,我从sklearn.metrics导入了ndcg_score,然后将一个基本事实数组和另一个数组传递给ndcg_score函数以计算其ndcg得分。地面真相数组具有值[5,4,3,2,1],而另一个数组具有值[5,4,3,2,0],因此这两个数组中只有最后一个元素不同
from sklearn.metrics import ndcg_score
user_ndcg = ndcg_score(array([[5
在“plot_gmm_classifier.py”中,训练和测试数据定义如下
skf = StratifiedKFold(iris.target, n_folds=4)
# Only take the first fold.
train_index, test_index = next(iter(skf))
X_train = iris.data[train_index]
y_train = iris.target[train_index]
X_test = iris.data[test_in
在多分类的SVC()中,训练一对一分类器。因此,应该总共有n_class*(n_class-1)/2个分类器。但是为什么clf.dual\u coef\ucode>只返回我(n\u class-1)*n\u SV?那么每一行代表什么?在多类设置中,sklearn.svm.SVC的对偶系数很难解释。报告中有一个解释。sklearn.svm.SVC用于计算,并对双系数采用相同的数据结构。关于这些系数的组织的另一种解释见。对于在拟合SVC分类器中找到的系数,解释如下:
SVC识别的每个支持向量都属于某
这是我的数据:(我重置了索引。日期应该是索引)
这是我的代码:
ar = regr_data
y= ar.iloc[:80,0]
x=ar.iloc[:80,1:]
svmf = svm.SVR()
svmf.fit(training_x, training_y)
pred = pd.Series(svmf.predict(ar.iloc[80:,1:]))
result = pd.DataFrame({"Prediction":pred,"actual":np.array(ar.iloc[80
我正在尝试从scikit learn 0.16实现LogisticRegressionCV类,但很难使用不同的评分函数。文档要求传入sklearn.metrics中的一个评分函数,因此我尝试了以下代码:
from sklearn.linear_model import LogisticRegressionCV
from sklearn.metrics import log_loss
...
model_regression = LogisticRegressionCV(scoring=log
我试图在scikit learn中结合递归特征消除和网格搜索。正如您可以从下面的代码中看到的(这是有效的),我能够从网格搜索中获得最佳估计量,然后将该估计量传递给RFECV。然而,我宁愿先做RFECV,然后再做网格搜索。问题是当我通过选择器时从RFECV到网格搜索,不需要:
ValueError:估计器RFECV的参数引导无效
是否可以从RFECV获取选择器并将其直接传递给RandomizedSearchCV,或者这在程序上不是正确的做法
from sklearn.datasets impor
我已经使用pip安装了scikit learn,但是,我没有看到文档文件夹中的示例和教程。我做错什么了吗?查找最新和详细信息的最佳位置是scikit学习网站
scikit学习文档:
scikit学习教程:更具体一点,你在找什么?尽量提供更多的细节,否则没有人能帮助你。
我定义了一个外部评分函数来确定手写数字的聚类准确度,但不知道如何将该函数与GridSearchCV结合使用
s = GridSearchCV(estimator = pipe_cl,
param_grid = param_distributions,
scoring = my_scorer,
n_jobs=-1)
gs.fit(X_train, y_train)
y_pred_km =
训练后,是否可以从sklearn.neural_network.mlprepressor类的对象中提取所有层,以便在其他情况下使用
该类有一个函数get_params,它只返回参数,不返回图层矩阵。我自己发现,MLPrePressor类有一个可以检索的属性coefs_
是否可以使用gensim随机投影在sklearn中训练SVM?
我需要使用gensim的tfidf实现,因为它更擅长处理大的输入,然后我想把它放到一个随机投影中,在这个投影上我将训练我的SVM。我也很乐意将由gensim生成的tfidf模型传递给sklearn并使用它们的随机投影,如果这能让事情变得更简单的话。
但到目前为止,我还没有找到一种方法让这两个模型从gensim进入sklearn
我尝试过使用gensim.matutils.corpus2csc,但这当然行不通:TfidfModel和R
是否有任何方法可以使用scikit learn强制调整集群大小
我使用默认设置将100个文档分为两个集群,但Kmeans将99个文档分为一个集群。我如何强制它进行50/50的平分?或者这只是Kmeans的一个限制?如何强制它进行50/50的偶数分割?标准定义并行学习集群分配和集群大小。在你的例子中,我怀疑数据没有两个簇,或者簇的形状不能用简单的k-均值表示。在这种情况下,强制进行50/50分割可能没有帮助,因为您将获得的集群可能毫无意义。@cei,有很多文章描述了Kmeans的版本,这些版本甚至
我正在尝试编写sklearn.tree.\u splitter.splitter的子类,实现我自己的node\u split函数,我真的可以为这样的类使用一个示例
但是,我只有类的*.pyd。所以像BestSplitter这样出现在_splitter.pyx中的子类帮不了我
是否有人编写了这样一个子类,实现了自己的node_split并使用_splitter.pyd,并且可以上传一个示例
我不在乎这个例子是用python还是cython编写的,也不在乎它有多复杂。任何例子都可以
谢谢您找到解决方
具有一个n_jobs实例属性,从文档中可以看出:
n_jobs : integer, optional (default=1)
The number of jobs to run in parallel for both fit and predict. If
-1, then the number of jobs is set to the number of cores.
训练具有多个核心的随机森林模型显然比训练单个核心的随机森林模型更有效。但我注意到预测速度要慢得多(
我正在研究数据,希望为这些数据生成一个异常检测模型。数据只包含三个特征:纬度、经度和速度。我将其标准化,然后应用t-SNE,然后再次标准化。没有标记或目标数据。因此,它应该是一种无监督的异常检测
我无法共享数据,因为它是私有的。但是,似乎是这样的:
数据中存在一些异常值,如异常值:
以下是数据的最终形状:
如你所见,数据有点复杂。当我手动搜索异常实例时(通过查看特征值),我观察到红色圆圈内的实例(在下图中)应被检测为异常
红色区域内的实例应该是异常的:
我使用OneClassSVM来检测
以下可复制脚本用于计算gensim中带有W2VTransformer包装的Word2Vec分类器的精度:
import numpy as np
import pandas as pd
from sklearn.linear_model import LogisticRegression
from sklearn.pipeline import Pipeline
from gensim.sklearn_api import W2VTransformer
from gensim.utils impo
我训练了一个具有缩放特征的SVM scikit学习模型,并将其保存到以后使用。在另一个文件中,我加载了保存的模型,我想提交一组新的特征来执行预测。我是否必须扩展这套新功能?如何仅使用一组功能就可以做到这一点
我没有调整新的价值观,我得到了奇怪的结果,我不能做预测。尽管如此,由StratifiedShuffleSplit生成的大型测试集的预测效果良好,我获得了97%的准确率
问题在于单一预测使用的是经过缩放特征训练的持久化SVM模型。知道我做错了什么吗?是的,您应该对新数据执行相同的缩放。但是,如
我有这个数据帧,我可以使用矢量器获得每行每个项目的计数。但是,对于例如col1的单行,这是正确的。如何将其应用于整个数据帧所有3列
import pandas as pd
import numpy as np
from sklearn.feature_extraction.text import CountVectorizer
shopping_list = [
["Apple", "Bread", "Fridge"],
["Rice", "Bread", "Milk"],
有人知道什么度量用于评估和提前停止到sklearn.essemble.GradientBoostingClassifier
我基本上是在尝试优化过度安装,XGBoost或Sci Kit Learn以外的其他类似软件包在我的环境中不可用。在XGBoost或LGB中,您有一个类似于eval_metric的参数,可以在其中指定AUC、精度和其他度量
在sklearn的实现中,我无法理解他们使用什么作为早期停止验证样本的评估指标。基于此,我不确定如何调整tol(公差)参数。当然,GridSearch可以
我必须将scikit学习模型转换为HDF5文件。我能做吗?如果是的话,怎么办
附言:我试过pickle和joblib,但它超出了尺寸要求(@compress=9),所以我想把它做成一个HDF5请包括一个显示您已经尝试过的内容的文件。
上一页 1 2 ...
5 6 7 8 9 10 11 ...
下一页 最后一页 共 40 页