正规化逻辑回归-非线性决策边界(python3版本)

这篇博客介绍了如何利用正规化的逻辑回归模型来判断芯片的质量,针对线性不可分的数据,通过将二维特征映射到多维特征,实现了决策边界的构造。文章详细阐述了数据预处理、逻辑回归函数定义、梯度下降法以及预测函数的实现,并展示了不同正则化参数λ对决策边界和准确率的影响。
摘要由CSDN通过智能技术生成

现有芯片制造厂需对一批芯片进行质量检查。制造厂对芯片进行两个不同的性能测试:microchip_test_1、microchip_test_2,那么,产品经理如何通过这两个测试数据去判断芯片的质量。通过正规化的逻辑回归模型(Regularized logistic regression)可以完成此任务。

  • 导入所需的库

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
  • 导入数据

fpath  = r'../ex2data2.txt'
df = pd.read_table(fpath, sep=',', header=None)
df.rename(columns={
   0:'microchip_test_1', 1:'microchip_test_2', 2:'label'}, inplace=True)
  • 原始数据可视化

fig = plt.figure(figsize=(8,6))
ax = fig.add_subplot(111)
ax.scatter(df[df['label']==1]['microchip_test_1'], df[df['label']==1]['microchip_test_2'],\
           marker='+', color='k', label='y=1 Accpeted')
ax.scatter(df[df['label']==0]['microchip_test_1'], df[df['label']==0]['microchip_test_2'], \
           marker='o', color='y', edgecolors='k', label='y=0 Rejected')

ax.set(xlabel='Microchip Test 1', ylabel='Microchip Test 2', title='Figure 1: Plot of training data')
plt.legend()
  • 由下图可知,原始数据是线性不可分。这里是引用
  • 数据预处理

    • 对于线性不可分数据,直接利用原始数据的两个特征是无法将正例、负例分开;需要将二维特征映射到多维特征。本文将二维特征映射成28维特征,函数datas用于将二维数据映射成多维数据。 通过调用sklearn 中 PolynomialFeatures库可以实现上诉目的,本文此处通过自己写代码实现。
def datas(df, Maxpower):
    #x_mat
    x_1 = df.iloc[:,:1].values
    x_2 = df.iloc[:,1:2].values
    n = len(x_1)
    array_0 = np.ones([1,n])
    for powerNum in range(1, Maxpower+1):
        for power_index in range
  • 7
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值