小编use*_*576的帖子

选择最接近SVM双翼飞机的5个数据点

我使用Sklearn编写了Python代码来聚类我的数据集:

af = AffinityPropagation().fit(X)
cluster_centers_indices = af.cluster_centers_indices_
labels = af.labels_
n_clusters_= len(cluster_centers_indices)
Run Code Online (Sandbox Code Playgroud)

我正在探索使用群集查询,因此通过以下方式形成初始训练数据集:

td_title =[]
td_abstract = []
td_y= []
for each in centers:
    td_title.append(title[each])
    td_abstract.append(abstract[each])
    td_y.append(y[each])
Run Code Online (Sandbox Code Playgroud)

然后,我通过以下方式训练我的模型(SVM):

clf = svm.SVC()
clf.fit(X, data_y)
Run Code Online (Sandbox Code Playgroud)

我希望编写一个函数,给定中心,模型,X值和Y值将附加模型最不确定的5个数据点,即.最接近超平面的数据点.我怎样才能做到这一点?

python machine-learning svm

4
推荐指数
1
解决办法
368
查看次数

使用 scikit-learn 高效计算余弦相似度

在预处理和转换(BOW、TF-IDF)数据之后,我需要计算其与数据集的每个其他元素的余弦相似度。目前,我这样做:

cs_title = [cosine_similarity(a, b) for a in tr_title for b in tr_title]
cs_abstract = [cosine_similarity(a, b) for a in tr_abstract for b in tr_abstract]
cs_mesh = [cosine_similarity(a, b) for a in pre_mesh for b in pre_mesh]
cs_pt = [cosine_similarity(a, b) for a in pre_pt for b in pre_pt]
Run Code Online (Sandbox Code Playgroud)

在此示例中,每个输入变量(例如 )tr_title是一个 SciPy 稀疏矩阵。然而,这段代码运行速度极其缓慢。我可以做些什么来优化代码,使其运行得更快?

python optimization performance cosine-similarity scikit-learn

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

将列表转换为 numpy 矩阵

我有一个矩阵X和一个列表centres。我想创建一个新的 numpy matrix td_X

我想td_X用由X索引等于中心的行组成的填充。在伪代码中:

for each in centers:
  td_X.append(X[eacj])
Run Code Online (Sandbox Code Playgroud)

我如何使用 Python 做到这一点?

python numpy list matrix

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

单一的热门编码

我有一个类似于此的列表:

list = ['Opinion, Journal, Editorial',
        'Opinion, Magazine, Evidence-based',
        'Evidence-based']
Run Code Online (Sandbox Code Playgroud)

逗号在类别之间分割的地方,例如.意见和期刊是两个不同的类别.真实列表要大得多,并且有更多可能的类别.我想使用单热编码来转换列表,以便它可以用于机器学习.例如,从该列表中我想生成一个包含以下数据的稀疏矩阵:

list = [[1, 1, 1, 0, 0],
        [1, 0, 0, 0, 1],
        [0, 0, 0, 0, 1]]
Run Code Online (Sandbox Code Playgroud)

理想情况下,我想使用scikit-learn的一个热编码器,因为我认为这将是最有效的.

回应@nbrayns评论:

我们的想法是将类别列表从文本转换为矢量wherby,如果它属于该类别,它将被分配1,否则为0.对于上面的示例,标题将是:

headings = ['Opinion', 'Journal', 'Editorial', 'Magazine', 'Evidence-based']
Run Code Online (Sandbox Code Playgroud)

python numpy machine-learning scikit-learn one-hot-encoding

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