2.10 Python函数
时间: 2023-12-25 17:26:31 浏览: 28
Python函数是一段可重复使用的代码块,可以接受输入参数并返回输出结果。函数定义以关键字def开头,后跟函数名和括号内的参数列表。函数体语句从下一行开始,必须缩进。函数执行完毕后,可以通过return语句返回一个值给调用者。Python函数有以下特点:
1. 函数可以有默认参数和可变参数。
2. 函数可以返回多个值。
3. 函数可以嵌套定义。
4. 函数可以作为参数传递给其他函数。
5. 函数可以作为对象赋值给变量。
6. 函数可以使用lambda表达式定义匿名函数。
7. 函数可以使用装饰器增强功能。
举个例子,下面是一个计算两个数之和的函数:
```
def add(x, y):
return x + y
```
调用该函数可以使用以下代码:
```
result = add(1, 2)
print(result) # 输出3
```
相关问题
将模型保存为.pb文件基于tensorflow2.10编写混淆矩阵的python程序
1. 将模型保存为.pb文件
在tensorflow2.10中,可以使用以下代码将模型保存为.pb文件:
```python
import tensorflow as tf
# 构建模型
model = tf.keras.Sequential([
tf.keras.layers.Input(shape=(28, 28, 1)),
tf.keras.layers.Conv2D(32, 3, activation='relu'),
tf.keras.layers.Flatten(),
tf.keras.layers.Dense(10, activation='softmax')
])
# 训练模型
# 保存模型为.pb文件
tf.saved_model.save(model, '/path/to/model.pb')
```
2. 编写混淆矩阵的python程序
混淆矩阵是评估分类模型性能的一种常用方法。下面是一个基于tensorflow2.10编写的计算混淆矩阵的Python程序:
```python
import tensorflow as tf
import numpy as np
from sklearn.metrics import confusion_matrix
# 加载测试数据集
(x_test, y_test), _ = tf.keras.datasets.mnist.load_data()
x_test = x_test.astype('float32') / 255.
x_test = np.expand_dims(x_test, axis=-1)
y_test = tf.keras.utils.to_categorical(y_test, 10)
# 加载模型
model = tf.saved_model.load('/path/to/model.pb')
# 进行预测
y_pred = model(x_test)
# 将预测结果转换为标签
y_pred = np.argmax(y_pred, axis=-1)
y_test = np.argmax(y_test, axis=-1)
# 计算混淆矩阵
cm = confusion_matrix(y_test, y_pred)
print(cm)
```
在上面的程序中,首先加载测试数据集,然后加载保存在.pb文件中的模型。接着,使用测试数据集进行预测,并将预测结果转换为标签。最后,使用sklearn.metrics中的confusion_matrix函数计算混淆矩阵,并输出结果。
python线性回归画图
要在Python中画出线性回归图,你可以使用matplotlib和seaborn库来绘制散点图和回归线。首先,你需要导入所需的库,如下所示:
```python
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.linear_model import LinearRegression
```
然后,你可以使用自己实现的最小二乘法函数或者使用scikit-learn提供的线性回归类来计算回归方程的系数。下面是一个示例函数,它可以帮助你绘制线性回归图:
```python
def linear_plot():
data = [[5.06, 5.79], [4.92, 6.61], [4.67, 5.48], [4.54, 6.11], [4.26, 6.39], [4.07, 4.81], [4.01, 4.16], [4.01, 5.55], [3.66, 5.05], [3.43, 4.34], [3.12, 3.24], [3.02, 4.80], [2.87, 4.01], [2.64, 3.17], [2.48, 1.61], [2.48, 2.62], [2.02, 2.50], [1.95, 3.59], [1.79, 1.49], [1.54, 2.10]]
# 计算线性回归的参数
X = [x[0] for x in data]
y = [x[1] for x in data]
model = LinearRegression()
model.fit([[x] for x in X], y)
w = round(model.coef_[0], 2)
b = round(model.intercept_, 2)
# 绘制散点图和回归线
sns.scatterplot(x=X, y=y)
sns.lineplot(x=X, y=model.predict([[x] for x in X]))
# 返回参数和绘图对象
return w, b, plt.figure()
```
这个函数接受一个二维数据列表作为输入,其中每个子列表包含两个变量的值。它会计算线性回归的参数,并绘制散点图和回归线。最后,它会返回回归方程的系数和绘图对象。
希望这个示例能够帮助你绘制线性回归图。