Python高级--逻辑回归、KNN回归比较

机器学习 逻辑回归和knn 逻辑回归 逻辑回归是在分类问题中预测离散的值。 假说表示 逻辑回归模型的假设是: ℎ 阅读详情

一、逻辑回归函数

这里写图片描述

二、逻辑回归曲线

1)逻辑回归曲线

这里写图片描述

2)种群增长曲线

这里写图片描述

三、逻辑回归

1)逻辑回归虽然叫回归,但是我们一般用它来处理分类问题

将已知的值通过不断的二分,将数据分为不同的种类

2)优缺点(和knn相比)

优点:计算代价不高,速度很快,存储资源低
缺点:容易欠拟合,分类精度可能不高

3)拟合比较

KNN 相对过拟合例如图3
逻辑回归想对欠拟合例如图1

这里写图片描述

四、获取数据

1)datasets.load_digits()

sklearn.datasets里自带的一些数字图片
data:一系列值
target:目标值(图片代表的数字)
imges : 数字图片数据

2)数据处理

1、从load_digits里获取数据

digits = datasets.load_digits()

data = digits.data  # 数据集 特征值
target = digits.target  # 目标值
images = digits.images  # 图片

data.shape
(1797, 64)

2、训练集和测试集

共1797个样本,使用1700个来训练,其他的用来测试

X_train = data[:1700]
y_train = target[:1700]  # 训练集的结果值
X_test = data[1700:]
y_test = target[1700:]  # 测试集的真实结果

五、获取模型并训练

1)导包

from sklearn.neighbors import KNeighborsClassifier
from sklearn.linear_model import LogisticRegression

2)创建模型

knn = KNeighborsClassifier()
lgc = LogisticRegression()

3)训练模型

knn.fit(X_train,y_train)
lgc.fit(X_train,y_train)

六、模型预测

1)预测

y_knn_ = knn.predict(X_test)
y_knn_
y_lgc_ = lgc.predict(X_test)
y_lgc_

2)查看准确率

knn.score(X_test,y_test)
0.979381443298969

lgc.score(X_test,y_test)
0.9484536082474226

七、预测结果展示

将真实值画到画布上,用knn预测值与lgc预测值 查看是否预测正确

plt.figure(figsize=(15,25))
for i in range(97):
    # 子画布 10行 10列 最后剩下的 空着即可
    axes = plt.subplot(10,10,i+1)  # 注意子画布的编号从1开始 所以是i+1
    plt.imshow(X_test[i].reshape(8,8))  #画原图
    axes.axis('off')  #去掉坐标轴
    axes.set_title('real:%d\nknn:%d\nlgc:%d'%(y_test[i],y_knn_[i],y_lgc_[i]))    # 把 真实值 knn预测值 lgc预测值 作为标题(/n换行)

图片太大,这里展示部分数据
这里写图片描述

八、产生数据集make_blobs

make_blobs可以根据指定的参数 去随机生成 样本的特征值和目标值

n_samples:样本量
n_features:每个样本有多少特征
centers:可以用来指定样本的分类中心  分3类 就传入三个分类中心

1)产生数据

注意返回值:特征值集合 和 目标值集合

from sklearn.datasets import make_blobs

X_train,y_train = make_blobs(n_samples=200,n_features=2,centers=[[1,1],[3,3],[5,5]])

2)绘图展示产生的数据

横纵坐标分别是X_train里面的两个特征 这样就定位了一个点
然后不同的分类 加上不同的颜色

plt.scatter(X_train[:,0],X_train[:,1],c=y_train)

这里写图片描述

九、用KNN与逻辑回归机器学习模型训练这些点

1)创建模型并训练这些模型

knn = KNeighborsClassifier()
lgc = LogisticRegression()
knn.fit(X_train,y_train)
lgc.fit(X_train,y_train)

2)将整个画布上的点作为测试数据

1、提取坐标点,对坐标点进行处理

xmin = X_train[:,0].min()-0.5
xmax = X_train[:,0].max()+0.5
x = np.arange(xmin,xmax,0.1)  #将x轴上的点每隔0.1取一个
ymin = X_train[:,1].min()-0.5
ymax = X_train[:,1].max()+0.5
y = np.arange(ymin,ymax,0.1)  #将y轴上的点每隔0.1取一个

2、将x轴,y轴网格化

xx,yy = np.meshgrid(x,y)

3、把两个 矩阵 扁平化 然后 用np.c_[] 合并成一个

X_test = np.c_[xx.flatten(),yy.flatten()]

3)使用两个模型训练数据

y_knn_ = knn.predict(X_test)

y_lgc_ = lgc.predict(X_test)

4)绘制图形对比knn和lgc对平面上点的分类

1、指定散点图点的颜色

这里制定颜色需要创建一个cmap对象,再传入散点图的cmap中即可

from matplotlib.colors import ListedColormap
cmap1 = ListedColormap(['red','green','blue'])

2、绘制KNN与训练数据的对比

注意:这里先绘制背景,再绘制上面的图,否则会被覆盖

plt.scatter(X_test[:,0],X_test[:,1],c=y_knn_)
plt.scatter(X_train[:,0],X_train[:,1],c=y_train,cmap=cmap1)

3、绘制逻辑回归与训练数据的对比

plt.scatter(X_test[:,0],X_test[:,1],c=y_lgc_)
plt.scatter(X_train[:,0],X_train[:,1],c=y_train,cmap=cmap1)

这里写图片描述

机器学习c12笔记:SVM学习与SVM,逻辑回归和kNN比较 SVM摘自百度百科 参考书籍:机器学习实用案例解析SVM原理SVM方法是通过一个非线性映射p,把样本空间映射到一个高维乃至无穷维的特征空间中(Hilbert空间),使得在原来的样本空间中非线性可分的问题转化为在特征空间中的线性可分的问题.简单地说,就是升维和线性化.升维,就是把样本向高维空间做映射,一般情况下这会增加计算的复杂性,甚至会引起“维数灾难”,因而人们很少问津.但是作为分类、回归等问题来 阅读详情

相关推荐

KNN算法和逻辑回归有什么区别?

KNN(K-Nearest Neighbors)算法和逻辑回归(Logistic Regression)是两种常见的机器学习算法,它们在原理、应用场景和性能特点上有明显的区别。

mubiao05的博客 668

【机器学习300问】115、对比K近邻(KNN)分类算法与逻辑回归分类算法的差异与特性?

对比K近邻(KNN)分类算法与逻辑回归分类算法的差异与特性?

qq_39780701的博客 1616

利用Python和OpenCV进行面部表情识别

简要介绍:识别情绪的步骤使用摄像头拍摄输入图像,并使用python中的opencv检测脸部,并尝试使用CNN深度学习概念和分类任务从获得的脸部图像中获取特征,提取的特征为给予像Logistic回归这样的分类器,SVM等和分类器将识别的表达式预测为输出。入门..为了解决这个问题,我们需要一个描述不同情绪的不同面孔的大型数据库。为此,您可以下载CK +数据库(http://www.consortium...

Python达人 2万+

机器学习——分类问题与逻辑回归、KNN

一、垃圾信息检测 1.1如何实现 收集一些样本,告诉计算机哪些是垃圾信息【监督学习】 计算机自动寻找垃圾信息的共同特征【部分特征:发件人、是否群发、网址、元、赢、微信、免费】 在新信息中检测是否包含垃圾信息特征内容,判断其是否为垃圾信息 二、分类预测 2.1定义 根据数据类别与部分特征信息,自动寻找类别与特征信息的关系,判断一个新的样本属于哪种类别 2.2流程 特征信息 数据类别 寻找关系 2.3方法 逻辑回归 朴素贝叶斯 决策树 KNN近邻模型 三、逻辑回归 3.1更适合于分类场

Palpitate的博客 914

【大数据】机器学习算法基础(Python和R语言实现)

谷歌的无人驾驶汽车已经受到了世人很大的关注,但公司的未来却是在机器学习领域,因为这项技术将使电脑更智能,更人性化。——埃里克·施密特(谷歌主席) 我们可能正经历着人类最明确定义的阶段,这个阶段计算机计算从大型主机,到个人电脑,到云计算。但这些并不是根本原因,而是接下来几年中将会发生的。 这个时期使那些像我一样的人们兴奋的是工具和技术的开放,这得以于计算机领域的蓬勃发展。今天...

weixin_44387107的博客 639

Python实现K近邻(KNN)

K近邻算法(K-Nearest Neighbor,简称KNN算法)是一种基本的机器学习算法,它是一种无参数的、懒惰学习(lazy learning)算法。KNN算法可以用于分类和回归问题。在KNN算法中,未知样本的类别或者值,是由与它最近的K个已知样本的类别或者值来决定的,其中K是一个正整数。

优快云 精品推荐 1694

Python数据挖掘实战:从逻辑回归到XGBoost的建模全流程解析

数据挖掘是数据分析的核心环节,它通过构建数学模型从历史数据中学习规律,实现对未来的预测和决策支持。其基本原理是利用算法识别数据中的模式与关联,技术价值在于将原始数据转化为可行动的商业洞见,广泛应用于客户流失预测、精准营销、风险控制等场景。在工程实践中,特征工程和模型评估是关键,例如通过独热编码处理分类变量,并利用ROC曲线与AUC值评估模型性能。本文以客户流失预测为例,详细阐述了从问题定义、数据预处理到模型训练与调参的完整工作流,涵盖了逻辑回归、随机森林等核心算法,并深入探讨了数据泄露、类别不均衡等常见问题

weixin_34203832的博客 417

Python 人工智能实战:智能分析

1.背景介绍 人工智能(Artificial Intelligence)是指计算机科学研究如何让机器具有智能的能力,本文介绍如何用Python语言开发一个简单的智能分析程序。该程序可对股票市场数据进行分析并预测股票走势,在此过程中将涉及到人工智能、数据挖掘、统计学等多领域知识。 2.核心概念与联系

AI天才研究院 277

机器学习原理剖析与Python代码实现全流程(课程下载)

机器学习原理剖析与Python代码实现全流程

软希网分享源码的博客 498

Python实现常用机器学习算法的实战指南

Python已成为数据科学和机器学习领域首选的编程语言,它集成了众多高级库和框架,如NumPy、Pandas、scikit-learn等,这些库极大地简化了数据处理和算法实现的复杂性。Python简洁的语法和强大的社区支持,使得开发者可以快速构建原型并部署复杂系统。KNN算法作为机器学习中的一种基本算法,因其简单和直观性而受到欢迎。尽管它在数据量不是很大的情况下表现良好,但在面对大数据集时可能会遇到效率和性能上的挑战。

weixin_42355400的博客 1136

Python3机器学习实战课程完整指南

htmltable {th, td {th {pre {简介:本书是机器学习理论与实践的综合教程,使用Python3作为主要编程语言,涵盖从基础到进阶的多个主题,包括KNN、决策树、朴素贝叶斯、SVM、线性和逻辑回归等算法。每章节通过实战案例详细解析算法原理,并讨论其应用场景和优缺点,旨在加深读者对机器学习的理解和应用能力。

weixin_32324637的博客 336

机器学习算法基础(使用Python代码)

介绍 谷歌的自动驾驶汽车和机器人受到了很多媒体的关注,但该公司真正的未来是在机器学习领域,这种技术能使计算机变得更聪明,更个性化。-Eric Schmidt(Google董事长) 我们可能生活在人类历史上最具决定性的时期。从大型的电脑主机到个人电脑再到云计算的时代。但是,它的定义并不是发生了什么,而是未来几年我们将面临什么。 对于我这样的人来说,这段时期真的是让人兴奋和着迷的,因为随着技术的...

披风秃头侠的博客 8064

AI+AB测试提升电商主图点击率实战指南

在电商运营中,主图点击率(CTR)是衡量商品吸引力的核心指标,直接影响转化率和订单增长。通过AI技术批量生成高质量主图素材,结合数据驱动的AB测试方法,可以显著提升点击率。AI工具如MidJourney和Stable Diffusion能够快速生成多样化视觉方案,而自动化处理流水线则确保素材规格统一。AB测试体系通过多维变量控制和流量分配策略,科学验证不同素材效果。这种方法特别适用于需要快速迭代的电商场景,某女装店铺案例显示CTR从1.2%提升至3.8%,验证了AI+数据协同优化的技术价值。

weixin_29058331的博客 298

逻辑回归:从概率建模到分类决策的机器学习基石

在机器学习领域,分类任务是核心问题之一,其目标是根据输入特征预测样本所属的类别。逻辑回归作为一种经典的判别式模型,通过Sigmoid函数将线性组合映射到(0,1)区间,直接对条件概率P(Y|X)进行建模,从而输出样本属于某一类的概率。其技术价值在于以优雅的数学形式搭建了线性模型与概率世界之间的桥梁,同时具备优秀的可解释性和计算效率。在工程实践中,逻辑回归广泛应用于金融风控、医疗诊断、推荐系统等场景,通过交叉熵损失函数和梯度下降等优化算法进行高效学习。理解逻辑回归的决策边界、正则化机制以及如何处理多分类和类别

weixin_30301449的博客 359

Visio中高效绘制空间坐标系的实用技巧

本文详细介绍了在Visio中从零开始高效绘制精准空间坐标系的实用技巧。文章摒弃了现成形状的局限,重点讲解了如何利用直线、箭头和文本框等基础工具,结合网格设置、绘图比例调整和图层管理,构建完全可控的三维坐标系。通过分步指南,帮助用户掌握刻度添加、标注对齐及模板创建等高级方法,从而在科研绘图与工程制图中实现专业级的视觉效果。

e3f4g5的博客 558

CYUSB3065配置CMOS

按照OG02B10的时序电路,在通过SCCB配置CMOS之前,需要三个电源上电,Xshutdown高电平和配置时钟电路。找到手册的第6章SCCB(跟IIC很像),可以看到SCCB的地址与SID引脚有关,这个需要到硬件原理图上确认下。这是Cypress的一个支持MIPI和UVC的模块,有例程支持OV5640,现在要替换替换成OG02B10。寄存器参数需要找到厂家的FAE,由他们提供,OG02B10的资料已经上传。(2)参考得宏的电路,时钟由主控提供,目前程序未实现。这里有两个重要参数需要搞定,摄像头的。

qq_40773212的博客 2944

2020,Python的切入点在哪里?

福报!廖雪峰大佬最新打磨的《优秀数据分析师炼成记》首次公开了,这套体系化的学习宝典,可帮不同阶段的数据分析人尽快摆脱工作困扰:日常困于存取、处理数据等基础工作,本部分能帮你快速掌握数据分...

Oner.wv的专栏 195

win x64下安装oracle 12c出现[INS-30131]报错的解决方案

问题:  win x64下安装oracle 12c出现[INS-30131]报错的解决方案 安装oracle11g碰到“无法访问临时位置”的问题,详细信息如下: INS-30131] 执行安装程序验证所需的初始设置失败。 原因 - 无法访问临时位置。   操作 - 请确保当前用户具有访问临时位置所需的权限。   附加信息:  - 所有节点上的框架设置检查都失败  

一条道走到黑的GISer 1347

Python 监督机器学习(一)

监督机器学习广泛应用于金融、在线广告和分析等各个领域,因为它能够训练系统进行定价预测、广告活动调整、客户推荐等,赋予系统自我调整和自主决策的能力。这种能力的优势使得了解机器如何在幕后学习变得至关重要。本书将引导你实现和深入了解许多流行的监督机器学习算法。你将从快速概览开始,了解监督学习与无监督学习的区别。接下来,我们将探索线性回归和逻辑回归等参数模型,决策树等非参数方法,以及各种聚类技术,以促进决策和预测。随着进展,你还将接触到推荐系统,这是在线公司广泛使用的工具,用于提升用户互动和促进潜在销售。

龙哥盟 813

【数字孪生与仿真技术】14:数据驱动+机理模型:工业级混合建模实战(附MATLAB完整代码+案例解析)

摘要 本文针对工业建模中机理模型精度不足和数据驱动模型缺乏物理约束的痛点,提出混合建模技术作为解决方案。文章系统阐述了混合建模的3种主流架构(参数校正型、残差补偿型、组件替换型),结合清华大学催化裂化装置的实际案例,分析混合建模的工业应用价值。同时以连续搅拌反应釜(CSTR)为例,提供MATLAB环境下残差补偿型混合模型的完整实现代码,详细展示从机理模型构建到数据驱动补偿的全流程,并给出工程实践中的应对策略,为工业建模提供可落地的技术方案。 关键词 混合建模、机理模型、数据驱动、工业建模、MATLAB

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 622

外部PLC触发VisionMaster多流程运行

上一讲,介绍了海康VisionMaster与西门子PLC1200进行S7通信。在前一讲的基础上,讲解如何通过PLC触发,实现VisionMaster的多流程运行。

haier123888的博客 4652

Python学习和面试中的常见问题及答案

整理了一些关于Python和机器学习算法的高级问题及其详细答案。这些问题涵盖了多个方面,包括数据处理、模型训练、评估、优化和实际应用。

qq_41698317的博客 3198

Matlab仿真:均匀面阵方向图、均匀线阵方向图、均匀圆阵方向图

其中,阵列方向图是评价阵列性能的重要参数之一。均匀面阵由若干个相同的阵元构成,阵元间等距排列,阵元的方向图形状为一个圆盘。均匀线阵由若干个相同的阵元构成,阵元间等距排列,阵元的方向图形状为一个矩形。本文将采用Matlab进行仿真,分别实现均匀面阵方向图、均匀线阵方向图和均匀圆阵方向图,并对三种阵列进行比较分析。通过以上代码仿真,我们可以对均匀面阵、均匀线阵和均匀圆阵进行方向图的绘制,进一步分析不同阵列在天线性能方面的差异。Matlab仿真:均匀面阵方向图、均匀线阵方向图、均匀圆阵方向图。

2301_79326857的博客 3436

【Python训练营打卡】day10 @浙大疏锦行

机器学习建模与评估。

2301_77865880的博客 613

时间序列分析(Time Series Analysis) 原理与代码实例讲解

时间序列分析(Time Series Analysis) - 原理与代码实例讲解 作者:禅与计算机程序设计艺术 / Zen and the Art of Computer Programming 关键词:时间序列预测,ARIMA模型,状态空间模型,SARIMA模型,机器学习

AI天才研究院 1246

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

小杰机器学习(one)——机器学习分类、scikit_learn库、K近邻算法、四个距离选择。

何其有幸,生于华夏。祖国繁荣,人民幸福。爱你,老妈!!!

2501_92101354的博客 1351

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

上一篇: Python高级--boston房价预测
下一篇: Python基础--列表与元祖
PyRookie
博客等级 码龄8年 89粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值