机器学习项目实践-基础知识部分

简介: 创建Python隔离环境使用`python -m venv`命令,如`python -m venv ml`来创建名为`ml`的虚拟环境。激活环境通过`.\<Scripts>\activate`(Windows)。然后可以使用`pip`安装库,如`numpy`、`pandas`、`matplotlib`和`jupyter notebook`。在虚拟环境中,`numpy`是用于数组计算的库,支持数学操作和绘图。`pip install`命令后面可添加`-i Simple Index`指定索引源。完成安装后,激活环境并启动`jupyter notebook`进行开发。

环境建立


我们做项目第一步就是单独创建一个python环境,Python新的隔离环境


创建:python -m venv ml


使用:.\Scripts\activate


python -m venv ml 是在创建一个名为 ml 的虚拟环境,这样系统会自动创建一个文件夹ml,里面包含了Python的基本环境。

 .\Scripts\activate 是在激活这个虚拟环境,然后再执行pip命令安装其他库。


python -m venv ml 的意思是运行 venv 模块,并把 ml 作为参数传给 venv 模块。venv 是 Python 的一个内置模块,用于创建虚拟环境。


1) 安装numpy


pip install numpy -i Simple Index


pip install pandas -i Simple Index


pip install matplotlib -i Simple Index


pip install jupyter notebook -i Simple Index


启动jupyter notebook, 进入到你想查看的目录,打开之前需要进入.\Scripts\activate。


Numpy


NumpyPython的一个很重要的第三方库,很多其他科学计算的第三方库都是以Numpy为基础建立的。


Numpy的一个重要特性是它的数组计算。


import numpy
import numpy as np
from numpy import *
from numpy import array, sin


%pylab 是一个方便的模块,用于在单个名称空间中批量导入 matplotlib.pyplot(用于绘图)和 NumPy(用于数学和处理数组)


%pylab


数组上的数学操作


我们不能直接将列表相加,列表相加就相当于append操作。


a = [1, 2, 3, 4]

a + [1, 1, 1, 1]


这样会生成[1, 2, 3, 4, 1, 1, 1, 1]


要先都转换为array数组:


b = np.array([2, 3, 4, 5])

a + b


提取数组中的元素


  • 提取第一个元素:a[0]
  • 提取前两个元素:a[:2]
  • 最后两个元素:a[-2:]


修改数组形状


  • 修改 array 的形状:a.shape = 2,2
  • 或a.reshape(2,2)


aaa = np.array([[[1,2,4],
                [3,4,5]],
                [[5,6,7],
                [7,8,10]]])


这个数组的维度有三个,0、1、2。


aaa.sum(axis= 0)
 
结果:
[[6,8,11],
[10,12,15]]


这是因为axis等于零时,相当于按照零维度求和,相当于两个两行三列的数组求和。

axis等于1时,相当于按照第二个维度求和,就是按每个元素的行求和, 结果:



[[4,6,9],

[12,14,17]]


画图


a = linspace(0, 2*pi, 21)
%precision 3
b = sin(a)
 
%matplotlib inline
plot(a, b)


  • %matplotlib inline 是 Jupyter Notebook 的魔法命令,用于在 Notebook 中内嵌显示绘制的图形。


我们在画图的时候经常遇到中文显示不出来,这也是matplotlib 一直以来的诟病。


我们可以在画图前调库的时候加上两行代码:


from matplotlib import rcParams
rcParams['font.family'] = 'SimHei'


这样问题就解决了。


# plot方法就是在直角坐标系中绘制折线图的方法,绘制折线图的逻辑就是在
# 直角坐标系中绘制点,然后将点连起来
fig = plt.figure(figsize=(10,6))
plt.plot(x, y, marker='o',linestyle='--',c='#CD7F32')
plt.plot(x, y2)
plt.xticks(np.arange(0,11))
# plt.yticks(np.arange(-1,2,0.2))
plt.xlim(0,7)
plt.ylim(1,2)
plt.title("sin & cos函数")
plt.xlabel("x轴")
plt.ylabel("y轴")
plt.show()


当我们不知道某个方法的API时,可以使用?+方法,查看各个参数


相关文章
|
7天前
|
机器学习/深度学习 数据采集 人工智能
探索机器学习:从理论到实践
【6月更文挑战第19天】本文旨在为读者提供一个机器学习的全面视角,从基本概念到实际应用案例,再到面临的挑战和未来趋势。我们将通过一个实际的项目案例来深入探讨如何将机器学习理论应用于解决现实世界问题,并分享一些在项目实施过程中学到的经验和教训。无论你是机器学习领域的新手还是有经验的从业者,这篇文章都将为你提供有价值的见解和启发。
20 4
|
8天前
|
机器学习/深度学习 人工智能 算法
【机器学习】Q-Learning算法:在序列决策问题中的实践与探索
【机器学习】Q-Learning算法:在序列决策问题中的实践与探索
19 0
【机器学习】Q-Learning算法:在序列决策问题中的实践与探索
|
8天前
|
机器学习/深度学习 人工智能 算法
【机器学习】AI在空战决策中的崛起:从理论到实践的跨越
【机器学习】AI在空战决策中的崛起:从理论到实践的跨越
20 0
|
8天前
|
机器学习/深度学习 监控
【机器学习】基于扩散模型的文本到音频生成:突破数据局限,优化音频概念与实践顺序
【机器学习】基于扩散模型的文本到音频生成:突破数据局限,优化音频概念与实践顺序
27 0
|
8天前
|
机器学习/深度学习 算法 搜索推荐
【机器学习】近邻类模型:KNN算法在数据科学中的实践与探索
【机器学习】近邻类模型:KNN算法在数据科学中的实践与探索
28 0
|
8天前
|
机器学习/深度学习 人工智能 算法
【机器学习】深度神经网络(DNN):原理、应用与代码实践
【机器学习】深度神经网络(DNN):原理、应用与代码实践
25 0
|
8天前
|
机器学习/深度学习 监控 算法
【机器学习】农田智能监控系统的实践探索
【机器学习】农田智能监控系统的实践探索
15 0
|
8天前
|
机器学习/深度学习 算法 数据挖掘
【机器学习】小波变换在特征提取中的实践与应用
【机器学习】小波变换在特征提取中的实践与应用
12 0
|
4天前
|
机器学习/深度学习 人工智能 算法
【昆虫识别系统】图像识别Python+卷积神经网络算法+人工智能+深度学习+机器学习+TensorFlow+ResNet50
昆虫识别系统,使用Python作为主要开发语言。通过TensorFlow搭建ResNet50卷积神经网络算法(CNN)模型。通过对10种常见的昆虫图片数据集('蜜蜂', '甲虫', '蝴蝶', '蝉', '蜻蜓', '蚱蜢', '蛾', '蝎子', '蜗牛', '蜘蛛')进行训练,得到一个识别精度较高的H5格式模型文件,然后使用Django搭建Web网页端可视化操作界面,实现用户上传一张昆虫图片识别其名称。
113 7
【昆虫识别系统】图像识别Python+卷积神经网络算法+人工智能+深度学习+机器学习+TensorFlow+ResNet50
|
5天前
|
机器学习/深度学习 人工智能 算法
算法金 | 统计学的回归和机器学习中的回归有什么差别?
**摘要:** 统计学回归重在解释,使用线性模型分析小数据集,强调假设检验与解释性。机器学习回归目标预测,处理大数据集,模型复杂多样,关注泛化能力和预测误差。两者在假设、模型、数据量和评估标准上有显著差异,分别适用于解释性研究和预测任务。
33 8
算法金 | 统计学的回归和机器学习中的回归有什么差别?