• Python学习笔记(五)


    这段是机器学习实战中第十二章的代码:

    #key=lambdap:p[1] 是匿名函数用来作为排序的依据,就是对localD.items()所返回的
    #键值对{元素–出现次数}作为p,而p[1]就是出现次数,那么就是对出现次数进行排序,
    #reverse=True就是按照降序排列
    #[v[0] for v in sorted()] 是指取出sorted()所返回的序列中的每一个元素的索引为0的部分来组成一个列表,
    #那么就是取出排完序之后的元素部分来组成列表。
    ordered_items = [v[0] for v in sorted(local_dataset.items(), key=lambda p: p[1], reverse=True)]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    有点顶,接触这些函数嵌套的。( •̀ ω •́ )✧

    函数返回值:
    初学者只需要记住函数要有返回值即可。
    我记得C语言函数要有返回值,这样就能判断函数是否正常执行了。看代码的时候突然想起来了,所以搜了一下,Python好像也有这个要求。

    这段是机器学习实战中第十三章的代码:

    # argsort()函数是对数组中的元素进行从小到大排序,并返回相应序列元素的数组下标。
     eigValInd = argsort(eigVals)
     #注意这里的写法,实际上是从倒数第一个(也就是最大的)往左总计N个值           
     eigValInd = eigValInd[:-(topNfeat+1):-1]
     #得出经过筛选的特征向量,由最大到最小排列
     redEigVects = eigVects[:,eigValInd]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    redEigVects = eigVects[:,eigValInd]这个用法有点看不懂
    明白了,大致上是:取出eigvects中的第eigValInd[0]列,第eigValInd[1]列,直到eigValInd值取完。(✪ω✪)!!!

    #np.isnan()函数判断一个数组各个元素是否为nan,并返回相同维度对应的bool数组
    #nonzero()函数返回数组中不为False(0)的元素对应的索引
    meanVal = mean(datMat[nonzero(~isnan(datMat[:,i].A))[0],i])
    #将值为NaN的替换为平均值
    datMat[nonzero(isnan(datMat[:,i].A))[0],i] = meanVal  
    
    • 1
    • 2
    • 3
    • 4
    • 5

    meanVal = mean(datMat[nonzero(~isnan(datMat[:,i].A))[0],i])
    这代码有点漂亮,一环套一环。nice!!(≖ᴗ≖)✧、

    为什么是错的?在这里插入图片描述
    数据结构哪里理解的有问题吗??
    问题很简单,不能直接赋值。使用append就OK了。就这么简单。 o(*≧▽≦)ツ┏━┓

    函数定义的时候,如果第一个参数使用了关键字绑定,后面的参数也必须使用关键字绑定!

    # 找出已评分物品那一列、和未评分物品这一列中,都被评过分的行号
     nonzero(logical_and(dataMat[:,item].A>0, dataMat[:,j].A>0))[0]
    
    • 1
    • 2

    logical_and 是逻辑与。
    nonzero(a)函数一般返回两行array()。如果mat()一下,就是个2*N 的矩阵。N 表示的是矩阵a中不为0的元素个数

    eyes()输出对角矩阵

  • 相关阅读:
    【C++】String类基本接口介绍(多看英文文档)
    imu测试--UDP、PTP
    原生HTML Select下拉多选 + vue
    Linux安装和卸载JDK8详解
    Springboot萌宠社交分享系统的设计与实现hfdwz计算机毕业设计-课程设计-期末作业-毕设程序代做
    尚硅谷Flume(仅有基础)
    数据库设计 Relational Language
    使用QMetaObject::invokeMethod来发射信号
    城市公安可视化大数据展示平台预测预警,防患未然
    华为鸿蒙4谷歌GMS安装教学
  • 原文地址:https://blog.csdn.net/qq_35021992/article/details/126813314