1.dict is not callable
tree是一个字典类型。
tree("left") -> tree["left"]
 
2.list indices must be integers or slices, not tuple
dataset是原生的python数组,是list类型(python原生数组叫list类型)
errorMerge = sum(power(dataset[:, -1] - treeMean, 2))
尝试使用numpy里面的array索引方式来索引原生数组,将会爆此错误。
 
3.'NoneType' object is not iterable
代码返回值为None, value;直接处理返回值第一个值将会爆此错误;
 
4.shapes (1,1) and (4,1) not aligned: 1 (dim 1) != 4 (dim 0)
# 基于给出的dataset,(新)生成K个样本,用于做质点
def randCentoids(dataset, k):
n = shape(dataset)[1]
centoids = mat(zeros((k, n))) for j in range(n):
minJ = min(dataset[:, j])
maxJ = max(dataset[:, j])
rangJ = maxJ - minJ
centoids[:, j] = mat(minJ + rangJ * random.rand(k, 1)) return centoids
这个错误的意思是作为矩阵相乘,行列数无法直接相乘,因为min()和max返回的都是numpy.matrix类型;为什么会返回矩阵类型?因为dataset就是matrix类型,所以返回的虽然是单值,但是也会被认为是矩阵类型。
rangJ = float(maxJ - minJ)
强转为float之后,问题解决。
 
5.could not broadcast input array from shape (2) into shape (1,1)
 sampleCenterRecord = mat(zeros((m, 1)))
...
dist = distCaculate(centroids[j, :], dataset[i, :])
sampleCenterRecord的维数定义有问题,改为(m, 2)问题解决。
6.IndexError: index 0 is out of bounds for axis 0 with size 0
 os.chdir("D:\\galaxy\\aliyunsvn\\code\\MLInAction\\dataset")
dataArr = loadDataSet("ex00.txt")
dataMat = mat(dataArr)
value = [[0.996757]]
feature = 0
dataMat[nonzero(dataMat[:, feature] > value)[0], :][0]

这个是因为dataMat中满足这个条件的日志的数量为0,所以最后索引[0]回报数组越界异常。

 7.unhashable type: 'numpy.ndarray'
 for splitVal in set(dataSet[:,featIndex].A):
...
之前是异常是unhashable type: 'matrix',后来添加A想要尝试转化为Array看看依然报错。
这异常的意思是set里面只支持python原生的数据类型,对于numpy的对象无法识别(处理)。所以unhashable,本质就是参数类型不匹配。
  7.only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices

这个异常说明了索引类型有问题:

overLap = nonzero(logical_and(dataMat[:, item].A>0, dataMat[:, j].A>0))[0]

因为item是从参数过来,但是外部调用的时候这个参数误传为一个function,故报错。

8.data type must provide an itemsize  xTx = xMat.T * xMat  这个执行的时候爆的错,原因就是在loadDataset的时候没有进行发咯at转化,直接处理,导致字符串之间矩阵运算导致异常。需要转化为float,问题解决

 def loadDataset(fileName):
X = []
y = []
for line in open(fileName):
values = line.split()
lineArr = []
7 lineArr.append(float(values[0]))
8 lineArr.append(float(values[1]))
X.append(lineArr)
y.append(float(values[-1]))
return X, y

 9. unhashable type: 'matrix'

 for splitValue in set(dataset[:, featureIndex]):
... ...

  这是因为在python里面set其实是对于其里面的元素取Hash值然后根据hashz值进行排序;但是如果是对于numpy.ndarry/ Matrix等被封装的类型则无法获取其hash值,set里面的元素只能是原生类型。作如下处理问题解决:

 for splitValue in set(dataset[:, featureIndex]).A.flatten().tolist():
... ...

 10. ValueError: Unknown label type: 'continuous'

发生这个异常是因为我使用了RandomForestClassification,但是y值却使用了float,所以报错;作为分类器的y值必须是int,否则怎么分类啊。

Python问题汇总的更多相关文章

  1. 2013流行Python项目汇总

    2013流行Python项目汇总 转自:http://www.kankanews.com/ICkengine/archives/102963.shtml Python作为程序员的宠儿,越来越得到人们的 ...

  2. Python数据结构汇总

    Python数据结构汇总 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.线性数据结构 1>.列表(List) 在内存空间中是连续地址,查询速度快,修改也快,但不利于频繁新 ...

  3. (转)python资料汇总(建议收藏)零基础必看

    摘要:没料到在悟空问答的回答大受欢迎,为方便朋友,重新整理汇总,内容包括长期必备.入门教程.练手项目.学习视频. 一.长期必备. 1. StackOverflow,是疑难解答.bug排除必备网站,任何 ...

  4. 老猿Python博文汇总目录--按标题排序

    ☞ ░ 前往老猿Python博文目录 ░ 本部分为老猿CSDN全部博文的汇总(含转载部分),所有文章在此未进行归类,仅按文章标题排序,方便关键字查找.本部分内容将至少以周为单位定期更新,可能不包含发布 ...

  5. 流行的Python项目汇总

    年有哪些流行的Python项目呢?下面,我们一起来看下. 一.测试和调试 python_koans :Python Koans 算 “Ruby Koans” 的一部分,作为交互式教程,可以学习 TDD ...

  6. Python资源汇总

    Python 目录: 管理面板 算法和设计模式 反垃圾邮件 资产管理 音频 验证 构建工具 缓存 ChatOps工具 CMS 代码分析和Linter 命令行工具 兼容性 计算机视觉 并发和并行性 组态 ...

  7. Python资料汇总(建议收藏)

    整理汇总,内容包括长期必备.入门教程.练手项目.学习视频. 一.长期必备. 1. StackOverflow,是疑难解答.bug排除必备网站,任何编程问题请第一时间到此网站查找. https://st ...

  8. Python正则表达式汇总

    判断是否是整数或小数,在网上看到一个方法: type(eval(")) == int type(eval("123.23")) == float 后来又看到<Pyt ...

  9. python 正则表达式汇总

    一. 正则表达式基础 1.1.概念介绍 正则表达式是用于处理字符串的强大工具,它并不是Python的一部分. 其他编程语言中也有正则表达式的概念,区别只在于不同的编程语言实现支持的语法数量不同. 它拥 ...

  10. Python——代码汇总

    1.三级菜单 2.Windows启动服务 3.常用的Python实现 4.字典的基本操作

随机推荐

  1. 『转』VC++ webbrowser函数使用范例

    /*============================说明部分================================= 实现一下函数需包含头文件 #include <Winine ...

  2. Python 通过队列实现一个生产者消费者模型

    import time from multiprocessing import Process,Queue #生产者 def producer(q): for i in range(10): time ...

  3. foreman源NO_PUBKEY 6F8600B9563278F6

    /etc/apt/sources.list.d/foreman.list # foreman deb http://deb.theforeman.org xenial stable 一条命令解决 ap ...

  4. Springmvc+WebSocket整合

    WebSocket是为解决客户端与服务端实时通信而产生的技术.其本质是先通过HTTP/HTTPS协议进行握手后创建一个用于交换数据的TCP连接,此后服务端与客户端通过此TCP连接进行实时通信. 以前我 ...

  5. 河工大玲珑校赛重现の rqy的键盘

    题目传送门:http://218.28.220.249:50015/JudgeOnline/problem.php?id=1263 1263: rqy的键盘 时间限制: 1 秒  内存限制: 128 ...

  6. Spring Boot 揭秘与实战(六) 消息队列篇 - RabbitMQ

    文章目录 1. 什么是 RabitMQ 2. Spring Boot 整合 RabbitMQ 3. 实战演练4. 源代码 3.1. 一个简单的实战开始 3.1.1. Configuration 3.1 ...

  7. re.compile

    详情见 >>> import re >>> s = "adfad asdfasdf asdfas asdfawef asd adsfas " & ...

  8. PAT-L2-007 家庭房产 (union-find) 小数据 没有什么是暴力解决不了的!!

    题目分析: 典型的union-find 算法 想法: 先不着急 union 因为每一个人的房产信息不知道 所以先输入所有信息 同时保留与自己有关系的每一个人 待初始化每一个人的房产信息后,再union ...

  9. PS不显示图片

    最近安装Adobe AIR的时候因为安装不了,删除了相关的配置文件,安装了Adobe AIR之后,用PS打开图片的时候发现不显示图片了,如图: 最后通过万能的百度了解到了是笔记本都采用了双显卡(i3. ...

  10. Linux配置java环境变量 【随手记】

    JAVA环境变量 1. PATH环境变量.作用是指定命令搜索路径,在shell下面执行命令时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序. 2. CLASSPATH环境变量.作用是 ...