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

环境建立

我们做项目第一步就是单独创建一个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的一个重要特性是它的数组计算。

python 复制代码
import numpy
import numpy as np
from numpy import *
from numpy import array, sin

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

python 复制代码
%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)
python 复制代码
aaa = np.array([[[1,2,4],
                [3,4,5]],
                [[5,6,7],
                [7,8,10]]])

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

python 复制代码
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 一直以来的诟病。

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

python 复制代码
from matplotlib import rcParams
rcParams['font.family'] = 'SimHei'

这样问题就解决了。

python 复制代码
# 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时,可以使用?+方法,查看各个参数

相关推荐
东胜物联3 分钟前
探寻5G工业网关市场,5G工业网关品牌解析
人工智能·嵌入式硬件·5g
皓74113 分钟前
服饰电商行业知识管理的创新实践与知识中台的重要性
大数据·人工智能·科技·数据分析·零售
985小水博一枚呀1 小时前
【深度学习滑坡制图|论文解读3】基于融合CNN-Transformer网络和深度迁移学习的遥感影像滑坡制图方法
人工智能·深度学习·神经网络·cnn·transformer
AltmanChan1 小时前
大语言模型安全威胁
人工智能·安全·语言模型
985小水博一枚呀1 小时前
【深度学习滑坡制图|论文解读2】基于融合CNN-Transformer网络和深度迁移学习的遥感影像滑坡制图方法
人工智能·深度学习·神经网络·cnn·transformer·迁移学习
数据与后端架构提升之路1 小时前
从神经元到神经网络:深度学习的进化之旅
人工智能·神经网络·学习
爱技术的小伙子1 小时前
【ChatGPT】如何通过逐步提示提高ChatGPT的细节描写
人工智能·chatgpt
深度学习实战训练营2 小时前
基于CNN-RNN的影像报告生成
人工智能·深度学习
昨日之日20064 小时前
Moonshine - 新型开源ASR(语音识别)模型,体积小,速度快,比OpenAI Whisper快五倍 本地一键整合包下载
人工智能·whisper·语音识别
浮生如梦_4 小时前
Halcon基于laws纹理特征的SVM分类
图像处理·人工智能·算法·支持向量机·计算机视觉·分类·视觉检测