Python基础库及机器学习笔记

news2024/11/20 14:40:49

1.介绍

本节将主要介绍Python中的常用第三方库。这些库都是实现了各种计算功能的开源库,它们极大地丰富了Python的应用场景和计算能力,这里主要介绍NumPy、pandas和Matplotlib三个库的基础使用。其中NumPy是Python用来进行矩阵运算、高维度数组运算的数学计算库;pandas是Python用来进行数据预处理、数据操作和数据分析的库;Matplotlib是简单易用的数据可视化库,包含了丰富的数据可视化功能。接下将会逐个介绍这些库的简单应用。

1.1 NumPy

NumPy中文官网:https://www.numpy.org.cn/
NumPy是使用Python进行科学计算的基础包。它包含如下的内容:

一个强大的N维数组对象。
复杂的(广播)功能。
用于集成C / C ++和Fortran代码的工具。
有用的线性代数,傅里叶变换和随机数功能。
除了明显的科学用途外,NumPy还可以用作通用数据的高效多维容器。可以定义任意数据类型。这使NumPy能够无缝快速地与各种数据库集成。

NumPy是在BSD许可下获得许可的,允许重用而不受限制。

1.2 pandas

pandas中文官网:https://pypandas.cn/
pandas库在数据分析中是非常重要和常用的库,它利用数据框让数据的处理和操作变得
简单和快捷,在数据预处理、缺失值填补、时间序列、可视化等方面都有应用。接下来简单
介绍pandas的使用方法,包括如何生成序列和数据表格、数据聚合与分组运算及数据可视化
功能等。pandas库在导入后经常使用pd来代替。

1.3 Matplotlib

Matplotlib中文官网:https://matplotlib.org.cn/
Matplotlib是Python的绘图库,其具有丰富的绘图功能,pyplot是其中的一个模块,它
提供了类似MATLAB的绘图接口,能够绘制2D、3D等丰富图像,是数据可视化的好帮手,
接下来简单介绍其使用方法。

1.4 sklearn (scikit-learn)

sklearn (scikit-learn) 是基于 Python 语言的机器学习工具
简单高效的数据挖掘和数据分析工具,可供大家在各种环境中重复使用
建立在 NumPy ,SciPy 和 matplotlib 上,开源,可商业使用 - BSD许可证

GitHub Pages(国外): https://sklearn.apachecn.org
Gitee Pages(国内): https://apachecn.gitee.io/sklearn-doc-zh
第三方站长[网站],sklearn 中文文档: http://www.scikitlearn.com.cn

2. 机器学习模型初探

针对待分析的数据集,利用机器学习算法进行建模和分析的步骤其实也很固定,下面先
来看一个实际的机器学习应用案例。
假设房子的价格只跟面积有关,表1-1给出了一些房子的面积和价格之间的数据,请计
算出40㎡的房屋价格。
在这里插入图片描述

import numpy as np
import matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression

x=np.array([56,32,78,160,240,89,91,69,43])
y=np.array( [90,65,125,272,312,147,159,109,78])
#数据导入与处理,并进行数据探索
X=x.reshape(-1,1)
Y=y.reshape(-1,1)
plt.figure(figsize=(4,3))#初始化图像窗口
plt.scatter(X,Y,s=50)#原始数据的图
# plt.title("原始数据的图")
plt.title("Raw Data")
plt.show()
#训练模型和预测
model=LinearRegression()
model.fit(X,Y)
x1=np.array([40,]).reshape(-1,1)    #带预测数据
xl_pre=model.predict(np.array(x1))  #预测面积为40m2时的房价

#数据可视化,将预测的点也打印在图上
plt.figure(figsize=(4,3))
plt.scatter(X,Y)#原始数据的图
b=model.intercept_ #截距
a=model.coef_ #斜率

y=a*X+b#原始数据按照训练好的模型画出直线

plt.plot(X,y)
y1=a*x1+b
plt.scatter(x1,y1,color='r')
plt.show()

运行程序后,可获得当房子面积为40m2时,模型的预测值为79.59645966,即价格约为79.59万元。
在这里插入图片描述
以上是对一元线性回归的实现方法。但在现实中,房价的影响因素太多,不仅跟面积有关,还跟地理位置有关,跟小区容积率等也有关,这就要用到多元线性回归和机器学习进行拟合。
在机器学习中,常用的学习方法除了一元线性回归、多元线性回归模型,还有逻辑回归、聚类、决策树、随机向量、支持向量机、朴素贝叶斯等模型,这些模型的使用步骤基本类似,步骤如下:
①数据预处理和探索;
②数据特征工程:
③建立模型;
④训练模型;
⑤模型预测;
⑥评价模型。
如上面针对房屋价格预测的一元线性回归模型,就是经过了5个步骤。
(1)数据预处理和探索:即整理数据,将数据处理为适合模型使用的数据格式。
(2)建立模型:利用model=LinearRegression()建立线性回归模型。
(3)训练模型: model.fit (x,y) 。
(4)模型预测: model.predict ( [ [a] ] )。
(5)评价模型:利用可视化方式直观地评价模型的预测效果。
在实际的机器学习模型应用过程中,数据预处理和探索、数据特征工程这两部分是工作量最大的,所以在机器学习的模型使用过程中,将对数据进行充分理解、将数据整理为合适的数据格式,以及从数据中提取有用的特征,往往消耗大量的时间,最后就是对建立的模型进行有效评估。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/110471.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

jQuery Ajax

文章目录jQuery Ajax概述load()简单使用加载部分内容传递数据回调函数$.get()$.post()$.getJSON()$.getScript()jQuery Ajax 概述 Ajax,全称“Asynchronous JavaScript and XML”,即“异步的JavaScript和XML”。其核心是通过JavaScript的XMLHttpReques…

分布式开源工作流引擎有什么特点?

在竞争越来越激烈的社会中,拥有提质增效的办公软件,可以为企业带来更可观的市场价值。分布式开源工作流引擎在企业数字化发展进程中深受欢迎,在帮助企业提升办公效率上发挥了重要的作用。今天,我们就一起里盘点下分布式开源工作流…

【轻松掌握C语言】程序环境和预处理

目录 一、程序的翻译和执行环境 1、翻译环境 2、执行环境 二、预处理详解 1、预定义符号 2、#define 3、#undef 4、命令行定义 5、条件编译 6、文件包含 一、程序的翻译和执行环境 1、翻译环境,在这个环境中源代码被转换为可执行的机器指令。 2、执行环境&#xff0…

笔记本怎么录制屏幕?只需2分钟,快速学会

如今,大多数人会在笔记本电脑上使用屏幕录制功能,如:在线直播课程、在线会议、电影和电视剧等场景。笔记本怎么录制屏幕?事实上,用电脑录制视频并不像你想象的那么困难。我们每天使用的电脑都有自己的屏幕录制功能&…

高性能数据分析时代,HPDA平台需要什么样的数据存储?

在海量基因数据中进行全基因数据分析,了解各种疾病与DNA之间的隐秘联系;对海洋气候进行预测,利用强大的数据分析性能,实现分钟级的数据刷新、精准预测海洋气候;利用高速相机模拟人脑上亿个神经元之间联接与工作&#x…

善康医药冲刺科创板上市:计划募资13亿元,上半年亏损5000万元

近日,深圳善康医药科技股份有限公司(下称“善康医药”)在上海证券交易所递交招股书,准备在科创板上市。本次冲刺上市,善康医药计划募资13.27亿元,将用于新药研发项目、创新药高端制剂生产基地建设项目、营销…

redis学习第二天

Redis事务 Redis事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令插队。 Redis事务的主要作用就是串联多个命令防止别的命令插队。 Multi、Exec、discard 从输入Multi命令开始、…

【c++基础】第六章 STL标准模板库

第六章 STL标准模板库认识STLstring字符容器库vector容器迭代器与空间配置器deque容器容器适配置list容器set容器map容器观察者设计模型认识STL STL的概述 STL采用泛型思想,把C中所用到的所有的数据结构,按照一定的标准,全部封装成了一个个…

虚拟机docker网络问题处理

问题 我们有2台设备,ip 为 172.20.30.1 172.20.30.2 ,虚拟机上的服务需要连接这2台设备,网络已经做通了,可以正常连接虚拟机异常关闭,重新开启后。发现服务有些问题,就打算将docker服务重新部署&#xff0…

Vue后台项目的记录 (一)

一、下载模板 简洁版: https://github.com/PanJiaChen/vue-admin-template 下载下来的文件介绍 build ----index.js webpack配置文件【很少修改这个文件】 mock ----mock数据的文件夹【模拟一些假的数据mockjs实现的】,因为咱们实际开发的时候,利用的是…

STM32——FATFS文件系统

可裁剪意味着可以选择部分功能,减小占用的空间。 与Windows兼容意味着可以在电脑上直接读取文件。 ①底层接口,包括存储媒介读/写接口(disk I/O)和供给文件创建修改时间的实时时钟,需要我们根据平台和存储…

深度学习笔记(1)| 导数、偏导数、梯度和方向导数的理解

1. 梯度(Gradient)的理解 深度学习尝试在权重空间中找到一个方向,沿着该方向能降低损失函数的损失值。其实不需要随机寻找方向,因为可以直接计算出最好的方向,这就是从数学上计算出最陡峭的方向。这个方向就是损失函数…

单页扒手-基于Node的实现

做网站的朋友经常遇见别人的好看的页面,想保存到本地自己用,可是用以前的老办法网页另存为,发现很不好,规则不好处理,路径也不好处理,用这个网页克隆(单页模板扒手)就很好处理了&…

阿里「杀手锏」级语音识别模型来了!推理效率较传统模型提升10倍,已开源

阿里达摩院,又搞事儿了。 这两天,它们发布了一个全新的语音识别模型: Paraformer。 开发人员直言不讳:这是我们“杀手锏”级的作品。 ——不仅识别准确率“屠榜”几大权威数据集,一路SOTA,推理效率上相比…

Zookeeper 4 Zookeeper JavaAPI 操作 4.7 Curator API 常用操作【Watch 事件监听】

Zookeeper 【黑马程序员Zookeeper视频教程,快速入门zookeeper技术】 文章目录Zookeeper4 Zookeeper JavaAPI 操作4.7 Curator API 常用操作4.7.1 Watch 事件监听4 Zookeeper JavaAPI 操作 4.7 Curator API 常用操作 4.7.1 Watch 事件监听 【基本概念】 ZooKeep…

异常见闻录-Java.lang.UnsupportedClassVersionError涨知识啦

今天有学生说自己的Eclipse的Java代码只能在新建的项目中运行,运行导入项目中类就报错 异常信息 java.lang.UnsupportedClassVersionError: com/demo1/Demo1Application has been compiled by a more recent version of the Java Runtime (class file version 5…

CMake入门

1. CMake的介绍: 当多人开发同一个项目时,最终要输出一个可执行文件或者共享库(dll、so等),就可以使用cmake了 所有操作都是通过 CMakeLists.txt(严格区分大小写) 来完成的 ----> 简单 2. …

C51——超声波测距 函数封装和舵机代码结合

要注意舵机转动中 延时函数要放在哪里 #include "reg52.h" sbit D5 P3^7;// sbit D6 P3^6;// sbit Trig P1^5; sbit Echo P1^6; sbit sg90_con P1^1; int cnt; int jd; double time; void Delay10us() //11.0592MHz { unsigned ch…

操作系统管程-地址-重定位-内存管理与存储管理

管程的基本概念:为什么会出现管程?信号量机制的不足:程序编写困难、易出错解决:Brinch Hansen(1973)Boare(1974)方案:在程序设计语言中引入管程成分一种高级同步机制管程的定义:是一个特殊的模块有一个名字…

使用MAXScript脚本编写圣诞树建模插件教程

一、前言 2022年圣诞节到来啦,很高兴这次我们又能一起度过~ 今年的圣诞节为大家分享用MAXScript脚本编写圣诞树建模插件的技术创意,喜欢的同学别忘记在下面点个赞! 二、创意名 一键圣诞树插件 三、效果展示 四、实现步骤 1.制作圣诞树的设计稿…