Python机器学习基础:线性回归与岭回归算法详解
线性回归
线性回归是一种基本的机器学习算法,它的目标是在给定的数据集上合一条直线,以便预测新的数据点。在Python中,我们可以使用scikit-learn库来实现线性回归算法。
示例1:使用线性回归预测房价
下面是一个示例,演示如何使用线性回归算法预测房价:
from sklearn.linear_model import LinearRegression
import numpy as np
# 定义训练数据
X_train = np.array([[1400], [1600], [1700], [1875], [1100], [1550], [2350], [2450], [1425], [1700]])
y_train = np.array([245000, 312000, 279000, 308000, 199000, 219000, 405000, 324000, 319000, 255000])
# 创建线性回归模型
model = LinearRegression()
# 训练模型
model.fit(X_train, y_train)
# 预测房价
X_test = np.array([[2000], [1500], [1000]])
y_test = model.predict(X_test)
# 打印预测结果
print(y_test)
在这个示例中,我们定义了训练数据X_train和y_train,它们分别表示房屋面积和房价。我们使用LinearRegression类创建线性回归模型,并使用fit方法训练模型。然后,我们使用predict方法预测新的房价,并打印预测结果。
示例2:使用线性回归预测股票价格
下面是另一个示例,演示如何使用线性回归算法预测股票价格:
from sklearn.linear_model import LinearRegression
import pandas as pd
# 读取股票数据
df = pd.read_csv('stock.csv')
# 提取特征和标签
X = df[['Open', 'High', 'Low', 'Volume']]
y = df['Close']
# 创建线性回归模型
model = LinearRegression()
# 训练模型
model.fit(X, y)
# 预测股票价格
X_test = [[3000, 3100, 2900, 1000000], [3100, 3200, 3000, 1500000]]
y_test = model.predict(X_test)
# 打印预测结果
print(y_test)
在这个示例中,我们读取股票数据,并提取Open、High、Low和Volume作为特征,Close作为标签。我们使用LinearRegression类创建线性回归模型,并使用fit方法训练模型。然后,我们使用predict方法预测新的股票价格,并打印预测结果。
岭回归
岭回归是一种正则化线性回归算法,它的目标是在给定的数据集上拟合一条直线,并通过L2正则化来避免过拟合。在Python中,我们可以使用scikit-learn库来实现岭回归算法。
示例3:使用岭回归预测房价
下面是一个示例,演示如何使用岭回归算法预测房价:
from sklearn.linear_model import Ridge
import numpy as np
# 定义训练数据
X_train = np.array([[1400], [1600], [1700], [1875], [1100], [1550], [2350], [2450], [1425], [1700]])
y_train = np.array([245000, 312000, 279000, 308000, 199000, 219000, 405000, 324000, 319000, 255000])
# 创建岭回归模型
model = Ridge(alpha=1.0)
# 训练模型
model.fit(X_train, y_train)
# 预测房价
X_test = np.array([[2000], [1500], [1000]])
y_test = model.predict(X_test)
# 打印预测结果
print(y_test)
在这个示例中,我们定义了训练数据X_train和y_train,它们分别房屋面积和房价。我们使用Ridge类创建岭回归模型,并使用fit方法训练模型。然后,我们使用predict方法预测新的房价,并打印预测结果。
示例4:使用岭回归预测股票价格
下面是另一个示例,演示如何使用岭回归算法预测股票价格:
from sklearn.linear_model import Ridge
import pandas as pd
# 读取股票数据
df = pd.read_csv('stock.csv')
# 提取特征和标签
X = df[['Open', 'High', 'Low', 'Volume']]
y = df['Close']
# 创建岭回归模型
model = Ridge(alpha=1.0)
# 训练模型
model.fit(X, y)
# 预测股票价格
X_test = [[3000, 3100, 2900, 1000000], [3100, 3200, 3000, 1500000]]
y_test = model.predict(X_test)
# 打印预测结果
print(y_test)
在这个示例中,我们读取股票数据,并提取Open、High、Low和Volume作为特征,Close作为标签。我们使用Ridge类创建岭回归模型,并使用fit训练模型。然后,我们使用predict方法预测新的票价格,并打印预测结果。
总结
以上四个示例演示了如何使用线性回归和岭回归算法来预测房价和股票价格。线性回归是一种基本的机器学习算法,它的目标是在给定的数据集上拟合一条直线,以便预测新的数据点。岭回归是一种正则化线性回归算法,它的目标是在给定的数据集上拟合一条直线,并通过L2正则化来避免过拟合。在实际使用中,我们需要根据具体情况选择合适的算法来解决预测问题。