Python学习--Machine-Learning 吴恩达机器学习编程作业 (第二周)

Machine-Learning 编程作业

Programming Exercise 2:Logistic Regression

1. 逻辑回归
1.1 读取数据并显示
1.2 定义代价函数
1.3 定义梯度下降函数
1.4 计算数据集的预测能力
2. 正则化逻辑回归
2.1 读取数据并显示
2.2 定义代价函数
2.3 定义梯度下降函数
2.4 计算数据集的预测能力
3. 调用sklearn库实现逻辑回归
作业文件打包如下: 链接:https://pan.baidu.com/s/1S6-q29v_zYWUXugWAZk-zg 提取码:h20r

逻辑回归

习题里描述这是构建一个逻辑回归模型来预测学生是否被大学录取的问题。逻辑回归虽然叫做回归,但实质上是一个分类算法,这个作业题算是一个简单应用于二分类的问题,且大致过程与我们做过的线性回归类似。
1.1 读取数据并显示

#!/usr/bin/env python
# -*- coding:utf-8 -*-
#逻辑回归

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import scipy.optimize as opt

Path = "ex2data1.txt"
data = pd.read_csv(Path, header=None, names=['exam1','exam2','Admitted'])
print(data.head())

positive = data[data['Admitted'].isin([1])]
# print(positive.shape)
negative = data[data['Admitted'].isin([0])]
# print(negative.shape)
fig, ax = plt.subplots(figsize=(12,8))  #定义图的大小
ax.scatter(positive['exam1'], positive['exam2'], s=50,  c='b', marker='o', label='Admitted')    #具体作用参见scatter函数参数设置
ax.scatter(negative['exam1'], negative['exam2'], s=50,  c='r', marker='x', label='Not Admitted')
ax.legend()  #在图形中加入颜色不同的备注
ax.set_xlabel('exam1 Score')
ax.set_ylabel('exam2 Score')
plt.show()

运行结果如下:
在这里插入图片描述
1.2 定义代价函数
根据视频中老师讲的内容,需要注意以下几点:

  1. 逻辑回归与线性回归的假设函数不同,需要引入Sigmod函数。
  2. 逻辑回归的代价函数与线性回归不同。若沿用线性回归模型的代价函数,将会得到一个非凸函数,导致代价函数有许多局部最小值,将影响梯度下降法寻找全局最优解。

基于以上几点,逻辑回归的代价函数最终可以表示为:
在这里插入图片描述
或:

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值