西瓜书《机器学习》课后答案——Chapter3_3.4

本文选取Iris数据集,通过对比10折交叉验证与留一法,分析了两种评估方法在逻辑回归错误率上的表现。在(X1, X2), (X1, X3), (X2, X3)的不同组合下,两种方法得出的错误率。在使用梯度下降法训练LR模型时,学习率的选择至关重要,不恰当的学习率可能导致错误率上升。文章还提及使用Newton法时遇到的奇异矩阵错误,探讨了二阶导数矩阵不可逆时Newton法的迭代问题。" 93225599,1406541,打造高效数学笔记:Neovim+Typora组合使用指南,"['Markdown编辑器', 'LaTeX公式', '笔记工具', 'Neovim配置', 'VScode插件']
摘要由CSDN通过智能技术生成

选择两个UCI数据集,比较10折交叉验证法和留一法所估计出的对率回归的错误率。
解答:
从UCI网站上选择了Iris数据集,这个数据集总共分为3类,每类50个样本,每个实例有四个属性。数据保存在bezdekIris.txt文件中,举一个样本为例:

5.1,3.5,1.4,0.2,Iris-setosa

下面依次以(X1, X2), (X1, X3), (X2, X3)为训练数据应用十折交叉验证法和留一法:

"""
Author: Victoria
Created on: 2017.9.15 11:00
"""
import numpy as np
import matplotlib.pyplot as plt

def readData():
    """
    Read data from txt file.
    Return:
        X1, y1, X2, y2, X3, y3: X is list with shape [50, 4],
                                y is list with shape [50,]
    """
    X1 = []
    y1 = []
    X2 = []
    y2 = []
    X3 = []
    y3 = []
    #read data from txt file
    with open("bezdekIris.txt", "r") as f:
        for line in f:
            x = []
            iris = line.strip().split(",")
            for attr in iris[0:4]:
                x.append(float(attr))

            if iris[4]=="Iris-setosa":
                X1.append(x)
                y1.append(1)
            elif iris[4]=="Iris-versicolor":
                X2.append(x)
                y2.append(2)
            else
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值