我尝试从网站https://plot.ly/scikit-learn/plot-kmeans-silhouette-analysis/运行代码.当我运行它时,结果证明matplotlib模块已经不具有光谱属性.我读到inforum的另一个属性已被省略.我该如何更换?我已经尝试过c.get_cmp,cm.nipy_sepctral,plt.cm.spectral.但仍然是一个错误.这就是所有代码:

import plotly.plotly as py

import plotly.graph_objs as go

from plotly import tools

from __future__ import print_function

from sklearn.datasets import make_blobs

from sklearn.cluster import KMeans

from sklearn.metrics import silhouette_samples, silhouette_score

import matplotlib

import matplotlib.pyplot as plt

import matplotlib.cm as cm

import numpy as np

print(__doc__)

# This particular setting has one distinct cluster and 3 clusters placed close

# together.

X, y = make_blobs(n_samples=500,

n_features=2,

centers=4,

cluster_std=1,

center_box=(-10.0, 10.0),

shuffle=True,

random_state=1) # For reproducibility

range_n_clusters = [2, 3, 4, 5, 6]

figures = []

for n_clusters in range_n_clusters:

# Create a subplot with 1 row and 2 columns

fig = tools.make_subplots(rows=1, cols=2,

print_grid=False,

subplot_titles=('The silhouette plot for the various clusters.',

'The visualization of the clustered data.'))

# The 1st subplot is the silhouette plot

# The silhouette coefficient can range from -1, 1 but in this example all

# lie within [-0.1, 1]

fig['layout']['xaxis1'].update(title='The silhouette coefficient values',

range=[-0.1, 1])

# The (n_clusters+1)*10 is for inserting blank space between silhouette

# plots of individual clusters, to demarcate them clearly.

fig['layout']['yaxis1'].update(title='Cluster label',

showticklabels=False,

range=[0, len(X) + (n_clusters + 1) * 10])

# Initialize the clusterer with n_clusters value and a random generator

# seed of 10 for reproducibility.

clusterer = KMeans(n_clusters=n_clusters, random_state=10)

cluster_labels = clusterer.fit_predict(X)

# The silhouette_score gives the average value for all the samples.

# This gives a perspective into the density and separation of the formed

# clusters

silhouette_avg = silhouette_score(X, cluster_labels)

print("For n_clusters =", n_clusters,

"The average silhouette_score is :", silhouette_avg)

# Compute the silhouette scores for each sample

sample_silhouette_values = silhouette_samples(X, cluster_labels)

y_lower = 10

for i in range(n_clusters):

# Aggregate the silhouette scores for samples belonging to

# cluster i, and sort them

ith_cluster_silhouette_values = \

sample_silhouette_values[cluster_labels == i]

ith_cluster_silhouette_values.sort()

size_cluster_i = ith_cluster_silhouette_values.shape[0]

y_upper = y_lower + size_cluster_i

colors = cm.spectral(cluster_labels.astype(float) / n_clusters)

filled_area = go.Scatter(y=np.arange(y_lower, y_upper),

x=ith_cluster_silhouette_values,

mode='lines',

showlegend=False,

line=dict(width=0.5,

color=colors),

fill='tozerox')

fig.append_trace(filled_area, 1, 1)

# Compute the new y_lower for next plot

y_lower = y_upper + 10 # 10 for the 0 samples

# The vertical line for average silhouette score of all the values

axis_line = go.Scatter(x=[silhouette_avg],

y=[0, len(X) + (n_clusters + 1) * 10],

showlegend=False,

mode='lines',

line=dict(color="red", dash='dash',

width =1) )

fig.append_trace(axis_line, 1, 1)

# 2nd Plot showing the actual clusters formed

colors = matplotlib.colors.colorConverter.to_rgb(cm.spectral(float(i) / n_clusters))

colors = 'rgb'+str(colors)

clusters = go.Scatter(x=X[:, 0],

y=X[:, 1],

showlegend=False,

mode='markers',

marker=dict(color=colors,

size=4)

)

fig.append_trace(clusters, 1, 2)

# Labeling the clusters

centers_ = clusterer.cluster_centers_

# Draw white circles at cluster centers

centers = go.Scatter(x=centers_[:, 0],

y=centers_[:, 1],

showlegend=False,

mode='markers',

marker=dict(color='green', size=10,

line=dict(color='black',

width=1))

)

fig.append_trace(centers, 1, 2)

fig['layout']['xaxis2'].update(title='Feature space for the 1st feature',

zeroline=False)

fig['layout']['yaxis2'].update(title='Feature space for the 2nd feature',

zeroline=False)

fig['layout'].update(title="Silhouette analysis for KMeans clustering on sample data "

"with n_clusters = %d" % n_clusters)

figures.append(fig)

这是一个错误:

c:\python36\lib\site-packages\plotly\graph_objs\_deprecations.py:318: DeprecationWarning:

plotly.graph_objs.Font is deprecated.

Please replace it with one of the following more specific types

- plotly.graph_objs.layout.Font

- plotly.graph_objs.layout.hoverlabel.Font

- etc.

AttributeError Traceback (most recent call last)

in ()

47 y_upper = y_lower + size_cluster_i

48

---> 49 colors = cm.spectral(cluster_labels.astype(float) / n_clusters)

50

51 filled_area = go.Scatter(y=np.arange(y_lower, y_upper),

AttributeError: module 'matplotlib.cm' has no attribute 'spectral'

如何替换这些属性?尤其是线条color = cm.spectral(cluster_labels.astype(float)/ n_clusters)

python修复不了_python-如何修复cm.spectral(模块“ matplotlib.cm”...相关推荐

  1. python修改字体无效_python正则表达式修复网站文章字体不统一的解决方法

    网站的大框架下有定义的字体,包括字体大小和颜色等,用户发布文章的时候可能是从其他网站复制过来的文本,复制的过程也保留了字体描述信息.当文章在页面上显示的时候,默认先会使用文章中定义的字体,如果文章中字 ...

  2. python缩进符错误_python – 如何修复Pylint“错误的缩进”和PEP8 E121?

    您正在使用制表符而不是四个空格. 如果您使用四个空格而不是标签,那三种可能性是正确的: RULES_LIST = [('Name1', 1, 'Long string upto 40 chars'), ...

  3. python常用开放工具_python学习笔记16-各种模块和开放工具收集整理

    一.调试,性能,日志 Debugger: pdb Logger: logging Profilers: profile, hotshot, cProfile 调试模块 pdb 允许你设置(条件)断点, ...

  4. python库怎么绘画_python基础,安装并使用matplotlib库画图

    在学校时,常常使用 matlab,觉得它的一大好处就是画图非常方便,可以随时将关心的数据以图表的形式表现出来.现在经常用 python,也想把关心的数据,绘制成图表,怎么处理呢? 安装 matplot ...

  5. python正则表达式匹配模式_Python与正则表达式[0] - re 模块的正则表达式匹配

    正则表达式/ Regular Expression 目录 正则表达式RE(Regular Expression, Regexp, Regex),又称为正规表示法,正规表达式,规则表达式,常规表达式,常 ...

  6. python中sys用法_python中os和sys模块的区别与常用方法总结

    python 的 python中os和sys模块的区别与常用方法总结 前言 本文主要介绍了关于python中os和sys模块区别与常用方法的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看 ...

  7. python自己写包_Python将自己写的模块进行打包

    将项目打包成模块的想法来自于flask文档教程,这不是在PyCon上和阿明合了照嘛,这不得多看看人家的东西.有兴趣的可以看看文档的项目可安装化部分,作者将flask项目打包成一个包,使其可以再任何地方 ...

  8. python使用osgeo库_Python使用内置urllib模块或第三方库requests访问网络资源

    前言 更多内容,请访问我的 个人博客. Python 访问网络资源有很多方法,urllib, urllib2, urllib3, httplib, httplib2, requests ,现介绍如下两 ...

  9. python scikit learn 封装_python的scikit-learn的主要模块和基本使用

    在从事数据科学的人中,最常用的工具就是R和Python了,每个工具都有其利弊,但是Python在各方面都相对胜出一些,这是因为scikit-learn库实现了很多机器学习算法. 加载数据(Data L ...

最新文章

  1. CSS5:移动端页面(响应式)
  2. 对操作系统的五点感受--接口/进程/内存/磁盘管理/系统架构
  3. 最新emlog媒体范美化版v6.3.1
  4. WebServices中的SOAP究竟是什么东西?与http,xml,webservices的本质关系是什么?
  5. python beautifulsoup多线程分析抓取网页
  6. ASCSDK-------通用包接入文档(COCOS篇)
  7. 电线直径对照表_电线平方与直径对照表
  8. stl文件用proe怎么打开_stl格式怎么打开
  9. 如何保存html文件中的照片,如何保存网页上的文字和图片?
  10. 计算机c盘怎样重命名,讲解对C盘重命名中无法修改的处理的详细步骤
  11. python编程求100以内能被5整除之和_C语言,求100以内能被3整除或能被5整除的数的和...
  12. unity3D 下雨效果实现
  13. 含有一般疑问句的歌_一般将来时详解,想学好英语必须要掌握的一个最重要语法...
  14. execute、executeQuery、executeUpdate的用途及返回值
  15. ios上webview与浏览器webview
  16. 机器学习中,什么是线性和非线性?
  17. html5中如何让图片向下移动,如何调整HTML5的图像移动
  18. 《Kafka权威指南》读书笔记3 Kafka生产者
  19. 图解:各大互联网公司的邪恶本质
  20. mathtype断网

热门文章

  1. Javascript语法基础 - Javascript核心(一)
  2. leecode - 入门 -- 双指针总结
  3. Tomcat如果默认8080被占用修改端口号和查询端口号地址
  4. java盛最多水的容器_Leetcode刷题java之11. 盛最多水的容器(top100)
  5. 12bit的图像如何向8bit转化_光端机该如何配置?
  6. java jms消息队列_JMS消息队列ActiveMQ(发布/订阅模式)
  7. Ubuntu终端常用的快捷键,光标移动到开始位置
  8. 当碰到非ARC写的文件时在ARC环境下运行报错时解决办法
  9. Linux命令工具 top详解
  10. makefile从无到有