第二步

今天跟着一个课程看了李航的《统计学习方法》,主要看了朴素贝叶斯和逻辑回归的基础知识和相应代码,仅限于回顾一下自己在代码中学到的东西,说的很多地方一定有错误,望谅解,多指正。
因为不太会贴代码,代码地址是https://github.com/wzyonggege/statistical-learning-method。
学到的地方:
1、
df = pd.DataFrame(iris.data, columns=iris.feature_names)
data = np.array(df.iloc[:, :])
因为df是dataframe,只能按照标签索引,所以用df.iloc[:, :]取出所有数据转换成array,方便对data进行操作
2、
summaries = [(self.mean(i), self.stdev(i)) for i in zip(*train_data)] 
zip的作用是将对应位置的数据连接,经常用在连接特征和标签。*的作用是表示不清楚train_data的参数个数。代码中因为train_data是将数组通过append添加进train_data里面,则对于zip(*train_data)等于将每个数组的对应位置连接,当输入的数组是特征向量时,for i in zip(*train_data),i对应就是N个特征向量的第i个特征组成的。
3、
label = sorted(self.calculate_probabilities(X_test).items(), key=lambda x: x[-1])[-1][0]
sorted函数是排序函数,默认升序。key=lambda x: x[-1],lambda表示匿名函数,代表的是一种运算,x: x[-1]表示输入x,输出x[-1](我的理解是输入x,然后sort,然后输出sorted的x的最后值);[-1][0]是因为self.calculate_probabilities的输出是字典,取出最后的字典的键
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值