调用scikit-learn库实现房价预测,使用线性回归算法对波士顿房价进行预测。请给出代码
时间: 2023-11-11 17:04:18 浏览: 33
好的,以下是使用 Scikit-learn 库进行线性回归预测波士顿房价的代码:
```python
# 导入需要的库
from sklearn.datasets import load_boston
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error
# 加载波士顿房价数据集
boston = load_boston()
X, y = boston.data, boston.target
# 将数据集分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 创建线性回归模型并拟合训练集数据
lr = LinearRegression()
lr.fit(X_train, y_train)
# 在测试集上进行预测并计算均方误差(MSE)
y_pred = lr.predict(X_test)
mse = mean_squared_error(y_test, y_pred)
# 输出均方误差
print("Mean squared error: %.2f" % mse)
```
这段代码会输出测试集上的均方误差(MSE),用来衡量模型的预测精度。
相关问题
如何调用scikit-learn库
可以通过以下代码调用scikit-learn库:
```
from sklearn import [module]
```
其中,[module]应替换为所需的模块,例如:
- datasets:用于载入小规模数据集的工具集
- linear_model:用于实现线性模型的工具集
- svm:支持向量机算法工具集
- tree:实现决策树算法的工具集
- ...
需要注意的是,scikit-learn库需要提前安装。可以通过pip命令进行安装,例如:
```
pip install scikit-learn
```
线性回归实现波士顿房价预测
好的,线性回归是一种常见的机器学习算法,可以用于预测数值型数据。在这里,我将使用线性回归算法来预测波士顿地区的房价。
首先,我们需要加载数据集。Sklearn库中已经提供了波士顿房价数据集,我们可以直接调用。
```python
from sklearn.datasets import load_boston
boston = load_boston()
X = boston.data
y = boston.target
```
然后,我们将数据集分成训练集和测试集。我们将80%的数据用于训练,20%的数据用于测试。
```python
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
```
接下来,我们将使用Scikit-learn库中的线性回归模型来拟合训练数据并进行预测。
```python
from sklearn.linear_model import LinearRegression
model = LinearRegression()
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
```
最后,我们将使用R2得分来评估模型的性能。R2得分越接近1,表示模型越好。
```python
from sklearn.metrics import r2_score
score = r2_score(y_test, y_pred)
print("R2 Score: {:.2f}".format(score))
```
完整的代码如下:
```python
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import r2_score
boston = load_boston()
X = boston.data
y = boston.target
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)
y_pred = model.predict(X_test)
score = r2_score(y_test, y_pred)
print("R2 Score: {:.2f}".format(score))
```
这样,我们就用线性回归模型实现了波士顿房价预测。