工作进度报告 第一周

一、完成的事项

1.复习了Part_1_DNN_revisit 全连接网络

二、笔记及代码

1.面向对象编程

概念

面向对象的程序设计把计算机程序视为一组对象的集合,而每个对象都可以接收其他对象发过来的消息,并处理这些消息,计算机程序的执行就是一系列消息在各个对象之间传递

编程

如果要处理学生的成绩表,并打印成绩

class Student(object):

    def __init__(self, name, score):
        self.name = name
        self.score = score

    def print_score(self):
        print('%s: %s' % (self.name, self.score))
bart = Student('Bart Simpson', 59)
lisa = Student('Lisa Simpson', 87)
bart.print_score()
lisa.print_score()

注意
代码中的 class Student(object): ,是先将student定义为对象,而后才能进行操作。

2.机器学习:数据预处理之独热编码(One-Hot)

概念

One-Hot编码,又称为一位有效编码,主要是采用N位状态寄存器来对N个状态进行编码,每个状态都由他独立的寄存器位,并且在任意时候只有一位有效。

One-Hot编码是分类变量作为二进制向量的表示。这首先要求将分类值映射到整数值。然后,每个整数值被表示为二进制向量,除了整数的索引之外,它都是零值,它被标记为1。

实际案例

from sklearn import preprocessing
enc = preprocessing.OneHotEncoder()
enc.fit([[0, 0, 3], [1, 1, 0], [0, 2, 1], [1, 0, 2]])    # fit来学习编码

array = enc.transform([[0, 1, 3]]).toarray()    # 进行编码
print (array)

array([[1., 0., 0., 1., 0., 0., 0., 0., 1.]])

分析

数据矩阵是4*3,即4个数据,3个特征维度。

0 0 3
1 1 0
0 2 1
1 0 2

观察左边的数据矩阵,第一列为第一个特征维度,有两种取值0\1. 所 以对应编码方式为10 、01

同理,第二列为第二个特征维度,有三种取值0\1\2,所以对应编码方式为100、010、001

同理,第三列为第三个特征维度,有四中取值0\1\2\3,所以对应编码方式为1000、0100、0010、0001

再来看要进行编码的参数[0 , 1, 3], 0作为第一个特征编码为10, 1作为第二个特征编码为010, 3作为第三个特征编码为0001. 故此编码结果为 1,0, 0,1,0, 0,0,0,1

3.小心处理numpy矩阵

a = np.array([1,2,3,4])
b = a

b[0] = 100
print(a)

# 简单地可以理解为指针
[100   2   3   4]
a = np.array([1,2,3,4])
b = a.copy()

b[0] = 100
print(a)
[1 2 3 4]

分析
使用矩阵时使用 = 要小心

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值