第6回全国人口センサスデータセット【指標】
概要
该数据集来源于第六次全国人口普查,提供了详细的乡镇级人口统计数据。数据集涵盖了全国各乡镇的人口分布情况,包括常住人口数量、城镇人口数量、城镇化率、性别分布、男女比例、少数民族比例、家庭户数、家庭人口数量以及平均户规模等重要指标。这些信息以Excel(xlsx)表格的形式存储,旨在为用户提供全面的人口结构视图,以便进行深入分析和研究。
数据集特点:
- 地理覆盖:全国乡镇级别
- 数据格式:Excel(xlsx)
- 指标内容:常住人口、城镇人口、城镇化率、性别分布、男女比例、少数民族比例、家庭户数、家庭人口数量、户规模
- 应用场景:人口统计分析、城乡发展研究、社会经济规划、政策制定依据等
通过本数据集,研究人员和政策制定者可以深入了解我国乡镇层面的人口结构特征和发展状况。这对于评估公共服务需求、规划基础设施建设、制定相关政策等方面具有重要的参考价值。数据集不仅支持学术研究,还为企业和政府部门提供了宝贵的数据支持。
プレビュー
| 常住人口 | 城镇人口 | 城镇化率 | 男性 | 女性 | 男女比例 | 少数民族比例 | 家庭户数 | 家庭人口 | 户规模(人/户) |
|---|---|---|---|---|---|---|---|---|---|
| 上海_-嘉定区_-嘉定区 | 1471231 | 1223354 | 83.15% | 789508 | 681723 | 115.81 | 1.36 | 542806 | 1288782 |
| 上海_-嘉定区_-奉贤区 | 1083463 | 636546 | 58.75% | 565283 | 518180 | 109.09 | 0.95 | 407964 | 982553 |
| 上海_-嘉定区_-宝山区 | 1904886 | 1844435 | 96.83% | 1016282 | 888604 | 114.37 | 0.92 | 673997 | 1719286 |
| 上海_-嘉定区_-崇明区 | 68.81 | 13.92 | |||||||
| 上海_-嘉定区_-徐汇区 | 1085130 | 1085130 | 100% | 539751 | 545379 | 98.97 | 1.2 | 383017 | 964158 |
| 上海_-嘉定区_-普陀区 | 1288881 | 1288881 | 100% | 650774 | 638107 | 101.99 | 1.15 | 463541 | 1174897 |
| 上海_-嘉定区_-杨浦区 | 1313222 | 1313222 | 100% | 664774 | 648448 | 102.52 | 1.11 | 457767 | 1165525 |
| 上海_-嘉定区_-松江区 | 1582398 | 1342889 | 84.86% | 826408 | 755990 | 109.31 | 1.6 | 503027 | 1280921 |
| 上海_-嘉定区_-浦东新区 | 5044430 | 4487147 | 88.95% | 2606153 | 2438277 | 106.89 | 1.16 | 1815251 | 4555874 |
| 上海_-嘉定区_-虹口区 | 79.7 | 15.26 | |||||||
| 上海_-嘉定区_-金山区 | 732438 | 452360 | 61.76% | 372691 | 359747 | 103.6 | 0.95 | 245017 | 680867 |
| 上海_-嘉定区_-长宁区 | 690571 | 690571 | 100% | 334570 | 356001 | 93.98 | 1.48 | 242972 | 604490 |
| 上海_-嘉定区_-闵行区 | 2429372 | 2429372 | 100% | 1259640 | 1169732 | 107.69 | 1.63 | 875243 | 2154139 |
| 上海_-嘉定区_-青浦区 | 1081022 | 815411 | 75.43% | 575044 | 505978 | 113.65 | 1.32 | 390639 | 950069 |
| 上海_-嘉定区_-静安区 | 106.28 | 26.88 | |||||||
| 上海_-嘉定区_-黄浦区 | 678670 | 678670 | 100% | 334177 | 344493 | 97.01 | 1.17 | 246735 | 630047 |
| 上海_-奉贤区_-嘉定区 | 1471231 | 1223354 | 83.15% | 789508 | 681723 | 115.81 | 1.36 | 542806 | 1288782 |
| 上海_-奉贤区_-奉贤区 | 1083463 | 636546 | 58.75% | 565283 | 518180 | 109.09 | 0.95 | 407964 | 982553 |
| 上海_-奉贤区_-宝山区 | 1904886 | 1844435 | 96.83% | 1016282 | 888604 | 114.37 | 0.92 | 673997 | 1719286 |
| 上海_-奉贤区_-崇明区 | 68.81 | 13.92 | |||||||
| 上海_-奉贤区_-徐汇区 | 1085130 | 1085130 | 100% | 539751 | 545379 | 98.97 | 1.2 | 383017 | 964158 |
| 上海_-奉贤区_-普陀区 | 1288881 | 1288881 | 100% | 650774 | 638107 | 101.99 | 1.15 | 463541 | 1174897 |
| 上海_-奉贤区_-杨浦区 | 1313222 | 1313222 | 100% | 664774 | 648448 | 102.52 | 1.11 | 457767 | 1165525 |
| 上海_-奉贤区_-松江区 | 1582398 | 1342889 | 84.86% | 826408 | 755990 | 109.31 | 1.6 | 503027 | 1280921 |
| 上海_-奉贤区_-浦东新区 | 5044430 | 4487147 | 88.95% | 2606153 | 2438277 | 106.89 | 1.16 | 1815251 | 4555874 |
| 上海_-奉贤区_-虹口区 | 79.7 | 15.26 | |||||||
| 上海_-奉贤区_-金山区 | 732438 | 452360 | 61.76% | 372691 | 359747 | 103.6 | 0.95 | 245017 | 680867 |
| 上海_-奉贤区_-长宁区 | 690571 | 690571 | 100% | 334570 | 356001 | 93.98 | 1.48 | 242972 | 604490 |
| 上海_-奉贤区_-闵行区 | 2429372 | 2429372 | 100% | 1259640 | 1169732 | 107.69 | 1.63 | 875243 | 2154139 |
| 上海_-奉贤区_-青浦区 | 1081022 | 815411 | 75.43% | 575044 | 505978 | 113.65 | 1.32 | 390639 | 950069 |
| 上海_-奉贤区_-静安区 | 106.28 | 26.88 | |||||||
| 上海_-奉贤区_-黄浦区 | 678670 | 678670 | 100% | 334177 | 344493 | 97.01 | 1.17 | 246735 | 630047 |
| 上海_-宝山区_-嘉定区 | 1471231 | 1223354 | 83.15% | 789508 | 681723 | 115.81 | 1.36 | 542806 | 1288782 |
| 上海_-宝山区_-奉贤区 | 1083463 | 636546 | 58.75% | 565283 | 518180 | 109.09 | 0.95 | 407964 | 982553 |
| 上海_-宝山区_-宝山区 | 1904886 | 1844435 | 96.83% | 1016282 | 888604 | 114.37 | 0.92 | 673997 | 1719286 |
| 上海_-宝山区_-崇明区 | 68.81 | 13.92 | |||||||
| 上海_-宝山区_-徐汇区 | 1085130 | 1085130 | 100% | 539751 | 545379 | 98.97 | 1.2 | 383017 | 964158 |
| 上海_-宝山区_-普陀区 | 1288881 | 1288881 | 100% | 650774 | 638107 | 101.99 | 1.15 | 463541 | 1174897 |
| 上海_-宝山区_-杨浦区 | 1313222 | 1313222 | 100% | 664774 | 648448 | 102.52 | 1.11 | 457767 | 1165525 |
| 上海_-宝山区_-松江区 | 1582398 | 1342889 | 84.86% | 826408 | 755990 | 109.31 | 1.6 | 503027 | 1280921 |
| 上海_-宝山区_-浦东新区 | 5044430 | 4487147 | 88.95% | 2606153 | 2438277 | 106.89 | 1.16 | 1815251 | 4555874 |
| 上海_-宝山区_-虹口区 | 79.7 | 15.26 | |||||||
| 上海_-宝山区_-金山区 | 732438 | 452360 | 61.76% | 372691 | 359747 | 103.6 | 0.95 | 245017 | 680867 |
| 上海_-宝山区_-长宁区 | 690571 | 690571 | 100% | 334570 | 356001 | 93.98 | 1.48 | 242972 | 604490 |
| 上海_-宝山区_-闵行区 | 2429372 | 2429372 | 100% | 1259640 | 1169732 | 107.69 | 1.63 | 875243 | 2154139 |
| 上海_-宝山区_-青浦区 | 1081022 | 815411 | 75.43% | 575044 | 505978 | 113.65 | 1.32 | 390639 | 950069 |
| 上海_-宝山区_-静安区 | 106.28 | 26.88 | |||||||
| 上海_-宝山区_-黄浦区 | 678670 | 678670 | 100% | 334177 | 344493 | 97.01 | 1.17 | 246735 | 630047 |
| 上海_-崇明区_-嘉定区 | 1471231 | 1223354 | 83.15% | 789508 | 681723 | 115.81 | 1.36 | 542806 | 1288782 |
サンプルコード (Python ローダ)
我们可以使用另一种深度学习模型——自动编码器(Autoencoder)来进行特征学习和降维。自动编码器可以用于无监督学习,帮助我们发现数据中的潜在结构,并可能提高后续预测任务的性能。
自动编码器通常用于降噪、特征提取或生成新数据。在这个场景下,我们可以使用自动编码器来学习人口统计数据的紧凑表示,然后使用这些表示来进行城镇化率的预测。
以下是使用PyTorch构建一个简单的自动编码器模型,并使用其编码后的特征进行城镇化率预测的基础代码示例:
首先,确保安装了必要的库:
pip install pandas torch以下是使用PyTorch构建自动编码器模型的基础代码:
import pandas as pd
import torch
import torch.nn as nn
import torch.optim as optim
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from torch.utils.data import TensorDataset, DataLoader
# 读取数据
file_path = 'path_to_your_file.xlsx' # 替换为你的文件路径
df = pd.read_excel(file_path)
# 数据预处理
# 假设目标是预测城镇化率
features = ['常住人口', '城镇人口', '男性', '女性', '男女比例', '少数民族比例', '家庭户数', '家庭人口', '户规模(人/户)']
target = '城镇化率'
# 将数据划分为特征和目标变量
X = df[features].values
y = df[target].values
# 数据标准化
scaler = StandardScaler()
X = scaler.fit_transform(X)
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 转换为张量
X_train_tensor = torch.tensor(X_train, dtype=torch.float32)
y_train_tensor = torch.tensor(y_train, dtype=torch.float32).view(-1, 1)
X_test_tensor = torch.tensor(X_test, dtype=torch.float32)
y_test_tensor = torch.tensor(y_test, dtype=torch.float32).view(-1, 1)
# 定义自动编码器模型
class Autoencoder(nn.Module):
def __init__(self, input_dim, encoding_dim):
super(Autoencoder, self).__init__()
self.encoder = nn.Sequential(
nn.Linear(input_dim, encoding_dim),
nn.ReLU(True)
)
self.decoder = nn.Sequential(
nn.Linear(encoding_dim, input_dim),
nn.ReLU(True)
)
def forward(self, x):
x = self.encoder(x)
x = self.decoder(x)
return x
input_dim = len(features)
encoding_dim = 16
autoencoder = Autoencoder(input_dim, encoding_dim)
# 定义损失函数和优化器
criterion = nn.MSELoss()
optimizer = optim.Adam(autoencoder.parameters(), lr=0.001)
# 训练自动编码器
num_epochs = 100
for epoch in range(num_epochs):
for data in X_train_tensor:
# 前向传播
output = autoencoder(data)
loss = criterion(output, data)
# 反向传播和优化
optimizer.zero_grad()
loss.backward()
optimizer.step()
if (epoch + 1) % 10 == 0:
print(f'Epoch [{epoch+1}/{num_epochs}], Loss: {loss.item():.4f}')
# 使用自动编码器进行编码
def encode_data(model, data):
model.eval()
with torch.no_grad():
encoded_data = model.encoder(data)
return encoded_data
encoded_X_train = encode_data(autoencoder, X_train_tensor)
encoded_X_test = encode_data(autoencoder, X_test_tensor)
# 构建MLP模型用于预测城镇化率
class MLP(nn.Module):
def __init__(self, input_dim, output_dim):
super(MLP, self).__init__()
self.fc1 = nn.Linear(input_dim, 32)
self.fc2 = nn.Linear(32, 16)
self.fc3 = nn.Linear(16, output_dim)
self.relu = nn.ReLU()
def forward(self, x):
x = self.relu(self.fc1(x))
x = self.relu(self.fc2(x))
x = self.fc3(x)
return x
# 定义MLP模型
mlp = MLP(encoding_dim, 1)
# 定义损失函数和优化器
criterion = nn.MSELoss()
optimizer = optim.Adam(mlp.parameters(), lr=0.001)
# 训练MLP模型
num_epochs = 100
for epoch in range(num_epochs):
for inputs, targets in zip(encoded_X_train, y_train_tensor):
# 前向传播
outputs = mlp(inputs)
loss = criterion(outputs, targets)
# 反向传播和优化
optimizer.zero_grad()
loss.backward()
optimizer.step()
if (epoch + 1) % 10 == 0:
print(f'Epoch [{epoch+1}/{num_epochs}], Loss: {loss.item():.4f}')
# 测试模型
mlp.eval()
with torch.no_grad():
test_loss = 0
for inputs, targets in zip(encoded_X_test, y_test_tensor):
outputs = mlp(inputs)
test_loss += criterion(outputs, targets).item()
print(f'Test Loss: {test_loss / len(encoded_X_test):.4f}')这段代码展示了如何使用PyTorch构建一个自动编码器模型来学习人口统计数据的紧凑表示,并使用这些表示来训练一个简单的多层感知器(MLP)模型以预测城镇化率。请注意,在实际应用中可能需要根据数据的具体情况进行调整,比如调整隐藏层大小、学习率等超参数。此外,这里使用了均方误差(MSE)作为损失函数,适合回归任务。