提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


文章目录

  • 前言
  • 一、Matplotlib是什么?
  • Matplotlib练习习题
  • 1.题目1
  • 1.1 代码
  • 2. 题目2
  • 2.1 代码
  • 二、Opencv是什么?
  • Opencv练习习题
  • 1.题目
  • 2.代码
  • 三、PIL是什么?
  • PIL练习习题
  • 1.题目
  • 2.代码
  • 总结



前言

随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。
Python常用机器学习库习题

  1. Matplotlib
  2. Opencv
  3. PIL

一、Matplotlib是什么?

matplotlib是一个用于绘制数据可视化图形的Python库。它提供了各种绘图方法,包括线图、散点图、条形图、饼图、直方图、等高线图、三维图等等。matplotlib的设计灵活,可以用于各种应用场景,从简单的绘图到高度定制化的图形都可以实现。

Matplotlib练习习题

1.题目1

1.研究人员在2014年,分别在中国与日本的四个城市对将近两万名7-18岁男孩进行了相关测试,得到平均年龄/身高数据表avgHgt.cvs。使用Pandas和Matplotlib库,实现如下功能:
(1)从中国和日本7-18岁男生平均身高 avgHgt.cvs文件中读取身高数据。
(2)把数据绘制成如图所示的曲线图。

Python训练器 python机器训练_Python训练器

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轴表示月份序列,如下图所示。

Python训练器 python机器训练_机器学习_02

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常用机器学习库的前提下进行习题上机练习。