提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 一、Matplotlib是什么?
- Matplotlib练习习题
- 1.题目1
- 1.1 代码
- 2. 题目2
- 2.1 代码
- 二、Opencv是什么?
- Opencv练习习题
- 1.题目
- 2.代码
- 三、PIL是什么?
- PIL练习习题
- 1.题目
- 2.代码
- 总结
前言
随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。
Python常用机器学习库习题
- Matplotlib
- Opencv
- PIL
一、Matplotlib是什么?
matplotlib是一个用于绘制数据可视化图形的Python库。它提供了各种绘图方法,包括线图、散点图、条形图、饼图、直方图、等高线图、三维图等等。matplotlib的设计灵活,可以用于各种应用场景,从简单的绘图到高度定制化的图形都可以实现。
Matplotlib练习习题
1.题目1
1.研究人员在2014年,分别在中国与日本的四个城市对将近两万名7-18岁男孩进行了相关测试,得到平均年龄/身高数据表avgHgt.cvs。使用Pandas和Matplotlib库,实现如下功能:
(1)从中国和日本7-18岁男生平均身高 avgHgt.cvs文件中读取身高数据。
(2)把数据绘制成如图所示的曲线图。
1.1 代码
import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_csv("avgHgt.csv")
print(data)
df = pd.DataFrame(data)
plt.rcParams['font.sans-serif']=['SimHei']
plt.title("中国和日本7~18岁男孩升高图")
plt.xlabel("年龄/岁")
plt.ylabel("身高/厘米")
plt.plot(df["age"],df["CHeight"],df["age"],df["JHeight"])
plt.legend(['中国男孩身高','日本男孩身高'])
plt.show()
2. 题目2
以共享x轴的方式,展示每月的销量和销量增长率,其中x轴表示月份序列,如下图所示。
2.1 代码
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
data= pd.read_excel("mrbook.xlsx")
print(data)
## 提取出需要分析的数据
x = data["月份"]
y1 = data["销量"]
y2 = data["rate"]
#创建画布和第一个Ax对象
plt.rcParams['font.sans-serif']=['SimHei'] #正常显示中文
plt.rcParams['axes.unicode_minus'] =False#可帮助显示 负数
fig, ax1 = plt.subplots()
plt.title("销量情况对比")
ax1.bar(x,y1)
#设置第一个Axes对象的X轴和Y轴标签,
ax1.set_xlabel("月份")
ax1.set_ylabel("销量(册)")
#####创建共享X轴
ax2 = ax1.twinx()
ax2.plot(x,y2,'--ok')
ax2.set_ylabel("增长率")
plt.show()
二、Opencv是什么?
Opencv 是一个开源的计算机视觉库,它提供了一系列的图像处理和机器学习的功能¹。它可以用于人脸识别,物体检测,视频分析等应用¹。它是用 C/C++ 编写的,可以在多种平台上运行³。
Opencv练习习题
1.题目
安装Opencv库,实践用Opencv捕获摄像头图像或视频。
检测摄像头范围内的人脸
2.代码
#检测摄像头范围内的人脸
import cv2
cascPath = r"C:\Users\FZQ\AppData\Roaming\Python\Python38\site-packages\cv2\data\haarcascade_frontalface_alt2.xml"
faceCascade = cv2.CascadeClassifier(cascPath)
cap = cv2.VideoCapture(0)
while(True):
ret,img=cap.read()
faces=faceCascade.detectMultiScale(img,1.2,2,cv2.CASCADE_SCALE_IMAGE,(20,20))
for(x,y,w,h) in faces:
img = cv2.rectangle(img,(x,y),(x+w,y+h),(0,255,0),2)
cv2.imshow('img',img)
key = cv2.waitKey(1)
if key & 0xFF ==ord('q') or key == 27:
break;
cv2.destroyAllWindows()
cap.release()
三、PIL是什么?
Python Imaging Library 是一个用于图像处理的 Python 库,它可以支持多种图像格式,提供高效的内部表示,以及强大的图像处理功能¹²。它可以用于缩放,裁剪,旋转,滤波,合成等操作³。
PIL练习习题
1.题目
使用PIL库的filter()函数,调整图像亮度为原来的两倍(用两个方法)。
方法一:使用如下模板,对当前像素值乘2 (0,0,0,0,2,0,0,0,0)
方法二:调用库函数ImageEnhance(),对图像进行处理。
2.代码
#方法一:使用如下模板,对当前像素值乘以2
from PIL import Image,ImageFilter,ImageDraw
img = Image.open("img.jpg")
#经过PIL自定filter处理,自定义模板
myFilter = ImageFilter.CONTOUR
myFilter.name="Double_brightness"
myFilter.filterargs=((3,3),1,0,(0,0,0,0,2,0,0,0,0))
imgFilter=img.filter(myFilter)
imgFilter.show()
#方法二:调用库函数ImageEnhance(),对图像进行处理
from PIL import Image,ImageEnhance
image = Image.open("img.jpg")
enhancer = ImageEnhance.Brightness(image)
enhanced_image = enhancer.enhance(2)
enhanced_image.show()
总结
例如:以上就是今天要讲的内容,本文在学习python常用机器学习库的前提下进行习题上机练习。