赞
踩
我们将建立一个逻辑回归模型来预测一个学生是否被大学录取。假设你是一个大学系的管理员,你想根据两次考试的结果来决定每个申请人的录取机会。你有以前的申请人的历史数据,你可以用它作为逻辑回归的训练集。对于每一个培训例子,你有两个考试的申请人的分数和录取决定。为了做到这一点,我们将建立一个分类模型,根据考试成绩估计入学概率。
- #导入机器学习三大件:Numpy, Pandas, Matplotlib
- import numpy as np
- import pandas as pd
- import matplotlib
- import matplotlib.pyplot as plt
- %matplotlib inline
-
- for i in [np, pd, matplotlib]:
- print(i.__version__)
输出:
- 1.17.4
- 0.25.3
- 3.1.2
- import os
-
- path = 'data' + os.sep + 'LogiReg_data.txt'
- pdData = pd.read_csv(path, header=None, names=['Exam1', 'Exam2', 'Admitted'])
- print(pdData.head(8))
- print("Data shape:",pdData.shape)
输出:
- Exam1 Exam2 Admitted
- 0 34.623660 78.024693 0
- 1 30.286711 43.894998 0
- 2 35.847409 72.902198 0
- 3 60.182599 86.308552 1
- 4 79.032736 75.344376 1
- 5 45.083277 56.316372 0
- 6 61.106665 96.511426 1
- 7 75.024746 46.554014 1
- Data shape: (100, 3)
- positive = pdData[pdData['Admitted'] == 1] # 返回Admitted列值为1的样本
- negative = pdData[pdData['Admitted'] == 0] # 返回Admitted列值为1的样本
-
- fig, ax = plt.subplots(figsize=(10,5))
- ax.scatter(positive['Exam1'], positive['Exam2'], s=30, c='b', marker='o', label='Admitted')
- ax.scatter(negative['Exam1'], negative['Exam2'], s=30, c='r', marker='x', label='Not Admitted')
- ax.legend()
- ax.set_xlabel('Exam1 Score')
- ax.set_ylabel('Exam2 Score')
输出:
从上图可以看出:数据具有一定的可区分性。红色点(负样本)总体位于左下方,而蓝色点(正样本)总体位于右上方。
在模型构建中为了方便书写和计算,将偏置项用W0表示,因此在数据所有样本的第一列插入1,即b=W0*1
- try:
- pdData.insert(0, 'Ones', 1) # 写到try...except结构中以防第二次执行时报错
- except:
- pass
-
- orig_data = pdData.as_matrix() # 将Pandas的DataFrame转换成矩阵形成
- print(type(orig_data))
- print(orig_data.shape)
- cols = orig_data.shape[1]
- X = orig_data[:,0:cols-1]
- y = orig_data[:,cols-1:cols]
-
- print("X shape:",X.shape)
- print("y shape:",y.shape)
-
- #X = np.matrix(X.values)
- #y = np.matrix(data.iloc[:,3:4].values) #np.array(y.values)
- W = np.zeros([3, 1])
- print("W shape:",W.shape)
输出:
- <class 'numpy.ndarray'>
- (100, 4)
- X shape: (100, 3)
- y shape: (100, 1)
- W shape: (3, 1)
根据X, y, W的shape以及矩阵乘法相关知识可得:XW=y
目标:建立逻辑回归模型,即求解出参数
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。