草庐IT

Scikit-Learn-Keras

全部标签

python - Keras 重命名模型和图层

1)我尝试使用TF后端重命名Keras中的模型和层,因为我在一个脚本中使用多个模型。类模型似乎具有属性model.name,但在更改它时我得到“AttributeError:无法设置属性”。这里的问题是什么?2)此外,我正在使用顺序API,我想给图层命名,这似乎可以使用函数式API,但我没有找到顺序API的解决方案。anonye知道如何为顺序API做吗?更新为2):命名图层有效,尽管它似乎没有记录。只需添加参数名称,例如model.add(Dense(...,...,name="hiddenLayer1")。注意,具有相同名称的图层共享权重! 最佳答案

python - scikit-learn 可以处理多少功能?

我有一个[66k,56k]大小(行,列)的csv文件。它是一个稀疏矩阵。我知道numpy可以处理那个大小的矩阵。我想知道根据大家的经验,scikit-learn算法可以轻松处理多少特征? 最佳答案 取决于估算器。在那个规模下,线性模型仍然表现良好,而SVM可能需要永远训练(并且忘记随机森林,因为它们无法处理稀疏矩阵)。我个人使用过LinearSVC、LogisticRegression和SGDClassifier以及大小约为300k×330万的稀疏矩阵,没有遇到任何问题。参见@amueller的scikit-learncheatsh

python - 如何在 scikit-learn DecisionTreeRegressor 中使用实际的特征名称而不是 "X"?

我想这是可能的,因为在fit函数的定义中itsays:X:array-like,shape=[n_samples,n_features]现在我有,我当然可以生成决策树的字符串表示,然后将X[]替换为实际的特征名称。但是我想知道fit函数是否可以直接将特征名称作为输入的一部分?我为每个样本尝试了以下格式[1,2,"feature_1","feature_2"][[1,2],["feature_1","feature_2"]]但都没有用。shape是什么意思?能举个例子吗? 最佳答案 fit函数本身不支持类似的东西。但是,您可以使用ex

python - Scikit-learn GridSearch 给出 "ValueError: multiclass format is not supported"错误

我正在尝试使用GridSearch进行LinearSVC()的参数估计,如下所示-clf_SVM=LinearSVC()params={'C':[0.5,1.0,1.5],'tol':[1e-3,1e-4,1e-5],'multi_class':['ovr','crammer_singer'],}gs=GridSearchCV(clf_SVM,params,cv=5,scoring='roc_auc')gs.fit(corpus1,y)corpus1的形状为(1726,7001),y的形状为(1726,)这是一个多类分类,y的值为0到3,包括两者,即有四个类。但这给了我以下错误----

python - 如何在 Scikit-Learn 中绘制超过 10 倍交叉验证的 PR 曲线

我正在针对二进制预测问题运行一些监督实验。我使用10折交叉验证来评估平均精度的性能(每折的平均精度除以交叉验证的折数-在我的例子中为10)。我想绘制这10次折叠的平均精度结果的PR曲线,但我不确定执行此操作的最佳方法。Apreviousquestion在CrossValidatedStackExchange网站上提出了同样的问题。一条建议通过thisexample解决的评论从Scikit-Learn站点绘制跨交叉验证折叠的ROC曲线,并将其调整为平均精度。这是我为尝试这个想法而修改的相关代码部分:fromscipyimportinterp#Otherpackages/functions

python - 具有 scikit-image local_binary_pattern 函数的统一 LBP

我正在使用skimage.feature中的local_binary_pattern和这样的统一模式:>>>fromskimage.featureimportlocal_binary_pattern>>>lbp_image=local_binary_pattern(some_grayscale_image,8,2,method='uniform')>>>histogram=scipy.stats.itemfreq(lbp_image)>>>printhistogram[[0.00000000e+001.57210000e+04][1.00000000e+001.86520000e+04

python - 在 keras 中使用预训练的 gensim Word2vec 嵌入

我在gensim中训练过word2vec。在Keras中,我想用它来制作使用该词嵌入的句子矩阵。由于存储所有句子的矩阵非常占用空间和内存效率。所以,我想在Keras中制作嵌入层来实现这一点,以便它可以用于更多层(LSTM)。你能详细告诉我怎么做吗?PS:和其他题不同,因为我用的是gensim训练word2vec,而不是keras。 最佳答案 假设您有以下需要编码的数据docs=['Welldone!','Goodwork','Greateffort','nicework','Excellent!','Weak','Pooreffor

python - 如何在新图像上使用 .predict_generator() - Keras

我使用ImageDataGenerator和flow_from_directory进行训练和验证。这些是我的目录:train_dir=Path('D:/Datasets/Trell/images/new_images/training')test_dir=Path('D:/Datasets/Trell/images/new_images/validation')pred_dir=Path('D:/Datasets/Trell/images/new_images/testing')ImageGenerator代码:img_width,img_height=28,28batch_size=

python - 如何将非整数字符串标签与 scikit-learn 中的 SVM 一起使用? Python

Scikit-learn具有相当用户友好的机器学习python模块。我正在尝试训练用于自然语言处理(NLP)的SVM标记器,其中我的标签和输入数据是单词和注释。例如。词性标记,而不是使用double/整数数据作为输入元组[[1,2],[2,0]],我的元组将如下所示[['word','NOUN'],['young','形容词']]任何人都可以举例说明如何将SVM与字符串元组一起使用吗?此处给出的教程/文档适用于整数/double输入。http://scikit-learn.org/stable/modules/svm.html 最佳答案

python - 使用 scikit-learn.k-means 库输出最接近每个聚类中心的 50 个样本

我使用pythonscikit-learn库在5000多个样本上安装了k-means算法。我想将最接近聚类中心的50个样本作为输出。我如何执行此任务? 最佳答案 如果km是k-means模型,则数组X中每个点到第j个质心的距离是d=km.transform(X)[:,j]这给出了一个len(X)距离数组。最接近质心j的50个索引是ind=np.argsort(d)[::-1][:50]所以离质心最近的50个点是X[ind](或者使用argpartition,如果你有足够新的NumPy,因为这样会快很多)。