使用回归和梯度下降法预测房屋价格和预测投保人医疗费用代码
时间: 2024-09-28 08:03:08 浏览: 20
在机器学习领域,回归和梯度下降法常常用于预测连续变量,如房屋价格或投保人的医疗费用。这里是一个简单的Python示例,使用线性回归模型和梯度下降算法来预测房价:
```python
import numpy as np
# 假设我们有房价数据集(特征是房子的大小,目标是房价)
house_data = np.array([...]) # 包含特征(如面积)和目标值(房价)
features = house_data[:, :-1] # 特征部分
prices = house_data[:, -1] # 目标值部分
class LinearRegression:
def __init__(self, learning_rate=0.01, n_iters=1000):
self.learning_rate = learning_rate
self.n_iters = n_iters
self.weights = np.zeros(features.shape[1])
self.bias = 0
def sigmoid(self, x):
return 1 / (1 + np.exp(-x))
def gradient_descent(self, X, y):
m = len(y)
dw = (1/m) * np.dot(X.T, (self.sigmoid(self.predict(X)) - y))
db = (1/m) * np.sum(self.sigmoid(self.predict(X)) - y)
self.weights -= self.learning_rate * dw
self.bias -= self.learning_rate * db
def predict(self, X):
return np.dot(X, self.weights) + self.bias
# 初始化并训练模型
model = LinearRegression()
for _ in range(model.n_iters):
model.gradient_descent(features, prices)
# 预测新数据的房价
new_house_size = [1500] # 新的房子面积
predicted_price = model.predict(new_house_size)
print(f"预测的新房子价格是:{predicted_price}")