运行结果:
程序代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
#将excel中的数据进行读取分析
import openpyxl
import numpy as np
import math
import matplotlib.pyplot as pit
sheet = wk.active
rows = sheet.max_row
cols = sheet.max_column
lst1 = []
lst2 = []
for i in range ( 1 ,rows + 1 ):
size1 = sheet.cell(i, 1 ).value
lst1.append(size1)
size2 = sheet.cell(i, 2 ).value
lst2.append(size2)
num = 0
dic_size = {}
for item in lst1:
dic_size[lst1[num]] = lst2[num]
num + = 1
#弄成百分比的形式
lst_total = []
for item in dic_size:
lst_total.append([item,dic_size[item]])
labels = [item[ 0 ] for item in lst_total] #使用列表生成式,得到饼图的标签
fraces = [item[ 1 ] for item in lst_total] #饼图中的数据源
pit.rcParams[ 'font.family' ] = [ 'SimHei' ] #单独的表格乱码的处理方式
pit.scatter(labels,fraces)
pit.plot(labels,fraces,color = 'green' )
pit.bar(labels,fraces,width = 5 ,color = 'red' )
z1 = np.polyfit(labels,fraces, 2 )
p1 = np.poly1d(z1)
x = np.linspace( 0 , 500 , 50 )
y = - 0.00024 * (x * * 2 ) + 0.1013 * (x) + 10.23
pit.plot(x,y,color = 'purple' )
#pit.savefig('图.jpg')
yre = []
for item in labels:
y = - 0.00024 * (item * * 2 ) + 0.1013 * (item) + 10.23
yre.append( round (y, 6 ))
print (fraces)
print (yre)
result = []
a = 0
mse = 0
mae = 0
for i in range ( 0 , 10 ):
a + = round (fraces[i] - yre[i], 6 )
mae + = round (math.fabs(fraces[i] - yre[i]), 6 )
for i in range ( 0 , 10 ):
result.append( round (fraces[i] - yre[i] - round (a / 10 , 6 ), 6 ))
mse + = round ((fraces[i] - yre[i] - round (a / 10 , 6 )) * (fraces[i] - yre[i] - round (a / 10 , 6 )), 6 )
print (result)
print ( '均值' , round (a / 10 , 6 ))
print ( '均方误差' , round (mse / 10 , 6 ))
rmse = math.sqrt( round (mse / 10 , 6 ))
print ( '均方根误差' , round (rmse, 6 ))
print ( '平均绝对误差' , round (mae / 10 , 6 ))
print ( 'R平方的数值' , 1 - (( round (a / 10 , 6 )) * round (a / 10 , 6 )) / round (mse / 10 , 6 ))
print (p1)
#pit.show()
|
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://www.cnblogs.com/dazhi151/p/13424419.html