• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python metrics.normalized_mutual_info_score函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中sklearn.metrics.normalized_mutual_info_score函数的典型用法代码示例。如果您正苦于以下问题:Python normalized_mutual_info_score函数的具体用法?Python normalized_mutual_info_score怎么用?Python normalized_mutual_info_score使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了normalized_mutual_info_score函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: test_classification

def test_classification():
    from sklearn.datasets import load_digits
    from sklearn.cross_validation import KFold
    from sklearn.metrics import normalized_mutual_info_score
    digits = load_digits()
    X, y = digits.data, digits.target
    folds = 3
    cv = KFold(y.shape[0], folds)
    total = 0.0
    oo_score_bag = []
    for tr, te in cv:
        mlp = MLPClassifier(use_dropout=True, n_hidden=200, lr=1.)
        print(mlp)
        mlp.fit(X[tr], y[tr], max_epochs=100, staged_sample=X[te])
        t = normalized_mutual_info_score(mlp.predict(X[te]), y[te])
        print("Fold training accuracy: %f" % t)
        total += t
        this_score = []
        for i in mlp.oo_score:
            this_score.append(normalized_mutual_info_score(i, y[te]))
        oo_score_bag.append(this_score)
    from matplotlib import pyplot as plt
    plt.plot(oo_score_bag[0])
    plt.show()

    print("training accuracy: %f" % (total / float(folds)))
开发者ID:JakeMick,项目名称:sk-mlp,代码行数:26,代码来源:mlp.py


示例2: loss_augmented_fit

  def loss_augmented_fit(self, feat, y, loss_mult):
    """Fit K-Medoids to the provided data."""
    self._check_init_args()
    # Check that the array is good and attempt to convert it to
    # Numpy array if possible.
    feat = self._check_array(feat)
    # Apply distance metric to get the distance matrix.
    pdists = pairwise_distance_np(feat)

    num_data = feat.shape[0]
    candidate_ids = list(range(num_data))
    candidate_scores = np.zeros(num_data,)
    subset = []

    k = 0
    while k < self.n_clusters:
      candidate_scores = []
      for i in candidate_ids:
        # push i to subset.
        subset.append(i)
        marginal_cost = -1.0 * np.sum(np.min(pdists[:, subset], axis=1))
        loss = 1.0 - metrics.normalized_mutual_info_score(
            y, self._get_cluster_ics(pdists, subset))
        candidate_scores.append(marginal_cost + loss_mult * loss)
        # remove i from subset.
        subset.pop()

      # push i_star to subset.
      i_star = candidate_ids[np.argmax(candidate_scores)]
      subset.append(i_star)
      # remove i_star from candidate indices.
      candidate_ids.remove(i_star)
      k += 1

    # Expose labels_ which are the assignments of
    # the training data to clusters.
    self.labels_ = self._get_cluster_ics(pdists, subset)
    # Expose cluster centers, i.e. medoids.
    self.cluster_centers_ = feat.take(subset, axis=0)
    # Expose indices of chosen cluster centers.
    self.center_ics_ = subset
    # Expose the score = -\sum_{i \in V} min_{j \in S} || x_i - x_j ||
    self.score_ = np.float32(-1.0) * self._get_facility_distance(pdists, subset)
    self.score_aug_ = self.score_ + loss_mult * (
        1.0 - metrics.normalized_mutual_info_score(
            y, self._get_cluster_ics(pdists, subset)))
    self.score_aug_ = self.score_aug_.astype(np.float32)
    # Expose the chosen cluster indices.
    self.subset_ = subset
    return self
开发者ID:AbhinavJain13,项目名称:tensorflow,代码行数:50,代码来源:metric_loss_ops_test.py


示例3: evaluate_label

def evaluate_label(A, H, W, corr, K):
    label = H.argmax(axis=1)
    km = KMeans(K)
    label2 = km.fit_predict(H)
    nmi = normalized_mutual_info_score(label, corr)
    nmi2 = normalized_mutual_info_score(label2, corr)
    print("NMI by argmax: " + str(nmi))
    print("NMI by kmeans: " + str(nmi2))
    A = np.matrix(A)
    W = np.matrix(W)
    H = np.matrix(H)
    loss = np.power(A - W * H.T, 2).sum()
    print(loss)
    return nmi, nmi2, loss
开发者ID:nukui-s,项目名称:sscomdetection,代码行数:14,代码来源:compare.py


示例4: test_diffusion_embedding_two_components_no_diffusion_time

def test_diffusion_embedding_two_components_no_diffusion_time(seed=36):
    """Test spectral embedding with two components"""
    random_state = np.random.RandomState(seed)
    n_sample = 100
    affinity = np.zeros(shape=[n_sample * 2,
                               n_sample * 2])
    # first component
    affinity[0:n_sample,
             0:n_sample] = np.abs(random_state.randn(n_sample, n_sample)) + 2
    # second component
    affinity[n_sample::,
             n_sample::] = np.abs(random_state.randn(n_sample, n_sample)) + 2
    # connection
    affinity[0, n_sample + 1] = 1
    affinity[n_sample + 1, 0] = 1
    affinity.flat[::2 * n_sample + 1] = 0
    affinity = 0.5 * (affinity + affinity.T)

    true_label = np.zeros(shape=2 * n_sample)
    true_label[0:n_sample] = 1
    geom_params = {'laplacian_method':'geometric'}
    se_precomp = SpectralEmbedding(n_components=1,
                                   random_state=np.random.RandomState(seed),
                                   eigen_solver = 'arpack',
                                   diffusion_maps = True,
                                   geom = geom_params)
    embedded_coordinate = se_precomp.fit_transform(affinity,
                                                   input_type='affinity')

    # thresholding on the first components using 0.
    label_ = np.array(embedded_coordinate.ravel() < 0, dtype="float")
    assert_equal(normalized_mutual_info_score(true_label, label_), 1.0)
开发者ID:dvbhagavathi,项目名称:megaman,代码行数:32,代码来源:test_spectral_embedding.py


示例5: compare_direct_undir

def compare_direct_undir():
    from sklearn import metrics
    g = gt.Graph.Read_GraphML('ed_tag.graphml')
    gt.net_stat(g)
    gu = gt.Graph.Read_GraphML('ed_tag_undir.graphml')
    gt.net_stat(gu)
    com = g.community_infomap(edge_weights='weight', vertex_weights='weight')
    comu1 = gu.community_infomap(edge_weights='weight', vertex_weights='weight')
    comu2 = gu.community_infomap(edge_weights='weight', vertex_weights='weight')
    mem = com.membership
    memu1 = comu1.membership
    memu2 = comu2.membership
    print metrics.adjusted_rand_score(mem, memu1)
    print metrics.normalized_mutual_info_score(mem, memu1)
    print metrics.adjusted_rand_score(memu2, memu1)
    print metrics.normalized_mutual_info_score(memu2, memu1)
开发者ID:wtgme,项目名称:ohsn,代码行数:16,代码来源:tag_network.py


示例6: plotMI

def plotMI(dat, lab, width = 0.35, signed = 0):
	'''
	Draw a bar chart of the normalized MI between each X and Y
	'''
	X = dat.drop(lab, 1)
	Y = dat[[lab]].values
	cols = X.columns.values
	mis = []

	#Start by getting MI
	for c in cols:
		mis.append(skm.normalized_mutual_info_score(Y.ravel(), X[[c]].values.ravel()))

	#Get signs by correlation
	corrs = dat.corr()[lab]
	corrs[corrs.index != lab]
	df = pd.DataFrame(list(zip(mis, cols)), columns = ['MI', 'Lab'])
	df = pd.concat([df, pd.DataFrame(list(corrs), columns = ['corr'])], axis=1, join_axes=[df.index])


	
	if signed == 0:
		makeBar(df, 'MI', 'Lab', width)

	else:
		makeBarSigned(df, 'MI', 'Lab', width)
开发者ID:rlugojr,项目名称:DataScienceCourse,代码行数:26,代码来源:churn_analysis.py


示例7: compare

def compare(method1, method2, fig=False):
    X1 = np.load('{0}_{1}_X_2d.npy'.format(species, method1))
    X2 = np.load('{0}_{1}_X_2d.npy'.format(species, method2))
    
    print 'n_cluster\tHomo\tCompl\tNMI\tARI'
    for i in range(2, 6):
        clust1 = Clustering(species, method1, X1, None, n_clusters=i)
        clust2 = Clustering(species, method2, X2, None, n_clusters=i)
        
        clust1.agglomerative(linkage='ward')
        clust2.agglomerative(linkage='ward')
        
        label1 = clust1.pred_labels('ward')
        label2 = clust2.pred_labels('ward')
        
        
        if i == 3 and fig:
            names = np.unique(label1)
            figName = '{0}_{1}_on_{2}'.format(species, method1, method2)
            plot2d(X2, label1, names, figName, figName)

            names = np.unique(label2)
            figName = '{0}_{1}_on_{2}'.format(species, method2, method1)
            plot2d(X1, label2, names, figName, figName)
    
        print '{0}\t{1}\t{2}\t{3}\t{4}\n'.format(i, metrics.homogeneity_score(label1, label2),
                                                metrics.completeness_score(label1, label2),
                                                metrics.normalized_mutual_info_score(label1, label2),
                                                metrics.adjusted_rand_score(label1, label2))
开发者ID:Wangmoaza,项目名称:tetra,代码行数:29,代码来源:species_reduction.py


示例8: get_normalized_mutual_info

    def get_normalized_mutual_info(standard_file, prediction_file, isjson=False, isint=False):
        """Get normalized mutual information (NMI) [Strehl2002]_.

        Parameters
        ----------
        standard_file   : str
            The ground truth or standard filename.
        prediction_file : str
            The analyzed or predicted filename.
        isjson          : bool
            The flag for standard_file.
        isint           : bool
            The flag for value in prediction_file.

        Returns
        -------
        normalized_mutual_info  : float
            Normalized mutual information score.

        References
        ----------
        .. [Strehl2002] Alexander Strehl and Joydeep Ghosh. Cluster ensembles A knowledge reuse framework
                        for combining multiple partitions. Journal of Machine Learning Research,
                        3(Dec):583-617, 2002.
        """
        if isjson:
            standard_data = AbstractionUtility.read_json(standard_file)
            standard_labels = standard_data.values()
        else:
            standard_labels = ExternalEvaluation.get_evaluated(standard_file)

        prediction_labels = ExternalEvaluation.get_evaluated(prediction_file, isint=isint)
        normalized_mutual_info = metrics.normalized_mutual_info_score(standard_labels, prediction_labels)

        return normalized_mutual_info
开发者ID:studiawan,项目名称:pygraphc,代码行数:35,代码来源:ExternalEvaluation.py


示例9: evaluate

 def evaluate(self):
     ARI = round(metrics.adjusted_rand_score(self.labels, self.pred), 4)
     AMI = round(metrics.adjusted_mutual_info_score(self.labels, self.pred), 4)
     NMI = round(metrics.normalized_mutual_info_score(self.labels, self.pred), 4)
     print("Adjusted Rand index:", "%.4f" % ARI)
     print("Adjusted Mutual Information:", "%.4f" % AMI)
     print("Normalized Mutual Information:", "%.4f" % NMI)
开发者ID:RokIvansek,项目名称:Spectral-clustering-HW,代码行数:7,代码来源:spectral.py


示例10: pam_augmented_fit

  def pam_augmented_fit(self, feat, y, loss_mult):
    pam_max_iter = 5
    self._check_init_args()
    feat = self._check_array(feat)
    pdists = pairwise_distance_np(feat)
    self.loss_augmented_fit(feat, y, loss_mult)
    print('PAM -1 (before PAM): score: %f, score_aug: %f' % (
        self.score_, self.score_aug_))
    # Initialize from loss augmented facility location
    subset = self.center_ics_
    for iter_ in range(pam_max_iter):
      # update the cluster assignment
      cluster_ics = self._get_cluster_ics(pdists, subset)
      # update the medoid for each clusters
      self._augmented_update_medoid_ics_in_place(pdists, y, cluster_ics, subset,
                                                 loss_mult)
      self.score_ = np.float32(-1.0) * self._get_facility_distance(
          pdists, subset)
      self.score_aug_ = self.score_ + loss_mult * (
          1.0 - metrics.normalized_mutual_info_score(
              y, self._get_cluster_ics(pdists, subset)))
      self.score_aug_ = self.score_aug_.astype(np.float32)
      print('PAM iter: %d, score: %f, score_aug: %f' % (iter_, self.score_,
                                                        self.score_aug_))

    self.center_ics_ = subset
    self.labels_ = cluster_ics
    return self
开发者ID:AbhinavJain13,项目名称:tensorflow,代码行数:28,代码来源:metric_loss_ops_test.py


示例11: test_spectral_embedding_two_components

def test_spectral_embedding_two_components(seed=36):
    """Test spectral embedding with two components"""
    random_state = np.random.RandomState(seed)
    n_sample = 100
    affinity = np.zeros(shape=[n_sample * 2,
                               n_sample * 2])
    # first component
    affinity[0:n_sample,
             0:n_sample] = np.abs(random_state.randn(n_sample, n_sample)) + 2
    # second component
    affinity[n_sample::,
             n_sample::] = np.abs(random_state.randn(n_sample, n_sample)) + 2
    # connection
    affinity[0, n_sample + 1] = 1
    affinity[n_sample + 1, 0] = 1
    affinity.flat[::2 * n_sample + 1] = 0
    affinity = 0.5 * (affinity + affinity.T)

    true_label = np.zeros(shape=2 * n_sample)
    true_label[0:n_sample] = 1

    se_precomp = SpectralEmbedding(n_components=1, affinity="precomputed",
                                   random_state=np.random.RandomState(seed))
    embedded_coordinate = se_precomp.fit_transform(affinity)
    # Some numpy versions are touchy with types
    embedded_coordinate = \
        se_precomp.fit_transform(affinity.astype(np.float32))
    # thresholding on the first components using 0.
    label_ = np.array(embedded_coordinate.ravel() < 0, dtype="float")
    assert_equal(normalized_mutual_info_score(true_label, label_), 1.0)
开发者ID:amitmse,项目名称:scikit-learn,代码行数:30,代码来源:test_spectral_embedding.py


示例12: calculate_nmi_kmeans

def calculate_nmi_kmeans(H, correct_label):
    km = KMeans(H.shape[1])
    try:
        com = km.fit_predict(H)
    except:
        com = [0] * H.shape[0]
    nmi = normalized_mutual_info_score(com, correct_label)
    return nmi
开发者ID:nukui-s,项目名称:sscomdetection,代码行数:8,代码来源:loss_per_iter.py


示例13: cluster_metrics

def cluster_metrics(labels_1, labels_2):
    print("\n".join(
        [
            "Normalized Mutual Information: %f" % (normalized_mutual_info_score(labels_1, labels_2)),
            "Adjusted Rand Score: %f" % (adjusted_rand_score(labels_1, labels_2)),
            "Homogeneity: %f" % (homogeneity_score(labels_1, labels_2)),
            "Completeness: %f" % (completeness_score(labels_1, labels_2))
        ]
    ))
开发者ID:charlienewey,项目名称:penumbra-segmentation,代码行数:9,代码来源:gaussian.py


示例14: normalized_mutual_info_score_scorefunc

def normalized_mutual_info_score_scorefunc(X, y):

    scores = []
    pvals = []
    for col in range(X.shape[1]):
        scores.append(normalized_mutual_info_score(X[:, col], y))
        pvals.append(1)

    return np.array(scores), np.array(pvals)
开发者ID:JudoWill,项目名称:PySeqUtils,代码行数:9,代码来源:SeqSklearn.py


示例15: model_metrics

def model_metrics(model, X, y, batch_size):
    loss_and_metrics = model.evaluate(X, y, batch_size=batch_size)
    predicted_classes = model.predict_classes(X, batch_size=batch_size)
    predicted_probas = model.predict_proba(X, batch_size=batch_size)

    accuracy = loss_and_metrics[1]
    roc_auc = roc_auc_score(y, predicted_probas)
    nmi = normalized_mutual_info_score(y, predicted_classes.flatten())
    return accuracy, roc_auc, nmi
开发者ID:bryandeng,项目名称:f0-cm,代码行数:9,代码来源:extra_testing.py


示例16: calc

def calc(gr_truth, predicted):
    # precision, recall, fscore, _ = score(gr_truth, predicted, average='micro')
    # print('precision: {}'.format(precision))
    # print('recall: {}'.format(recall))
    # print('fscore: {}'.format(fscore))
    # print('jaccard: {}'.format(jaccard_similarity_score(gr_truth, predicted, normalize=True)))
    # print('mutual: {}'.format(mutual_info_score(gr_truth, predicted)))
    # print('mutual adj: {}'.format(adjusted_mutual_info_score(gr_truth, predicted)))
    # print('mutual norm: {}'.format(normalized_mutual_info_score(gr_truth, predicted)))
    return normalized_mutual_info_score(gr_truth, predicted)
开发者ID:msionkin,项目名称:community-detection,代码行数:10,代码来源:metrics.py


示例17: observe_correlations

def observe_correlations(nrows=1000000):
    training_file = "data/train.csv"
    dataframe = pd.read_csv(training_file,nrows=nrows,header=0)
    info_variable=pd.DataFrame(index=dataframe.columns[2:])
    info_variable["levels"]=dataframe.iloc[:,2:].apply(lambda t: np.unique(t).shape[0])
    info_variable["Entropy"]=dataframe.iloc[:,2:].apply(lambda t: entropy(t))
    info_variable["MutualInformation"]=dataframe.iloc[:,2:].apply(lambda t: metrics.normalized_mutual_info_score(dataframe["click"],t))
    info_variable["clustering"]=cluster_var(dataframe)
    info_variable=info_variable.sort("clustering")
    return info_variable
开发者ID:snaillians,项目名称:kaggle-click,代码行数:10,代码来源:click_utilities.py


示例18: mRMR

def mRMR(dfin, target, adjusted = False, n_features_to_select = 10):
    '''
    :param dfin: dataframe of features
    :param target: target (0,1)
    :return:
    '''

    df = dfin.copy()

    final_features = []
    importance = []

    if n_features_to_select > df.shape[1]:
        n_features_to_select = df.shape[1]-1

    #Iteratively create a subset of final features the feature that maximizes
    # MI(C, X_j) - (1/(m-1) * SUM_i (MI(X_i, X_j))
    #where C = the ultimate target, X_i = the feature to test, and X_j = features already selected
    while len(final_features) < n_features_to_select:
        features = np.array([c for c in df.columns.tolist() if c not in final_features])

        if adjusted:
            mi = np.array([adjusted_mutual_info_score(df[f], target) for f in features])
            if len(final_features) > 0:
                mr = np.array([normalized_mutual_info_score(df[x_j], df[x_i]) for x_j in features for x_i in features])
            else:
                mr = np.zeros(len(features))
        else:
            mi = [normalized_mutual_info_score(df[f], target) for f in features]
            if len(final_features) > 0:
                mr = np.array([normalized_mutual_info_score(df[x_j], df[x_i]) for x_j in features for x_i in features])
            else:
                mr = np.zeros(len(features))

        if len(final_features) > 0:
            mr = (1./(len(features) - 1)) * mr.reshape(len(features), len(features)).sum(axis = 1)

        mrmr = mi - mr
        final_features.append(features[mrmr == max(mrmr)][0])
        importance.append(max(mrmr))

    return final_features, importance
开发者ID:katiehamren,项目名称:ml_tools,代码行数:42,代码来源:uplift_feature_selection.py


示例19: test_pipeline_spectral_clustering

def test_pipeline_spectral_clustering(seed=36):
    # Test using pipeline to do spectral clustering
    random_state = np.random.RandomState(seed)
    se_rbf = SpectralEmbedding(n_components=n_clusters, affinity="rbf", random_state=random_state)
    se_knn = SpectralEmbedding(
        n_components=n_clusters, affinity="nearest_neighbors", n_neighbors=5, random_state=random_state
    )
    for se in [se_rbf, se_knn]:
        km = KMeans(n_clusters=n_clusters, random_state=random_state)
        km.fit(se.fit_transform(S))
        assert_array_almost_equal(normalized_mutual_info_score(km.labels_, true_labels), 1.0, 2)
开发者ID:BTY2684,项目名称:scikit-learn,代码行数:11,代码来源:test_spectral_embedding.py


示例20: compare_clusters

def compare_clusters(nn_clusters, tf_clusters):
    """prints some comparisons"""
    print('~~Adjusted mutual information: {}'.format(
        metrics.adjusted_mutual_info_score(nn_clusters.labels_,
                                           tf_clusters.labels_)))
    print('~~Normalized mutual information: {}'.format(
        metrics.normalized_mutual_info_score(nn_clusters.labels_,
                                             tf_clusters.labels_)))
    print('~~Adjusted Rand Index: {}'.format(
        metrics.adjusted_rand_score(nn_clusters.labels_,
                                    tf_clusters.labels_)))
开发者ID:PFCM,项目名称:423-project,代码行数:11,代码来源:sk_kmeans.py



注:本文中的sklearn.metrics.normalized_mutual_info_score函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python metrics.pairwise_distances函数代码示例发布时间:2022-05-27
下一篇:
Python metrics.mutual_info_score函数代码示例发布时间:2022-05-27
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap