编写程序,读取数据集http://lib.stat.cmu.edu/datasets/boston 并划分数据集,使用sklearn函数实现标准化,并打印输出结果。
时间: 2024-10-18 16:13:40 浏览: 33
final.c.zip_数据结构_C/C++_
首先,我们需要导入所需的Python库,然后下载数据集并进行预处理。以下是使用`pandas`加载数据,`sklearn`进行数据标准化以及划分训练集和测试集的一个示例步骤:
```python
# 导入所需库
import requests
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
# 下载数据集
url = "http://lib.stat.cmu.edu/datasets/boston"
data = requests.get(url).content
boston_df = pd.read_csv(pd.compat.StringIO(data.decode('utf-8')))
# 检查数据前几行以了解数据结构
print(boston_df.head())
# 数据标准化
scaler = StandardScaler()
standardized_data = scaler.fit_transform(boston_df.values)
# 将数据转换回DataFrame
standardized_boston_df = pd.DataFrame(standardized_data, columns=boston_df.columns)
# 划分数据集(假设80%用于训练,20%用于测试)
train_data, test_data, train_labels, test_labels = train_test_split(standardized_boston_df.drop('PRICE', axis=1), boston_df['PRICE'], test_size=0.2, random_state=42)
# 打印标准化后的训练数据和标签
print("Standardized Training Data:")
print(train_data.head())
print("\nTraining Labels:")
print(train_labels.head())
# 打印标准化后的测试数据和标签
print("Standardized Test Data:")
print(test_data.head())
print("\nTest Labels:")
print(test_labels.head())
```
在这个例子中,我们假定"PRICE"列是目标变量,所以我们在划分数据时不包括它。注意,实际运行此代码需要安装`requests`库,如果还没有安装,可以使用`pip install requests`命令安装。
阅读全文