草庐IT

$sklearn

全部标签

python - 在 sklearn 中保存 MinMaxScaler 模型

我在sklearn中使用MinMaxScaler模型来规范化模型的特征。training_set=np.random.rand(4,4)*10training_set[[6.01144787,0.59753007,2.0014852,3.45433657],[6.03041646,5.15589559,6.64992437,2.63440202],[2.27733136,9.29927394,0.03718093,7.7679183],[9.86934288,7.59003904,6.02363739,2.78294206]]scaler=MinMaxScaler()scaler.fi

python - 如何在 sklearn 中编写自定义估算器并对其使用交叉验证?

我想通过交叉验证检查一种新方法的预测误差。我想知道我是否可以将我的方法传递给sklearn的交叉验证函数,以防万一。我想要sklearn.cross_validation(cv=10).mymethod之类的东西。我还需要知道如何定义mymethod它应该是一个函数以及哪个输入元素和哪个输出例如,我们可以将mymethod视为最小二乘估计器的实现(当然不是sklearn中的)。我找到了这个教程link但对我来说不是很清楚。在documentation他们使用>>>importnumpyasnp>>>fromsklearnimportcross_validation>>>fromskle

python - 模块 'sklearn' 没有属性 'cross_validation'

我正在尝试将我的数据集拆分为训练和测试数据集,但出现此错误:X_train,X_test,Y_train,Y_test=sklearn.cross_validation.train_test_split(X,df1['ENTRIESn_hourly'])AttributeErrorTraceback(mostrecentcalllast)in()---->1X_train,X_test,Y_train,Y_test=sklearn.cross_validation.train_test_split(X,df1['ENTRIESn_hourly'])AttributeError:modu

python - 如何在 sklearn 中实现前向测试?

在sklearn中,GridSearchCV可以将管道作为参数,通过交叉验证找到最佳估计器。然而,通常的交叉验证是这样的:为了交叉验证时间序列数据,训练数据和测试数据通常像这样拆分:也就是说,测试数据应该总是领先于训练数据。我的想法是:编写我自己的k-fold版本类并将其传递给GridSearchCV,这样我就可以享受管道的便利。问题是让GridSearchCV使用指定的训练和测试数据索引似乎很困难。写一个新的类GridSearchWalkForwardTest,类似于GridSearchCV,正在研究grid_search.py​​源码,发现有点复杂。欢迎提出任何建议。

python - 使用 sklearn 进行网格搜索的显式(预定义)验证集

我有一个数据集,之前已分为3组:训练、验证和测试。为了比较不同算法的性能,必须按照给定的方式使用这些集合。我现在想使用验证集优化我的SVM的参数。但是,我找不到如何将验证集显式输入sklearn.grid_search.GridSearchCV()。下面是我之前用于在训练集上进行K折交叉验证的一些代码。但是,对于这个问题,我需要使用给定的验证集。我该怎么做?fromsklearnimportsvm,cross_validationfromsklearn.grid_searchimportGridSearchCV#(somecodeleftouttosimplifythings)skf=

python - Sklearn 如何使用 Joblib 或 Pickle 保存从管道和 GridSearchCV 创建的模型?

在使用pipeline和GridSearchCV确定最佳参数后,我如何pickle/joblib这个过程以后再用?当它是一个单一的分类器时,我知道如何做到这一点......fromsklearn.externalsimportjoblibjoblib.dump(clf,'filename.pkl')但是在执行和完成gridsearch之后,如何使用最佳参数保存整个pipeline?我试过了:joblib.dump(grid,'output.pkl')-但这会转储每个gridsearch尝试(许多文件)joblib.dump(pipeline,'output.pkl')-但我不要认为它包

python - 在 sklearn cross_val_score 上评估多个分数

我正在尝试使用sklearn评估多个机器学习算法的几个指标(准确度、召回率、精度等)。对于我从文档here中了解的内容从源代码(我使用的是sklearn0.17),cross_val_score函数每次执行只接收一个记分员。所以为了计算多个分数,我必须:多次执行实现我的(耗时且容易出错的)记分器我已经用这段代码执行了多次:fromsklearn.svmimportSVCfromsklearn.naive_bayesimportGaussianNBfromsklearn.treeimportDecisionTreeClassifierfromsklearn.cross_validatio

python - sklearn 凝聚聚类链接矩阵

我正在尝试绘制完整链接scipy.cluster.hierarchy.dendrogram,我发现scipy.cluster.hierarchy.linkage比sklearn.AgglomerativeClustering慢.但是,sklearn.AgglomerativeClustering不返回簇之间的距离和原始观察的数量,这是scipy.cluster.hierarchy.dendrogram需要的。有没有办法拿走它们? 最佳答案 这是可能的,但它并不漂亮。它需要(至少)对AgglomerativeClustering.fi

python - sklearn - 具有多个分数的交叉验证

我想计算不同分类器的交叉验证测试的recall、precision和f-measure。scikit-learn自带cross_val_score但不幸的是,这种方法不会返回多个值。我可以通过调用3次cross_val_score来计算此类度量,但这并不高效。有没有更好的解决方案?现在我写了这个函数:fromsklearnimportmetricsdefmean_scores(X,y,clf,skf):cm=np.zeros(len(np.unique(y))**2)fori,(train,test)inenumerate(skf):clf.fit(X[train],y[train])

python - pandas 数据框对象将与 sklearn kmeans 聚类一起使用吗?

数据集是Pandas数据框。这是sklearn.cluster.KMeanskm=KMeans(n_clusters=n_Clusters)km.fit(dataset)prediction=km.predict(dataset)这就是我决定哪个实体属于哪个集群的方式:foriinrange(len(prediction)):cluster_fit_dict[dataset.index[i]]=prediction[i]这是数据集的样子:A123456B234567C142781...其中A,B,C是索引这是使用k-means的正确方法吗? 最佳答案