boston_hoursing = sklearn.datasets.load_boston() boston_feature = boston_hoursing.data 现在我的这两段python代码因为load_boston()被淘汰而不能运行,如何解决?
时间: 2024-05-07 11:19:07 浏览: 122
你可以使用以下代码来加载波士顿房价数据集,并获取特征数据:
```
from sklearn.datasets import fetch_openml
boston_housing = fetch_openml(name='boston')
boston_feature = boston_housing.data
```
这里使用了`fetch_openml`函数来加载波士顿房价数据集。请注意,这个函数返回的对象与`load_boston`返回的对象有所不同,因此你需要适当地修改你的代码来适应这个变化。
相关问题
boston_hoursing = sklearn.datasets.load_boston() boston_feature = boston_hoursing.data 现在我的这两段python代码因为load_boston()无法使用而不能运行,如何解决?
`load_boston()`函数是来自于`sklearn.datasets`模块,所以你需要先确保已经正确安装了`scikit-learn`库。如果你已经安装了该库,但仍无法使用该函数,可能是因为你的版本比较老旧,可以考虑升级到最新版本。你可以通过以下代码来检查是否已经正确安装`scikit-learn`库:
```
import sklearn
print(sklearn.__version__)
```
如果输出正确的版本号,但仍然无法使用`load_boston()`函数,那么可能是因为你没有正确导入该函数。你可以使用以下代码来导入该函数:
```
from sklearn.datasets import load_boston
```
这样就可以使用`load_boston()`函数来加载波士顿房价数据集了。
帮我优化这段代码;import numpy as np from sklearn.datasets import load_boston from sklearn.model_selection import train_test_split from linear_model_03.closed_form_sol.LineaRegression_CFSol import LinearRegressionClosedFormSol 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.3, random_state=1, shuffle=True) lr_cfs = LinearRegressionClosedFormSol(fit_intercept=True, normalized=True) # 默认训练偏置项和进行标准化 lr_cfs.fit(X_train, y_train) # 训练模型 theta = lr_cfs.get_params() feature_names = boston.feature_names # 样本的名称 for i, fn in enumerate(feature_names): print(fn, ":", theta[0][i]) print("bias:", theta[1]) y_test_pred = lr_cfs.predict(x_test=X_test) mse, r2, r2c = lr_cfs.cal_mse_r2(y_test, y_test_pred) print("均方误差:%.5f,判决系数:%.5f,修正判决系数:%.5f" % (mse, r2, r2c)) # lr_cfs.plt_predict(y_test, y_test_pred, is_sort=False) lr_cfs.plt_predict(y_test, y_test_pred, is_sort=True)
好的,我来帮你优化代码。首先,你可以将导入的库放在代码开头,以便更好地组织代码。另外,命名规范也需要注意,例如,类名应该使用大写字母开头,函数名和变量名应该使用小写字母和下划线。下面是优化后的代码:
```python
import numpy as np
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
from linear_model_03.closed_form_sol.LinearRegression_CFSol import LinearRegressionClosedFormSol
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.3, random_state=1, shuffle=True)
lr_cfs = LinearRegressionClosedFormSol(fit_intercept=True, normalized=True)
lr_cfs.fit(X_train, y_train)
theta = lr_cfs.get_params()
feature_names = boston.feature_names
for i, fn in enumerate(feature_names):
print(fn, ":", theta[0][i])
print("bias:", theta[1])
y_test_pred = lr_cfs.predict(x_test=X_test)
mse, r2, r2c = lr_cfs.cal_mse_r2(y_test, y_test_pred)
print("均方误差:%.5f,判决系数:%.5f,修正判决系数:%.5f" % (mse, r2, r2c))
lr_cfs.plt_predict(y_test, y_test_pred, is_sort=True)
```
这样,代码更加清晰易读,同时也符合 PEP8 规范。
阅读全文