import pandas as pd data=pd.read_csv('housing.csv') total_bedrooms_mean=data['total_bedrooms'].mean() data['total_bedrooms'].fillna(total_bedrooms_mean,inplace=True) onehot=pd.get_dummies((data[['ocean_proximity']]),prefix='ocean_proximity') data.drop(columns = ['ocean_proximity'],inplace=True) X=pd.concat([data['housing_median_age'],data['total_rooms'],data['total_bedrooms'],data['population'],data['households'],data['median_income'],onehot],axis=1) y=data[["median_house_value"]] 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) from sklearn.linear_model import LinearRegression lin_reg=LinearRegression() lin_reg.fit(X_train,y_train) y_pre=lin_reg.predict(X_test) from sklearn import metrics metrics.accuracy_score(y_test,y_pre)报错import pandas as pd data=pd.read_csv('housing.csv') total_bedrooms_mean=data['total_bedrooms'].mean() data['total_bedrooms'].fillna(total_bedrooms_mean,inplace=True) onehot=pd.get_dummies((data[['ocean_proximity']]),prefix='ocean_proximity') data.drop(columns = ['ocean_proximity'],inplace=True) X=pd.concat([data['housing_median_age'],data['total_rooms'],data['total_bedrooms'],data['population'],data['households'],data['median_income'],onehot],axis=1) y=data[["median_house_value"]] 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) from sklearn.linear_model import LinearRegression lin_reg=LinearRegression() lin_reg.fit(X_train,y_train) y_pre=lin_reg.predict(X_test) from sklearn import metrics metrics.accuracy_score(y_test,y_pre)
时间: 2024-03-04 22:47:57 浏览: 156
这个代码会报错,因为`metrics.accuracy_score()`是用于分类问题的指标,而这里是回归问题,所以不能使用该指标。
如果你想评估回归模型的性能,可以使用回归指标,如均方误差(mean squared error, MSE)、均方根误差(root mean squared error, RMSE)或平均绝对误差(mean absolute error, MAE)。例如,使用MSE指标可以这样计算:
```
from sklearn.metrics import mean_squared_error
mse = mean_squared_error(y_test, y_pre)
print(mse)
```
请注意,当使用不同的指标时,解释和解读结果的方式也会有所不同,因此请根据你的具体问题和数据类型选择适当的指标。
相关问题
import pandas as pd df = pd.read_csv('property-data.csv') print (df['NUM_BEDROOMS']) print (df['NUM_BEDROOMS'].isnull())这段代码什么意思
这段代码的意思是:
1. 首先,使用 `import pandas as pd` 导入 pandas 库。
2. 然后,使用 `pd.read_csv` 函数读取名为 `property-data.csv` 的 CSV 文件,并将其存储在变量 `df` 中。
3. 接下来,使用 `print(df[NUM_BEDROOMS])` 输出 `df` 中名为 `NUM_BEDROOMS` 的列的值。
4. 最后,使用 `print(df[NUM_BEDROOMS].isnull())` 输出 `df` 中名为 `NUM_BEDROOMS` 的列的缺失值情况,如果该值为缺失值,则输出 `True`,否则输出 `False`。
这段代码的作用是读取 CSV 文件,然后输出名为 `NUM_BEDROOMS` 的列的值,并检查该列的缺失值情况。
Traceback (most recent call last): File "D:\pythonproject\data\Work.py", line 32, in <module> data['tip','total_tips'].fillna(data['tip','total_tips'].mean(), inplace=True) File "D:\pythonproject\venv\lib\site-packages\pandas\core\frame.py", line 3761, in __getitem__ indexer = self.columns.get_loc(key) File "D:\pythonproject\venv\lib\site-packages\pandas\core\indexes\base.py", line 3654, in get_loc raise KeyError(key) from err KeyError: ('tip', 'total_tips')
这个错误提示是因为您使用了一个元组作为列名来访问数据,但 DataFrame 中不支持这种方式。您需要使用方括号 `[]` 来分别指定列名,或者使用 `loc[]` 方法来访问一个或多个列。请尝试以下代码:
```python
import pandas as pd
data = pd.read_csv('your_data.csv') # 读取数据
data[['tip', 'total_tips']].fillna(data[['tip', 'total_tips']].mean(), inplace=True)
```
或者:
```python
import pandas as pd
data = pd.read_csv('your_data.csv') # 读取数据
data.loc[:, ['tip', 'total_tips']] = data.loc[:, ['tip', 'total_tips']].fillna(data.mean())
```
这两种方式都可以对指定的两列数据进行缺失值填充。
阅读全文