大数据分析与挖掘 练习题

第一题

下图是2020年全国分地区农村居民人均可支配收入来源数据,请机器学习模型进行排序和分类分析。

demo.py

import pandas as pd
import numpy as np
from sklearn.linear_model import SGDClassifier
from sklearn.model_selection import cross_val_score

data = pd.read_csv('./data/form.csv')  # 拿到csv文件中数据,根据数据生成一个Dataframe
# 原表格数据展示
print(data)
# 根据人均可支配收入这一栏进行降序排列
sorted_data = data.sort_values(by=['可支配收入'], ascending=False)
print("\n根据可支配收入这一栏进行降序排列:")
print(sorted_data)  # 排完序后打印看看

# 分类规定
# 人均可支配收入   类别 数字化特征
# [20000,25000)  高     2
# [15000,20000)  中     1
# [10000,15000)  低     0
label = []  # 分类标签
# 拿到每个城市的分类标签,放在label数组中
for index, row in data.iterrows():
    income = row['可支配收入']
    if 20000 <= income < 25000:
        label.append(2)
    elif 15000 <= income < 20000:
        label.append(1)
    else:
        label.append(0)

x = data['可支配收入'].values.reshape(-1, 1)  # 将数据转换成n行1列
y = np.array(label)
# 用SGDClassifier分类器进行分类
sgd_clf = SGDClassifier(max_iter=1000, random_state=42)
sgd_clf.fit(x, label)
# 交叉验证查看模型精度
print("\n交叉验证查看模型精度:",end="")
print(cross_val_score(sgd_clf, x, label, cv=3, scoring="accuracy"))
# 测试模型,看看人均可支配收入为12000的时候,归到什么类别
print("\n均可支配收入为12000的时候,归到什么类别:",end="")
print(sgd_clf.predict([[12000]]))

./data/form.csv

地区,可支配收入,工资性收入,经营净收入,财产净收入,转移净收入
全国,17131.5,6973.9,6077.4,418.8,3661.3
北京,30125.7,21173.8,1612.6,3103.3,4235.9
天津,25690.6,14384.5,5684,1450.9,4286.7
河北,16467.0,8598.4,55172,351.6,1999.8
山西,13878.0,6347.2,3613.6,204.8,3712.4
内蒙古,16566.9,3352.9,8827.7,498.2,3888.1
辽宁,17450.3,6511.3,7074.7,296.9,2767.5
吉林,16067.0,4018.8,914.1,364.5,2542.6
黑龙江,16168.4,3152.2,8452.5,847.7,3716.1
上海,34911.3,21067.2,1944.0,1206.9,10693.2
江苏,24198.5,11789.0,6444.5 ,895.1,5069.8
浙江,31930.5,19509.7,7600.6,949.2,3871.0
安徽,16620.2,5838.6,6222.6,334.3,4224.7
福建,20880.3,9411.0,7509.8,392.9,3566.6
江西,16980.8,7301.2,5866.0,279.1,3534.6
山东,18753.2,7590.9,8094.8,485.2,2582.3
河南,16107.9,6153.4,6174.9,237.7,4541.9
湖北,16305.9,5271.6,6745.4,214.4,4074.5
湖南,16584.6,6569.6,5804.0,231.7,3979.3
广东,20143.4,10613.5,4584.9,616.1,4328.9
广西,14814.9,4638.2,5867.7,352.2,3956.8
海南,16278.8,5752.8,6124.4,306.8,3094.9
重庆,16361.4,5740.5,5665.7,406.1,4649.1
四川,15929.1,4977.8,6152.0,510.2,4289.1
贵州,11642.3,4822.4,3444.6,388.5,3186.9
云南,12841.9,3975.0,6522.6,197.6,2146.8
西藏,14298.4,4778.3,6912.1,609.9,2298.1
陕西,13316.5,5387.8,4150.0,228.6,3550.0
甘肃,10344.3,2965.9,4650.5,135.3,2572.6
青海,12342.5,4005.7,4084.9,414.2,3037.7
宁夏,13689.4,5150.0,5549.4,393.5,2796.5
新疆,14056.1,4024.0,6371.7,299.5,3360.9

输出:

     地区    可支配收入    工资性收入    经营净收入   财产净收入    转移净收入
0    全国  17131.5   6973.9   6077.4   418.8   3661.3
1    北京  30125.7  21173.8   1612.6  3103.3   4235.9
2    天津  25690.6  14384.5   5684.0  1450.9   4286.7
3    河北  16467.0   8598.4  55172.0   351.6   1999.8
4    山西  13878.0   6347.2   3613.6   204.8   3712.4
5   内蒙古  16566.9   3352.9   8827.7   498.2   3888.1
6    辽宁  17450.3   6511.3   7074.7   296.9   2767.5
7    吉林  16067.0   4018.8    914.1   364.5   2542.6
8   黑龙江  16168.4   3152.2   8452.5   847.7   3716.1
9    上海  34911.3  21067.2   1944.0  1206.9  10693.2
10   江苏  24198.5  11789.0   6444.5   895.1   5069.8
11   浙江  31930.5  19509.7   7600.6   949.2   3871.0
12   安徽  16620.2   5838.6   6222.6   334.3   4224.7
13   福建  20880.3   9411.0   7509.8   392.9   3566.6
14   江西  16980.8   7301.2   5866.0   279.1   3534.6
15   山东  18753.2   7590.9   8094.8   485.2   2582.3
16   河南  16107.9   6153.4   6174.9   237.7   4541.9
17   湖北  16305.9   5271.6   6745.4   214.4   4074.5
18   湖南  16584.6   6569.6   5804.0   231.7   3979.3
19   广东  20143.4  10613.5   4584.9   616.1   4328.9
20   广西  14814.9   4638.2   5867.7   352.2   3956.8
21   海南  16278.8   5752.8   6124.4   306.8   3094.9
22   重庆  16361.4   5740.5   5665.7   406.1   4649.1
23   四川  15929.1   4977.8   6152.0   510.2   4289.1
24   贵州  11642.3   4822.4   3444.6   388.5   3186.9
25   云南  12841.9   3975.0   6522.6   197.6   2146.8
26   西藏  14298.4   4778.3   6912.1   609.9   2298.1
27   陕西  13316.5   5387.8   4150.0   228.6   3550.0
28   甘肃  10344.3   2965.9   4650.5   135.3   2572.6
29   青海  12342.5   4005.7   4084.9   414.2   3037.7
30   宁夏  13689.4   5150.0   5549.4   393.5   2796.5
31   新疆  14056.1   4024.0   6371.7   299.5   3360.9

根据可支配收入这一栏进行降序排列:
     地区    可支配收入    工资性收入    经营净收入   财产净收入    转移净收入
9    上海  34911.3  21067.2   1944.0  1206.9  10693.2
11   浙江  31930.5  19509.7   7600.6   949.2   3871.0
1    北京  30125.7  21173.8   1612.6  3103.3   4235.9
2    天津  25690.6  14384.5   5684.0  1450.9   4286.7
10   江苏  24198.5  11789.0   6444.5   895.1   5069.8
13   福建  20880.3   9411.0   7509.8   392.9   3566.6
19   广东  20143.4  10613.5   4584.9   616.1   4328.9
15   山东  18753.2   7590.9   8094.8   485.2   2582.3
6    辽宁  17450.3   6511.3   7074.7   296.9   2767.5
0    全国  17131.5   6973.9   6077.4   418.8   3661.3
14   江西  16980.8   7301.2   5866.0   279.1   3534.6
12   安徽  16620.2   5838.6   6222.6   334.3   4224.7
18   湖南  16584.6   6569.6   5804.0   231.7   3979.3
5   内蒙古  16566.9   3352.9   8827.7   498.2   3888.1
3    河北  16467.0   8598.4  55172.0   351.6   1999.8
22   重庆  16361.4   5740.5   5665.7   406.1   4649.1
17   湖北  16305.9   5271.6   6745.4   214.4   4074.5
21   海南  16278.8   5752.8   6124.4   306.8   3094.9
8   黑龙江  16168.4   3152.2   8452.5   847.7   3716.1
16   河南  16107.9   6153.4   6174.9   237.7   4541.9
7    吉林  16067.0   4018.8    914.1   364.5   2542.6
23   四川  15929.1   4977.8   6152.0   510.2   4289.1
20   广西  14814.9   4638.2   5867.7   352.2   3956.8
26   西藏  14298.4   4778.3   6912.1   609.9   2298.1
31   新疆  14056.1   4024.0   6371.7   299.5   3360.9
4    山西  13878.0   6347.2   3613.6   204.8   3712.4
30   宁夏  13689.4   5150.0   5549.4   393.5   2796.5
27   陕西  13316.5   5387.8   4150.0   228.6   3550.0
25   云南  12841.9   3975.0   6522.6   197.6   2146.8
29   青海  12342.5   4005.7   4084.9   414.2   3037.7
24   贵州  11642.3   4822.4   3444.6   388.5   3186.9
28   甘肃  10344.3   2965.9   4650.5   135.3   2572.6

交叉验证查看模型精度:[0.45454545 0.45454545 0.4       ]

均可支配收入为12000的时候,归到什么类别:[0]

第二题

下图是2020年全国分地区农村居民人均可支配收入数据,请深度学习模型进行预测分析。

 

demo2.py

import pandas as pd
import numpy as np
from sklearn.linear_model import LinearRegression

data_pd = pd.read_csv('./data/form2.csv', sep=',')   # 拿到csv文件中数据,根据数据生成一个Dataframe
# 把原数据打印看看
print("原数据:")
print(data_pd)

train_data = []  # 训练数据
label = []  # 标签
# 每行的最后一列为标签,前面几行为训练数据
for row in data_pd.index:
    data_row = data_pd.iloc[row].values
    label.append(data_row[-1:])
    train_data.append(data_row[1:-1])

# 将train_data、label的数据类型转成ndarry
train_data = np.array(train_data)
label = np.array(label)

# 训练一个线性回归模型
lin_reg = LinearRegression()
lin_reg.fit(train_data, label)

# 测试模型,预测下一年全国和各地区的人均可支配收入
income_predictions = lin_reg.predict(train_data)
print("预测结果: ")
print(income_predictions)

 ./data/form2.csv

地名,2014,2015,2016,2017,2018,2019,2020
全国,10488.9,11421.7,12363.4,13432.4,14617.0,16020.7,17131.5
北京,18667.3,20568.7,22309.5,24240.5,26490.3,23928.4,30125.7
天津,17014.2,18481.6,20075.6,21753.7,23065.2,24804.1,25590.6
河北,10186.1,11050.5,11919.4,12860.9,14030.9,15373.1,16467.0
山西,8609.4,9453.9,10082.5,10767.5,11750.0,12902.4,13878.0
内蒙古,9976.3,10775.9,11609.0,12584.3,13802.6,15282.8,16566.9
辽宁,11191.5,12056.9,12880.7,13746.8,14656.3,16108.3,17450.3
吉林,10780.1,11326.2,12122.9,12950.4,13748.2,14936.0,16067.0
黑龙江,10453.2,1095.2,11831.3,12664.8,13803.7,14962.1,16168.4
上海,21191.6,23205.2,25520.4,27825.0,30374.7,33195.2,34911.3
江苏,14958.4,15266.7,17605.6,19158.0,20845.1,22675.4,24198.5
浙江,19373.3,21125.0,22866.1,24955.8,27302.4,29875.8,31930.5
安微,9916.4,10320.7,11720.5,12758.2,13996.0,15416.7,16620.2
福建,12650.2,13792.7,14999.2,16334.8,17821.2,13560.4,20380.3
山西,10116.6,11139.1,12137.7,13241.8,14459.9,15796.3,16980.8
山东,11682.3,12930.4,13954.1,15117.5,16297.0,17775.5,18753.2
河南,9966.1,10352.9,11696.7,12719.2,13830.7,15163.7,16107.9
湖北,10849.1,11843.9,12725.0,13812.1,14377.8,16390.9,16306.9
湖南,10060.2,10992.5,11930.4,12935.8,14092.5,15394.8,16584.6
广东,12245.8,13360.4,14512.2,15779.7,17167.7,18813.4,20143.4
广西,8683.2,9466.6,10359.5,11325.5,12434.3,13676.7,14314.9
海南,9912.6,10357.6,11842.9,12901.8,13988.9,15113.1,16278.8
重庆,9489.8,10504.7,11548.8,12637.9,13731.2,15133.3,16361.4
四川,9347.7,10247.4,11203.1,12225.9,13331.4,14670.1,15929.1
贵州,6671.2,7386.9,8090.3,8869.1,9716.1,10756.3,11642.3
云南,7456.1,8242.1,9019.8,9862.2,10767.9,11902.4,12841.9
西藏,7359.2,8243.7,9093.8,10330.2,11449.8,12951.0,14598.4
陕西,7932.2,8688.9,9396.4,10264.5,11212.8,12325.7,13316.5
甘肃,6276.6,6936.2,7456.9,8076.1,8804.1,9628.9,10344.3
青海,7282.7,7933.4,8664.4,9462.3,10393.3,11499.4,12342.5
宁夏,8410.0,91187,9851.6,10737.9,11707.6,12858.4,13389.4
新疆,8723.8,9425.1,10183.2,11045.3,11974.5,13121.7,14056.1

 输出

原数据:
     地名     2014     2015     2016     2017     2018     2019     2020
0    全国  10488.9  11421.7  12363.4  13432.4  14617.0  16020.7  17131.5
1    北京  18667.3  20568.7  22309.5  24240.5  26490.3  23928.4  30125.7
2    天津  17014.2  18481.6  20075.6  21753.7  23065.2  24804.1  25590.6
3    河北  10186.1  11050.5  11919.4  12860.9  14030.9  15373.1  16467.0
4    山西   8609.4   9453.9  10082.5  10767.5  11750.0  12902.4  13878.0
5   内蒙古   9976.3  10775.9  11609.0  12584.3  13802.6  15282.8  16566.9
6    辽宁  11191.5  12056.9  12880.7  13746.8  14656.3  16108.3  17450.3
7    吉林  10780.1  11326.2  12122.9  12950.4  13748.2  14936.0  16067.0
8   黑龙江  10453.2   1095.2  11831.3  12664.8  13803.7  14962.1  16168.4
9    上海  21191.6  23205.2  25520.4  27825.0  30374.7  33195.2  34911.3
10   江苏  14958.4  15266.7  17605.6  19158.0  20845.1  22675.4  24198.5
11   浙江  19373.3  21125.0  22866.1  24955.8  27302.4  29875.8  31930.5
12   安微   9916.4  10320.7  11720.5  12758.2  13996.0  15416.7  16620.2
13   福建  12650.2  13792.7  14999.2  16334.8  17821.2  13560.4  20380.3
14   山西  10116.6  11139.1  12137.7  13241.8  14459.9  15796.3  16980.8
15   山东  11682.3  12930.4  13954.1  15117.5  16297.0  17775.5  18753.2
16   河南   9966.1  10352.9  11696.7  12719.2  13830.7  15163.7  16107.9
17   湖北  10849.1  11843.9  12725.0  13812.1  14377.8  16390.9  16306.9
18   湖南  10060.2  10992.5  11930.4  12935.8  14092.5  15394.8  16584.6
19   广东  12245.8  13360.4  14512.2  15779.7  17167.7  18813.4  20143.4
20   广西   8683.2   9466.6  10359.5  11325.5  12434.3  13676.7  14314.9
21   海南   9912.6  10357.6  11842.9  12901.8  13988.9  15113.1  16278.8
22   重庆   9489.8  10504.7  11548.8  12637.9  13731.2  15133.3  16361.4
23   四川   9347.7  10247.4  11203.1  12225.9  13331.4  14670.1  15929.1
24   贵州   6671.2   7386.9   8090.3   8869.1   9716.1  10756.3  11642.3
25   云南   7456.1   8242.1   9019.8   9862.2  10767.9  11902.4  12841.9
26   西藏   7359.2   8243.7   9093.8  10330.2  11449.8  12951.0  14598.4
27   陕西   7932.2   8688.9   9396.4  10264.5  11212.8  12325.7  13316.5
28   甘肃   6276.6   6936.2   7456.9   8076.1   8804.1   9628.9  10344.3
29   青海   7282.7   7933.4   8664.4   9462.3  10393.3  11499.4  12342.5
30   宁夏   8410.0  91187.0   9851.6  10737.9  11707.6  12858.4  13389.4
31   新疆   8723.8   9425.1  10183.2  11045.3  11974.5  13121.7  14056.1
预测结果: 
[[17186.10368046]
 [30105.73649876]
 [25980.56771292]
 [16491.78826325]
 [13760.89994907]
 [16446.01152777]
 [16769.98242851]
 [15888.82865998]
 [16389.1064388 ]
 [34922.47910975]
 [24285.53961   ]
 [31835.23731015]
 [16625.18815539]
 [20327.15478864]
 [16999.0335761 ]
 [18745.48169532]
 [16335.18698866]
 [16305.83936643]
 [16523.82039608]
 [20039.76152466]
 [14853.69007152]
 [16354.92180707]
 [16067.14487963]
 [15723.89363459]
 [11681.76211999]
 [12816.29785057]
 [14209.8050068 ]
 [13426.56944116]
 [10546.46005521]
 [12531.46434096]
 [13419.93064214]
 [14182.91246965]]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

漂流の少年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值