python plot 图片大小单位为英尺
时间: 2024-02-01 15:16:12 浏览: 125
在 Python 中,plot 图片的大小可以使用英寸作为单位来设置。可以使用 Matplotlib 库来绘制 plot 图像,并使用 figsize 参数来设置图片的大小。例如:
```python
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(6, 4)) # 设置图片大小为 6 英寸 x 4 英寸
plt.plot([1, 2, 3, 4], [1, 4, 2, 3]) # 绘制 plot 图像
plt.show() # 显示图像
```
在上面的例子中,figsize 参数设置为 (6, 4) 表示图片大小为 6 英寸 x 4 英寸。可以根据需要调整该参数的值。
相关问题
吴恩达 房价预测 python
利用多元线性回归模型可以预测房价。在这个问题中,我们收集了最近售出的房屋的数据,包括房子的大小(以平方英尺为单位),卧室数量和房价。为了使数据具有可比性,我们需要对所有的训练数据进行归一化处理。使用不同的学习率(alpha)值,在运行梯度下降算法时,会得到不同的效果。在这个任务中,我们设置了四个不同的alpha值[0.01, 0.03, 0.1, 0.3],并计算了在迭代50次的情况下,代价值的变化情况,并绘制了相应的图表进行展示。
以下是使用Python进行房价预测的示例代码:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# 读取数据
path_file = "../code/ex1-linear regression/ex1data2.txt"
data = pd.read_csv(path_file, names=['Size', 'Bedrooms', 'Price'])
data.head()
# 归一化处理
data = (data - data.mean()) / data.std()
# 添加一列偏置项
data.insert(0, 'Ones', 1)
# 初始化特征矩阵X和目标变量y
X = data.iloc[:, :-1]
y = data.iloc[:, -1]
# 将特征矩阵X和目标变量y转换为数组
X = np.array(X.values)
y = np.array(y.values)
# 初始化参数theta
theta = np.zeros(X.shape)
# 定义代价函数
def cost_function(X, y, theta):
inner = np.power(((X @ theta.T) - y), 2)
return np.sum(inner) / (2 * len(X))
# 定义梯度下降函数
def gradient_descent(X, y, theta, alpha, iters):
temp = np.zeros(theta.shape)
parameters = theta.size
cost = np.zeros(iters)
for i in range(iters):
error = (X @ theta.T) - y
for j in range(parameters):
term = np.multiply(error, X[:, j])
temp[j] = theta[j] - ((alpha / len(X)) * np.sum(term))
theta = temp
cost[i] = cost_function(X, y, theta)
return theta, cost
# 设置学习率和迭代次数
alpha_values = [0.01, 0.03, 0.1, 0.3]
iters = 50
# 初始化参数theta和代价值cost
thetas = []
costs = []
# 每个学习率下运行梯度下降算法,并记录参数theta和代价值cost的变化
for alpha in alpha_values:
theta_initial = np.zeros(X.shape)
theta_final, cost_values = gradient_descent(X, y, theta_initial, alpha, iters)
thetas.append(theta_final)
costs.append(cost_values)
# 绘制代价值的变化情况
plt.figure(figsize=(10, 6))
for i in range(len(alpha_values)):
plt.plot(range(iters), costs[i], label=f"alpha = {alpha_values[i]}")
plt.xlabel("Iterations")
plt.ylabel("Cost")
plt.title("Cost vs. Iterations")
plt.legend()
plt.show()
python线性回归预测房价,实验内容:实现线性回归模型,预测房价。 输出结果: 1模型参数(权重和偏置)。 2测试集上的预测结果与实际房价的对比表。 3预测值与实际值的散点图,并绘制最佳拟合直线。 4计算并输出均方误差(MSE)或均方根误差(RMSE)。
Python中通过scikit-learn库可以方便地实现线性回归预测房价。下面是一个简单的步骤说明:
1. **模型参数**:
首先,我们需要导入所需的库,如`pandas`, `numpy`, 和 `sklearn`。假设我们有一个训练数据集df,包含特征列如'sqft_living'(平方英尺生活区)和目标变量'dprice'(房屋价格)。训练模型时,我们可以使用`LinearRegression()`类创建线性回归模型。训练得到的模型参数包括系数(weights,表示各特征对价格的影响程度)和截距(intercept,常数项),例如:
```python
from sklearn.linear_model import LinearRegression
model = LinearRegression()
model.fit(X_train, y_train)
coefficients = model.coef_
intercept = model.intercept_
```
2. **测试集预测**:
使用训练好的模型对测试集进行预测,比如测试数据X_test,预测结果存储在`y_pred`中:
```python
y_pred = model.predict(X_test)
```
3. **对比表与散点图**:
可以将`y_pred`和`y_test`(真实的测试集价格)制作成表格比较,同时用matplotlib绘制散点图,横轴为真实价格,纵轴为预测价格:
```python
comparison_table = pd.DataFrame({'Actual': y_test, 'Predicted': y_pred})
plt.scatter(y_test, y_pred, color='blue')
plt.plot(y_test, y_pred, color='red', linewidth=3)
plt.xlabel('Actual Prices')
plt.ylabel('Predicted Prices')
```
4. **评估指标**:
计算均方误差(MSE)或均方根误差(RMSE):
```python
from sklearn.metrics import mean_squared_error, mean_squared_log_error
mse = mean_squared_error(y_test, y_pred)
rmse = np.sqrt(mean_squared_error(y_test, y_pred))
print(f"Mean Squared Error (MSE): {mse}")
print(f"Root Mean Squared Error (RMSE): {rmse}")
```
阅读全文