当前位置: 首页 > news >正文

机器学习实验 --- 逻辑回归

第1关:逻辑回归核心思想

任务描述

本关任务:根据本节课所学知识完成本关所设置的编程题


#encoding=utf8
import numpy as npdef sigmoid(t):'''完成sigmoid函数计算:param t: 负无穷到正无穷的实数:return: 转换后的概率值:可以考虑使用np.exp()函数'''#********** Begin **********#return 1.0/(1+np.exp(-t))#********** End **********#

第2关:逻辑回归的损失函数

任务描述

本关任务:根据本节课所学知识完成本关所设置的选择题。

在这里插入图片描述

第3关:梯度下降

任务描述

本关任务:用 Python 构建梯度下降算法,并求取目标函数最小值。


# -*- coding: utf-8 -*-import numpy as np
import warnings
warnings.filterwarnings("ignore")def gradient_descent(initial_theta,eta=0.05,n_iters=1000,epslion=1e-8):'''梯度下降:param initial_theta: 参数初始值,类型为float:param eta: 学习率,类型为float:param n_iters: 训练轮数,类型为int:param epslion: 容忍误差范围,类型为float:return: 训练后得到的参数'''#   请在此添加实现代码   ##********** Begin *********#theta = initial_thetai_iter = 0while i_iter < n_iters:gradient = 2*(theta-3)last_theta = thetatheta = theta - eta*gradientif(abs(theta-last_theta)<epslion):breaki_iter +=1return theta#********** End **********#

第4关:动手实现逻辑回归 - 癌细胞精准识别

任务描述

本关任务:使用逻辑回归算法建立一个模型,并通过梯度下降算法进行训练,得到一个能够准确对癌细胞进行识别的模型。


# -*- coding: utf-8 -*-import numpy as np
import warnings
warnings.filterwarnings("ignore")def sigmoid(x):'''sigmoid函数:param x: 转换前的输入:return: 转换后的概率'''return 1/(1+np.exp(-x))def fit(x,y,eta=1e-3,n_iters=10000):'''训练逻辑回归模型:param x: 训练集特征数据,类型为ndarray:param y: 训练集标签,类型为ndarray:param eta: 学习率,类型为float:param n_iters: 训练轮数,类型为int:return: 模型参数,类型为ndarray'''#   请在此添加实现代码   ##********** Begin *********#theta = np.zeros(x.shape[1])i_iter = 0while i_iter < n_iters:gradient = (sigmoid(x.dot(theta))-y).dot(x)theta = theta -eta*gradienti_iter += 1return theta#********** End **********#

第5关:手写数字识别

任务描述

本关任务:使用sklearn中的LogisticRegression类完成手写数字识别任务。


from sklearn.linear_model import LogisticRegressiondef digit_predict(train_image, train_label, test_image):'''实现功能:训练模型并输出预测结果:param train_sample: 包含多条训练样本的样本集,类型为ndarray,shape为[-1, 8, 8]:param train_label: 包含多条训练样本标签的标签集,类型为ndarray:param test_sample: 包含多条测试样本的测试集,类型为ndarry:return: test_sample对应的预测标签'''#************* Begin ************#flat_train_image = train_image.reshape((-1, 64))# 训练集标准化train_min = flat_train_image.min()train_max = flat_train_image.max()flat_train_image = (flat_train_image-train_min)/(train_max-train_min)# 测试集变形flat_test_image = test_image.reshape((-1, 64))# 测试集标准化test_min = flat_test_image.min()test_max = flat_test_image.max()flat_test_image = (flat_test_image - test_min) / (test_max - test_min)# 训练--预测rf = LogisticRegression(C=4.0)rf.fit(flat_train_image, train_label)return rf.predict(flat_test_image)#************* End **************#
http://www.lryc.cn/news/352926.html

相关文章:

  • 浅谈C++函数
  • 6.小程序页面布局 - 账单明细
  • 记录ES7.X更新数据的低级错误
  • 【简单介绍下链表基础知识】
  • leetcode 2915.和为目标值的最长子序列的长度
  • 欧拉函数、快速幂、扩展欧几里得算法、中国剩余定理和高斯消元
  • 自定义原生小程序顶部及获取胶囊信息
  • yolov8推理由avi改为mp4
  • Vue3设置缓存:storage.ts
  • 超市信息管理系统(java+swing+jdbc+msyql)
  • 如何用AI工具提升日常工作效率,帮我们提速增效减负
  • C++: 优先级队列的模拟实现和deque
  • C++ socket epoll IO多路复用
  • 缓存IO与直接IO
  • 输入输出(3)——C++的标准输入流
  • [力扣题解] 344. 反转字符串
  • 找不到msvcr110.dll无法继续执行代码的原因分析及解决方法
  • 深入理解数仓开发(一)数据技术篇之日志采集
  • Edge浏览器:重新定义现代网页浏览
  • HDFS,HBase,MySQL,Elasticsearch ,MongoDB分别适合存储什么特征的数据?
  • ArcGIS中离线发布路径分析服务,并实现小车根据路径进行运动
  • 时政|医疗结果互认
  • 华为OD机试【找出通过车辆最多颜色】(java)(100分)
  • hyperf 多对多关联模型
  • 每日力扣刷题day03(从零开始版)
  • 误差反向传播简介与实现
  • ATmega328P加硬件看门狗MAX824L看门狗
  • 【Redis】 String类型的内部编码与使用环境
  • HarmonyOS interface router scale pageTransition SlideEffect.Left ArkTS ArkUI
  • Go语言(Golang)的开发框架