Python语言学习:pip工具使用知识,模型保存pickle,PDF与docx相互转换处理

数据科学与人工智能

共 2898字,需浏览 6分钟

 · 2022-01-09

2022年第01周。

这一周的Python语言学习,记录如下。

01

pip工具使用知识

1 pip是什么?

pip是一个用Python写的用于安装和管理包的包管理系统。它连接一个叫做Python Package Index的在线公共包存储库。它通过配置,也可以连接其它包库。

2 pip使用知识

2.1 安装包

常用命令

pip install some-package-name

若需要指定特定的版本安装

pip install some-package-name==1.2.2 --force-reinstall

force-reinstall用于指示重新安装指定版本的包。

也可以指定版本的范围安装

pip install some-package-name>=1.3.0,<1.4.0 --force-reinstall

2.2 卸载包

卸载包很容易,执行如下操作

pip uninstall some-package-name

2.3 从Python工作环境的requirement.txt的文件安装包

例如,我们有一个Python工作环境的requirement.txt文件。

pandas==1.2.5
numpy==1.21.1

安装这些包

pip install -r requirement.txt

2.4 如何生成requirement.txt文件

我们进入自己的Python工作环境,使用如下命令,获取工作环境的配置包文件

pip freeze > requirement.txt

2.5 获取已经安装包的信息

我们想知道已经安装了那些Python包

pip list

进一步,结合grep命令,搜索到你感兴趣包的是否安装。

pip list | grep pandas

2.6 了解包更详细信息

我们想了解包更详细的信息

pip show some-package-name

2.7 检查包之间兼容问题

我们想了解包之间兼容的信息

pip check

02

模型保存为pickle

1 pickle是什么?

pickle是Python中序列化对象的标准方式。

我们可以使用pickle操作来序列化机器学习模型,并将序列化的格式保存到一个文件中。以后,我们可以加载这个文件来反序列化模型,用它来做新的预测。

2 代码演示

我们基于一份公开的糖尿病发病数据集,构建逻辑回归模型,并保存模型,后来加载模型,用于新样本的预测。

import os
import pandas as pd

from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score

import pickle
import warnings
warnings.filterwarnings('ignore')

url = "https://raw.githubusercontent.com/jbrownlee/Datasets/master/pima-indians-diabetes.data.csv"
names = ['preg''plas''pres''skin''test''mass''pedi''age''class']
dataframe = pd.read_csv(url, names=names)
array = dataframe.values
X = array[:,0:8]
y = array[:,8]


test_size = 0.33
seed = 7
# 数据计划分
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=test_size, random_state=seed)

# 拟合模型
model = LogisticRegression()
model.fit(X_train, Y_train)

# 模型保存
model_folder = './model/'
if not os.path.exists(model_folder):
    os.makedirs(model_folder)

filename = model_folder + 'LR_2022_week1_finalized_model.sav'
pickle.dump(model, open(filename, 'wb'))

# 加载模型
loaded_model = pickle.load(open(filename, 'rb'))

# 模型的效果分析
pred_result = loaded_model.predict(X_test)

model_result = accuracy_score(y_test, pred_result)

print(round(model_result, 2))

运行结果

0.79

03

pdf与docx互相转换操作

1 简介

pdf和docx是两种常用的格式文件,如何用Python实现彼此的转换?我们可以使用pdf2docxdocx2pdf两个包来做这个有趣的事情。

2 安装库

执行如下命令

pip install pdf2docx
pip install docx2pdf

若是已经安装,请忽略

3 pdf转换为docx示范

pdf文件全部页面转换为docx

方法一:

# 方法1
from pdf2docx import Converter

pdf_file = './file/sample.pdf'
docx_file = './file/sample.docx'

cv = Converter(pdf_file)
cv.convert(docx_file)
cv.close()

方法二:

# 方法2
from pdf2docx import parse

pdf_file = './file/sample.pdf'
docx_file = './file/sample2.docx'

parse(pdf_file, docx_file)

pdf文件部分页面转换为docx

# 指定单独PDF页面转化为docx
from pdf2docx import Converter

pdf_file = './file/sample.pdf'
docx_file = './file/sample2.docx'

pages_list = [0]

cv = Converter(pdf_file)
cv.convert(docx_file, pages=pages_list)
cv.close()

4 docx转换为pdf示范

docx文件转换为pdf

from docx2pdf import convert

docx_file = './file/input.docx'
pdf_file = './file/output.pdf'

convert(docx_file, pdf_file)

关于pdf和docx相互转换操作,你有什么问题,请扫描文末二维码,添加我微信,一起讨论。


我创建了Python语言群,你可以扫描下方二维码,添加我的微信,备注:姓名-Python群,我邀请你加入群,一起学习和进步。


如果你觉得内容有用,请关注下方公众号~

如果你想找数据工作,请关注下方公众号~

如果觉得本文不错,就顺手帮我转发到朋友圈和微信群哦,谢谢。

浏览 33
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报