目录
机器学习是人工智能的一个分支,它使计算机能够从数据中学习并做出预测或决策。在这篇文章中,我们将通过构建一个简单的线性回归模型来探索机器学习的基础。
线性回归是一种监督学习算法,用于预测连续的数值变量。它假设输入特征(或多个特征)与输出变量之间存在线性关系。
我们将使用Python语言和scikit-learn库来构建我们的线性回归模型。首先,我们需要安装必要的库:
-
- pip install numpy scikit-learn matplotlib
假设我们有一组数据,表示房屋的大小和价格。我们将使用这些数据来训练我们的模型。
- import numpy as np
- from sklearn.model_selection import train_test_split
- from sklearn.linear_model import LinearRegression
- from sklearn.metrics import mean_squared_error
- import matplotlib.pyplot as plt
-
- # 示例数据
- X = np.array([[1200], [1400], [1600], [1800], [2000]]) # 房屋大小(平方英尺)
- y = np.array([300000, 350000, 370000, 400000, 430000]) # 房屋价格
-
- # 划分数据集
- X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
接下来,我们将使用训练数据来训练我们的线性回归模型。
- # 创建线性回归模型实例 model = LinearRegression()
- # 训练模型model.fit(X_train, y_train)
评估模型的性能,我们可以使用均方误差(MSE)。
- # 预测 y_pred = model.predict(X_test)
- # 计算MSE
- mse = mean_squared_error(y_test, y_pred)
- print(f"Mean Squared Error: {mse}")
最后,我们可以绘制数据点和我们的线性回归线,以直观地展示模型的预测效果。
- # 绘制数据点
- plt.scatter(X, y, color='blue')
-
- # 绘制回归线
- plt.plot(X, model.predict(X), color='red')
-
- # 显示图例和标签
- plt.legend(('Actual Prices', 'Predicted Prices'))
- plt.xlabel('House Size (sq. ft.)')
- plt.ylabel('Price ($1000s)')
- plt.title('Linear Regression Model')
-
- # 显示图表
- plt.show()
通过这个简单的示例,我们可以看到线性回归模型如何根据房屋大小预测其价格。虽然这是一个非常基础的模型,但它为我们提供了一个理解更复杂机器学习模型的起点