运行结果:
程序代码如下:
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