吴恩达机器学习编程作业:logistic 回归 (python)

这篇博客记录了作者初次编写机器学习代码的经历,主要聚焦在Logistic回归上。作者参考了其他资源并进行了代码实现,通过scipy.optimize.minimize方法和自定义迭代更新theta的方式对比效果。在20万次迭代后得到了较好的决策边界。在过程中遇到了numpy的dot运算理解问题以及如何绘制cost函数变化曲线的困扰,其中还提到了可能存在的零除警告问题。
摘要由CSDN通过智能技术生成

吴恩达机器学习编程作业:logistic 回归 (python)

参考代码:

https://blog.csdn.net/zy1337602899/article/details/84777396
初次写机器学习的代码,大部分参照了链接文章中的代码,稍有改动

源代码

// An highlighted block
import matplotlib.pyplot as plt
import numpy as np
import scipy.optimize as opt
from sklearn.metrics import classification_report
import pandas as pd
from sklearn import linear_model

#获取原始数据
def raw_data(path):
    data = pd.read_csv(path, names=['exam1','exam2','admit'])
    return data

#绘制原始数据
def draw_data(data):
    accept = data[data['admit'] == 1]
    refuse = data[data['admit'] == 0]
    plt.scatter(accept['exam1'], accept['exam2'], c='g', label='admit')
    plt.scatter(refuse['exam1'], refuse['exam2'], c='r', label='refuse')
    plt.title('admission')
    plt.xlabel('exam1')
    plt.ylabel('exam2')
    return plt
#sigmoid函数
def sigmoid(z):
    return 1/(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值