基于单层决策树的AdaBoost算法源码
Mian.py
1 # -*- coding: utf-8 -*- 2 # coding: UTF-8 3 4 import numpy as np 5 from AdaBoost import AdaBoost 6 from sklearn.model_selection import train_test_split 7 from sklearn.metrics import accuracy_score 8 9 def main(): 10 11 # load data 12 dataset = np.loadtxt(‘data.txt‘, delimiter=",") 13 x = dataset[:, 0:8] 14 y = dataset[:, 8] 15 16 # prepare train data 17 x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2, random_state=0) 18 19 # prepare test and train data 20 x_train=x_train.transpose() 21 y_train[y_train==1] = 1 22 y_train[y_train==0] = -1 23 24 x_test=x_test.transpose() 25 y_test[y_test == 1] = 1 26 y_test[y_test == 0] = -1 27 28 # train 29 ada=AdaBoost(x_train, y_train) 30 ada.train(50) 31 32 # predict 33 y_pred = ada.pred(x_test) 34 print("total test", len(y_pred)) 35 print("true pred", len(y_pred[y_pred == y_test])) 36 print("acc", accuracy_score(y_test, y_pred)) 37 38 if __name__==‘__main__‘: 39 main()
AdaBoost.py
1 # -*- coding: utf-8 -*- 2 """ 3 Created on Wed Mar 29 14:19:42 2017 4 5 @author: Jarily 6 """ 7 # coding: UTF-8 8 9 import numpy as np 10 from WeakClassify import DecisionStump 11 from sklearn.metrics import accuracy_score 12 13 class AdaBoost: 14 def __init__(self,X,y,Weaker=DecisionStump): 15 self.X=np.array(X) 16 self.y=np.array(y).flatten(1) 17 self.Weaker=Weaker 18 self.sums=np.zeros(self.y.shape) 19 20 ‘‘‘ 21 W为权值,初试情况为均匀分布,即所有样本都为1/n 22 ‘‘‘ 23 self.W=np.ones((self.X.shape[1],1)).flatten(1)/self.X.shape[1] 24 25 self.Q=0 #弱分类器的实际个数 26 27 # M 为弱分类器的最大数量,可以在main函数中修改 28 29 def train(self,M=5): 30 self.G={} # 表示弱分类器的字典 31 self.alpha={} # 每个弱分类器的参数 32 for i in range(M): 33 self.G.setdefault(i) 34 self.alpha.setdefault(i) 35 for i in range(M): # self.G[i]为第i个弱分类器 36 self.G[i]=self.Weaker(self.X,self.y) 37 e=self.G[i].train(self.W) #根据当前权值进行该个弱分类器训练 38 self.alpha[i]=1.0/2*np.log((1-e)/e) #计算该分类器的系数 39 res=self.G[i].pred(self.X) #res表示该分类器得出的输出 40 41 # 计算当前次数训练精确度 42 print("weak classfier acc", accuracy_score(self.y, res), "\n======================================================") 43 44 # Z表示规范化因子 45 Z=self.W*np.exp(-self.alpha[i]*self.y*res.transpose()) 46 self.W=(Z/Z.sum()).flatten(1) #更新权值 47 self.Q=i 48 # errorcnt返回分错的点的数量,为0则表示perfect 49 if (self.errorcnt(i)==0): 50 print("%d个弱分类器可以将错误率降到0"%(i+1)) 51 break 52 53 54 def errorcnt(self,t): #返回错误分类的点 55 self.sums=self.sums+self.G[t].pred(self.X).flatten(1)*self.alpha[t] 56 57 pre_y=np.zeros(np.array(self.sums).shape) 58 pre_y[self.sums>=0]=1 59 pre_y[self.sums<0]=-1 60 61 t=(pre_y!=self.y).sum() 62 return t 63 64 def pred(self,test_X): #测试最终的分类器 65 test_X=np.array(test_X) 66 sums=np.zeros(test_X.shape[1]) 67 for i in range(self.Q+1): 68 sums=sums+self.G[i].pred(test_X).flatten(1)*self.alpha[i] 69 pre_y=np.zeros(np.array(sums).shape) 70 pre_y[sums>=0]=1 71 pre_y[sums<0]=-1 72 return pre_y
WeakClassifer.py
1 # -*- coding: utf-8 -*- 2 """ 3 Created on Wed Mar 29 14:19:42 2017 4 5 @author: Jarily 6 """ 7 8 import numpy as np 9 10 ‘‘‘ 11 Decision Stump 单层决策树算法 弱分类器 12 ‘‘‘ 13 14 class DecisionStump: 15 def __init__(self,X,y): 16 self.X=np.array(X) 17 self.y=np.array(y) 18 self.N=self.X.shape[0] 19 20 21 22 def train(self,W,steps=100): #返回所有参数中阈值最小的 23 ‘‘‘ 24 W长度为N的向量,表示N个样本的权值 25 threshold_value为阈值 26 threshold_pos为第几个参数 27 threshold_tag为1或者-1.大于阈值则分为threshold_tag,小于阈值则相反 28 ‘‘‘ 29 min = float("inf") #将min初始化为无穷大 30 threshold_value=0; 31 threshold_pos=0; 32 threshold_tag=0; 33 self.W=np.array(W) 34 for i in range(self.N): # value表示阈值,errcnt表示错误的数量 35 value,errcnt = self.findmin(i,1,steps) 36 if (errcnt < min): 37 min = errcnt 38 threshold_value = value 39 threshold_pos = i 40 threshold_tag = 1 41 for i in range(self.N): # -1 42 value,errcnt= self.findmin(i,-1,steps) 43 if (errcnt < min): 44 min = errcnt 45 threshold_value = value 46 threshold_pos = i 47 threshold_tag = -1 48 #最终更新 49 self.threshold_value=threshold_value 50 self.threshold_pos=threshold_pos 51 self.threshold_res=threshold_tag 52 print(self.threshold_value,self.threshold_pos,self.threshold_res) 53 return min 54 55 def findmin(self,i,tag,steps): #找出第i个参数的最小的阈值,tag为1或-1 56 t = 0 57 tmp = self.predintrain(self.X,i,t,tag).transpose() 58 errcnt = np.sum((tmp!=self.y)*self.W) 59 #print now 60 buttom=np.min(self.X[i,:]) #该项属性的最小值,下界 61 up=np.max(self.X[i,:]) #该项属性的最大值,上界 62 minerr = float("inf") #将minerr初始化为无穷大 63 value=0 #value表示阈值 64 st=(up-buttom)/steps #间隔 65 for t in np.arange(buttom,up,st): 66 tmp = self.predintrain(self.X,i,t,tag).transpose() 67 errcnt = np.sum((tmp!=self.y)*self.W) 68 if errcnt < minerr: 69 minerr=errcnt 70 value=t 71 return value,minerr 72 73 def predintrain(self,test_set,i,t,tag): #训练时按照阈值为t时预测结果 74 test_set=np.array(test_set).reshape(self.N,-1) 75 pre_y = np.ones((np.array(test_set).shape[1],1)) 76 pre_y[test_set[i,:]*tag<t*tag]=-1 77 return pre_y 78 79 def pred(self,test_X): #弱分类器的预测 80 test_X=np.array(test_X).reshape(self.N,-1) #转换为N行X列,-1懒得算 81 pre_y = np.ones((np.array(test_X).shape[1],1)) 82 pre_y[test_X[self.threshold_pos,:]*self.threshold_res<self.threshold_value*self.threshold_res]=-1 83 return pre_y 84
data
6,148,72,35,0,33.6,0.627,50,11,85,66,29,0,26.6,0.351,31,08,183,64,0,0,23.3,0.672,32,11,89,66,23,94,28.1,0.167,21,00,137,40,35,168,43.1,2.288,33,15,116,74,0,0,25.6,0.201,30,03,78,50,32,88,31.0,0.248,26,110,115,0,0,0,35.3,0.134,29,02,197,70,45,543,30.5,0.158,53,18,125,96,0,0,0.0,0.232,54,14,110,92,0,0,37.6,0.191,30,010,168,74,0,0,38.0,0.537,34,110,139,80,0,0,27.1,1.441,57,01,189,60,23,846,30.1,0.398,59,15,166,72,19,175,25.8,0.587,51,17,100,0,0,0,30.0,0.484,32,10,118,84,47,230,45.8,0.551,31,17,107,74,0,0,29.6,0.254,31,11,103,30,38,83,43.3,0.183,33,01,115,70,30,96,34.6,0.529,32,13,126,88,41,235,39.3,0.704,27,08,99,84,0,0,35.4,0.388,50,07,196,90,0,0,39.8,0.451,41,19,119,80,35,0,29.0,0.263,29,111,143,94,33,146,36.6,0.254,51,110,125,70,26,115,31.1,0.205,41,17,147,76,0,0,39.4,0.257,43,11,97,66,15,140,23.2,0.487,22,013,145,82,19,110,22.2,0.245,57,05,117,92,0,0,34.1,0.337,38,05,109,75,26,0,36.0,0.546,60,03,158,76,36,245,31.6,0.851,28,13,88,58,11,54,24.8,0.267,22,06,92,92,0,0,19.9,0.188,28,010,122,78,31,0,27.6,0.512,45,04,103,60,33,192,24.0,0.966,33,011,138,76,0,0,33.2,0.420,35,09,102,76,37,0,32.9,0.665,46,12,90,68,42,0,38.2,0.503,27,14,111,72,47,207,37.1,1.390,56,13,180,64,25,70,34.0,0.271,26,07,133,84,0,0,40.2,0.696,37,07,106,92,18,0,22.7,0.235,48,09,171,110,24,240,45.4,0.721,54,17,159,64,0,0,27.4,0.294,40,00,180,66,39,0,42.0,1.893,25,11,146,56,0,0,29.7,0.564,29,02,71,70,27,0,28.0,0.586,22,07,103,66,32,0,39.1,0.344,31,17,105,0,0,0,0.0,0.305,24,01,103,80,11,82,19.4,0.491,22,01,101,50,15,36,24.2,0.526,26,05,88,66,21,23,24.4,0.342,30,08,176,90,34,300,33.7,0.467,58,17,150,66,42,342,34.7,0.718,42,01,73,50,10,0,23.0,0.248,21,07,187,68,39,304,37.7,0.254,41,10,100,88,60,110,46.8,0.962,31,00,146,82,0,0,40.5,1.781,44,00,105,64,41,142,41.5,0.173,22,02,84,0,0,0,0.0,0.304,21,08,133,72,0,0,32.9,0.270,39,15,44,62,0,0,25.0,0.587,36,02,141,58,34,128,25.4,0.699,24,07,114,66,0,0,32.8,0.258,42,15,99,74,27,0,29.0,0.203,32,00,109,88,30,0,32.5,0.855,38,12,109,92,0,0,42.7,0.845,54,01,95,66,13,38,19.6,0.334,25,04,146,85,27,100,28.9,0.189,27,02,100,66,20,90,32.9,0.867,28,15,139,64,35,140,28.6,0.411,26,013,126,90,0,0,43.4,0.583,42,14,129,86,20,270,35.1,0.231,23,01,79,75,30,0,32.0,0.396,22,01,0,48,20,0,24.7,0.140,22,07,62,78,0,0,32.6,0.391,41,05,95,72,33,0,37.7,0.370,27,00,131,0,0,0,43.2,0.270,26,12,112,66,22,0,25.0,0.307,24,03,113,44,13,0,22.4,0.140,22,02,74,0,0,0,0.0,0.102,22,07,83,78,26,71,29.3,0.767,36,00,101,65,28,0,24.6,0.237,22,05,137,108,0,0,48.8,0.227,37,12,110,74,29,125,32.4,0.698,27,013,106,72,54,0,36.6,0.178,45,02,100,68,25,71,38.5,0.324,26,015,136,70,32,110,37.1,0.153,43,11,107,68,19,0,26.5,0.165,24,01,80,55,0,0,19.1,0.258,21,04,123,80,15,176,32.0,0.443,34,07,81,78,40,48,46.7,0.261,42,04,134,72,0,0,23.8,0.277,60,12,142,82,18,64,24.7,0.761,21,06,144,72,27,228,33.9,0.255,40,02,92,62,28,0,31.6,0.130,24,01,71,48,18,76,20.4,0.323,22,06,93,50,30,64,28.7,0.356,23,01,122,90,51,220,49.7,0.325,31,11,163,72,0,0,39.0,1.222,33,11,151,60,0,0,26.1,0.179,22,00,125,96,0,0,22.5,0.262,21,01,81,72,18,40,26.6,0.283,24,02,85,65,0,0,39.6,0.930,27,01,126,56,29,152,28.7,0.801,21,01,96,122,0,0,22.4,0.207,27,04,144,58,28,140,29.5,0.287,37,03,83,58,31,18,34.3,0.336,25,00,95,85,25,36,37.4,0.247,24,13,171,72,33,135,33.3,0.199,24,18,155,62,26,495,34.0,0.543,46,11,89,76,34,37,31.2,0.192,23,04,76,62,0,0,34.0,0.391,25,07,160,54,32,175,30.5,0.588,39,14,146,92,0,0,31.2,0.539,61,15,124,74,0,0,34.0,0.220,38,15,78,48,0,0,33.7,0.654,25,04,97,60,23,0,28.2,0.443,22,04,99,76,15,51,23.2,0.223,21,00,162,76,56,100,53.2,0.759,25,16,111,64,39,0,34.2,0.260,24,02,107,74,30,100,33.6,0.404,23,05,132,80,0,0,26.8,0.186,69,00,113,76,0,0,33.3,0.278,23,11,88,30,42,99,55.0,0.496,26,13,120,70,30,135,42.9,0.452,30,01,118,58,36,94,33.3,0.261,23,01,117,88,24,145,34.5,0.403,40,10,105,84,0,0,27.9,0.741,62,14,173,70,14,168,29.7,0.361,33,19,122,56,0,0,33.3,1.114,33,13,170,64,37,225,34.5,0.356,30,18,84,74,31,0,38.3,0.457,39,02,96,68,13,49,21.1,0.647,26,02,125,60,20,140,33.8,0.088,31,00,100,70,26,50,30.8,0.597,21,00,93,60,25,92,28.7,0.532,22,00,129,80,0,0,31.2,0.703,29,05,105,72,29,325,36.9,0.159,28,03,128,78,0,0,21.1,0.268,55,05,106,82,30,0,39.5,0.286,38,02,108,52,26,63,32.5,0.318,22,010,108,66,0,0,32.4,0.272,42,14,154,62,31,284,32.8,0.237,23,00,102,75,23,0,0.0,0.572,21,09,57,80,37,0,32.8,0.096,41,02,106,64,35,119,30.5,1.400,34,05,147,78,0,0,33.7,0.218,65,02,90,70,17,0,27.3,0.085,22,01,136,74,50,204,37.4,0.399,24,04,114,65,0,0,21.9,0.432,37,09,156,86,28,155,34.3,1.189,42,11,153,82,42,485,40.6,0.687,23,08,188,78,0,0,47.9,0.137,43,17,152,88,44,0,50.0,0.337,36,12,99,52,15,94,24.6,0.637,21,01,109,56,21,135,25.2,0.833,23,02,88,74,19,53,29.0,0.229,22,017,163,72,41,114,40.9,0.817,47,14,151,90,38,0,29.7,0.294,36,07,102,74,40,105,37.2,0.204,45,00,114,80,34,285,44.2,0.167,27,02,100,64,23,0,29.7,0.368,21,00,131,88,0,0,31.6,0.743,32,16,104,74,18,156,29.9,0.722,41,13,148,66,25,0,32.5,0.256,22,04,120,68,0,0,29.6,0.709,34,04,110,66,0,0,31.9,0.471,29,03,111,90,12,78,28.4,0.495,29,06,102,82,0,0,30.8,0.180,36,16,134,70,23,130,35.4,0.542,29,12,87,0,23,0,28.9,0.773,25,01,79,60,42,48,43.5,0.678,23,02,75,64,24,55,29.7,0.370,33,08,179,72,42,130,32.7,0.719,36,16,85,78,0,0,31.2,0.382,42,00,129,110,46,130,67.1,0.319,26,15,143,78,0,0,45.0,0.190,47,05,130,82,0,0,39.1,0.956,37,16,87,80,0,0,23.2,0.084,32,00,119,64,18,92,34.9,0.725,23,01,0,74,20,23,27.7,0.299,21,05,73,60,0,0,26.8,0.268,27,04,141,74,0,0,27.6,0.244,40,07,194,68,28,0,35.9,0.745,41,18,181,68,36,495,30.1,0.615,60,11,128,98,41,58,32.0,1.321,33,18,109,76,39,114,27.9,0.640,31,15,139,80,35,160,31.6,0.361,25,13,111,62,0,0,22.6,0.142,21,09,123,70,44,94,33.1,0.374,40,07,159,66,0,0,30.4,0.383,36,111,135,0,0,0,52.3,0.578,40,18,85,55,20,0,24.4,0.136,42,05,158,84,41,210,39.4,0.395,29,11,105,58,0,0,24.3,0.187,21,03,107,62,13,48,22.9,0.678,23,14,109,64,44,99,34.8,0.905,26,14,148,60,27,318,30.9,0.150,29,10,113,80,16,0,31.0,0.874,21,01,138,82,0,0,40.1,0.236,28,00,108,68,20,0,27.3,0.787,32,02,99,70,16,44,20.4,0.235,27,06,103,72,32,190,37.7,0.324,55,05,111,72,28,0,23.9,0.407,27,08,196,76,29,280,37.5,0.605,57,15,162,104,0,0,37.7,0.151,52,11,96,64,27,87,33.2,0.289,21,07,184,84,33,0,35.5,0.355,41,12,81,60,22,0,27.7,0.290,25,00,147,85,54,0,42.8,0.375,24,07,179,95,31,0,34.2,0.164,60,00,140,65,26,130,42.6,0.431,24,19,112,82,32,175,34.2,0.260,36,112,151,70,40,271,41.8,0.742,38,15,109,62,41,129,35.8,0.514,25,16,125,68,30,120,30.0,0.464,32,05,85,74,22,0,29.0,1.224,32,15,112,66,0,0,37.8,0.261,41,10,177,60,29,478,34.6,1.072,21,12,158,90,0,0,31.6,0.805,66,17,119,0,0,0,25.2,0.209,37,07,142,60,33,190,28.8,0.687,61,01,100,66,15,56,23.6,0.666,26,01,87,78,27,32,34.6,0.101,22,00,101,76,0,0,35.7,0.198,26,03,162,52,38,0,37.2,0.652,24,14,197,70,39,744,36.7,2.329,31,00,117,80,31,53,45.2,0.089,24,04,142,86,0,0,44.0,0.645,22,16,134,80,37,370,46.2,0.238,46,11,79,80,25,37,25.4,0.583,22,04,122,68,0,0,35.0,0.394,29,03,74,68,28,45,29.7,0.293,23,04,171,72,0,0,43.6,0.479,26,17,181,84,21,192,35.9,0.586,51,10,179,90,27,0,44.1,0.686,23,19,164,84,21,0,30.8,0.831,32,10,104,76,0,0,18.4,0.582,27,01,91,64,24,0,29.2,0.192,21,04,91,70,32,88,33.1,0.446,22,03,139,54,0,0,25.6,0.402,22,16,119,50,22,176,27.1,1.318,33,12,146,76,35,194,38.2,0.329,29,09,184,85,15,0,30.0,1.213,49,110,122,68,0,0,31.2,0.258,41,00,165,90,33,680,52.3,0.427,23,09,124,70,33,402,35.4,0.282,34,01,111,86,19,0,30.1,0.143,23,09,106,52,0,0,31.2,0.380,42,02,129,84,0,0,28.0,0.284,27,02,90,80,14,55,24.4,0.249,24,00,86,68,32,0,35.8,0.238,25,012,92,62,7,258,27.6,0.926,44,11,113,64,35,0,33.6,0.543,21,13,111,56,39,0,30.1,0.557,30,02,114,68,22,0,28.7,0.092,25,01,193,50,16,375,25.9,0.655,24,011,155,76,28,150,33.3,1.353,51,13,191,68,15,130,30.9,0.299,34,03,141,0,0,0,30.0,0.761,27,14,95,70,32,0,32.1,0.612,24,03,142,80,15,0,32.4,0.200,63,04,123,62,0,0,32.0,0.226,35,15,96,74,18,67,33.6,0.997,43,00,138,0,0,0,36.3,0.933,25,12,128,64,42,0,40.0,1.101,24,00,102,52,0,0,25.1,0.078,21,02,146,0,0,0,27.5,0.240,28,110,101,86,37,0,45.6,1.136,38,12,108,62,32,56,25.2,0.128,21,03,122,78,0,0,23.0,0.254,40,01,71,78,50,45,33.2,0.422,21,013,106,70,0,0,34.2,0.251,52,02,100,70,52,57,40.5,0.677,25,07,106,60,24,0,26.5,0.296,29,10,104,64,23,116,27.8,0.454,23,05,114,74,0,0,24.9,0.744,57,02,108,62,10,278,25.3,0.881,22,00,146,70,0,0,37.9,0.334,28,110,129,76,28,122,35.9,0.280,39,07,133,88,15,155,32.4,0.262,37,07,161,86,0,0,30.4,0.165,47,12,108,80,0,0,27.0,0.259,52,17,136,74,26,135,26.0,0.647,51,05,155,84,44,545,38.7,0.619,34,01,119,86,39,220,45.6,0.808,29,14,96,56,17,49,20.8,0.340,26,05,108,72,43,75,36.1,0.263,33,00,78,88,29,40,36.9,0.434,21,00,107,62,30,74,36.6,0.757,25,12,128,78,37,182,43.3,1.224,31,11,128,48,45,194,40.5,0.613,24,10,161,50,0,0,21.9,0.254,65,06,151,62,31,120,35.5,0.692,28,02,146,70,38,360,28.0,0.337,29,10,126,84,29,215,30.7,0.520,24,014,100,78,25,184,36.6,0.412,46,18,112,72,0,0,23.6,0.840,58,00,167,0,0,0,32.3,0.839,30,12,144,58,33,135,31.6,0.422,25,15,77,82,41,42,35.8,0.156,35,05,115,98,0,0,52.9,0.209,28,13,150,76,0,0,21.0,0.207,37,02,120,76,37,105,39.7,0.215,29,010,161,68,23,132,25.5,0.326,47,10,137,68,14,148,24.8,0.143,21,00,128,68,19,180,30.5,1.391,25,12,124,68,28,205,32.9,0.875,30,16,80,66,30,0,26.2,0.313,41,00,106,70,37,148,39.4,0.605,22,02,155,74,17,96,26.6,0.433,27,13,113,50,10,85,29.5,0.626,25,07,109,80,31,0,35.9,1.127,43,12,112,68,22,94,34.1,0.315,26,03,99,80,11,64,19.3,0.284,30,03,182,74,0,0,30.5,0.345,29,13,115,66,39,140,38.1,0.150,28,06,194,78,0,0,23.5,0.129,59,14,129,60,12,231,27.5,0.527,31,03,112,74,30,0,31.6,0.197,25,10,124,70,20,0,27.4,0.254,36,113,152,90,33,29,26.8,0.731,43,12,112,75,32,0,35.7,0.148,21,01,157,72,21,168,25.6,0.123,24,01,122,64,32,156,35.1,0.692,30,110,179,70,0,0,35.1,0.200,37,02,102,86,36,120,45.5,0.127,23,16,105,70,32,68,30.8,0.122,37,08,118,72,19,0,23.1,1.476,46,02,87,58,16,52,32.7,0.166,25,01,180,0,0,0,43.3,0.282,41,112,106,80,0,0,23.6,0.137,44,01,95,60,18,58,23.9,0.260,22,00,165,76,43,255,47.9,0.259,26,00,117,0,0,0,33.8,0.932,44,05,115,76,0,0,31.2,0.343,44,19,152,78,34,171,34.2,0.893,33,17,178,84,0,0,39.9,0.331,41,11,130,70,13,105,25.9,0.472,22,01,95,74,21,73,25.9,0.673,36,01,0,68,35,0,32.0,0.389,22,05,122,86,0,0,34.7,0.290,33,08,95,72,0,0,36.8,0.485,57,08,126,88,36,108,38.5,0.349,49,01,139,46,19,83,28.7,0.654,22,03,116,0,0,0,23.5,0.187,23,03,99,62,19,74,21.8,0.279,26,05,0,80,32,0,41.0,0.346,37,14,92,80,0,0,42.2,0.237,29,04,137,84,0,0,31.2,0.252,30,03,61,82,28,0,34.4,0.243,46,01,90,62,12,43,27.2,0.580,24,03,90,78,0,0,42.7,0.559,21,09,165,88,0,0,30.4,0.302,49,11,125,50,40,167,33.3,0.962,28,113,129,0,30,0,39.9,0.569,44,112,88,74,40,54,35.3,0.378,48,01,196,76,36,249,36.5,0.875,29,15,189,64,33,325,31.2,0.583,29,15,158,70,0,0,29.8,0.207,63,05,103,108,37,0,39.2,0.305,65,04,146,78,0,0,38.5,0.520,67,14,147,74,25,293,34.9,0.385,30,05,99,54,28,83,34.0,0.499,30,06,124,72,0,0,27.6,0.368,29,10,101,64,17,0,21.0,0.252,21,03,81,86,16,66,27.5,0.306,22,01,133,102,28,140,32.8,0.234,45,13,173,82,48,465,38.4,2.137,25,10,118,64,23,89,0.0,1.731,21,00,84,64,22,66,35.8,0.545,21,02,105,58,40,94,34.9,0.225,25,02,122,52,43,158,36.2,0.816,28,012,140,82,43,325,39.2,0.528,58,10,98,82,15,84,25.2,0.299,22,01,87,60,37,75,37.2,0.509,22,04,156,75,0,0,48.3,0.238,32,10,93,100,39,72,43.4,1.021,35,01,107,72,30,82,30.8,0.821,24,00,105,68,22,0,20.0,0.236,22,01,109,60,8,182,25.4,0.947,21,01,90,62,18,59,25.1,1.268,25,01,125,70,24,110,24.3,0.221,25,01,119,54,13,50,22.3,0.205,24,05,116,74,29,0,32.3,0.660,35,18,105,100,36,0,43.3,0.239,45,15,144,82,26,285,32.0,0.452,58,13,100,68,23,81,31.6,0.949,28,01,100,66,29,196,32.0,0.444,42,05,166,76,0,0,45.7,0.340,27,11,131,64,14,415,23.7,0.389,21,04,116,72,12,87,22.1,0.463,37,04,158,78,0,0,32.9,0.803,31,12,127,58,24,275,27.7,1.600,25,03,96,56,34,115,24.7,0.944,39,00,131,66,40,0,34.3,0.196,22,13,82,70,0,0,21.1,0.389,25,03,193,70,31,0,34.9,0.241,25,14,95,64,0,0,32.0,0.161,31,16,137,61,0,0,24.2,0.151,55,05,136,84,41,88,35.0,0.286,35,19,72,78,25,0,31.6,0.280,38,05,168,64,0,0,32.9,0.135,41,12,123,48,32,165,42.1,0.520,26,04,115,72,0,0,28.9,0.376,46,10,101,62,0,0,21.9,0.336,25,08,197,74,0,0,25.9,1.191,39,11,172,68,49,579,42.4,0.702,28,16,102,90,39,0,35.7,0.674,28,01,112,72,30,176,34.4,0.528,25,01,143,84,23,310,42.4,1.076,22,01,143,74,22,61,26.2,0.256,21,00,138,60,35,167,34.6,0.534,21,13,173,84,33,474,35.7,0.258,22,11,97,68,21,0,27.2,1.095,22,04,144,82,32,0,38.5,0.554,37,11,83,68,0,0,18.2,0.624,27,03,129,64,29,115,26.4,0.219,28,11,119,88,41,170,45.3,0.507,26,02,94,68,18,76,26.0,0.561,21,00,102,64,46,78,40.6,0.496,21,02,115,64,22,0,30.8,0.421,21,08,151,78,32,210,42.9,0.516,36,14,184,78,39,277,37.0,0.264,31,10,94,0,0,0,0.0,0.256,25,01,181,64,30,180,34.1,0.328,38,10,135,94,46,145,40.6,0.284,26,01,95,82,25,180,35.0,0.233,43,12,99,0,0,0,22.2,0.108,23,03,89,74,16,85,30.4,0.551,38,01,80,74,11,60,30.0,0.527,22,02,139,75,0,0,25.6,0.167,29,01,90,68,8,0,24.5,1.138,36,00,141,0,0,0,42.4,0.205,29,112,140,85,33,0,37.4,0.244,41,05,147,75,0,0,29.9,0.434,28,01,97,70,15,0,18.2,0.147,21,06,107,88,0,0,36.8,0.727,31,00,189,104,25,0,34.3,0.435,41,12,83,66,23,50,32.2,0.497,22,04,117,64,27,120,33.2,0.230,24,08,108,70,0,0,30.5,0.955,33,14,117,62,12,0,29.7,0.380,30,10,180,78,63,14,59.4,2.420,25,11,100,72,12,70,25.3,0.658,28,00,95,80,45,92,36.5,0.330,26,00,104,64,37,64,33.6,0.510,22,10,120,74,18,63,30.5,0.285,26,01,82,64,13,95,21.2,0.415,23,02,134,70,0,0,28.9,0.542,23,10,91,68,32,210,39.9,0.381,25,02,119,0,0,0,19.6,0.832,72,02,100,54,28,105,37.8,0.498,24,014,175,62,30,0,33.6,0.212,38,11,135,54,0,0,26.7,0.687,62,05,86,68,28,71,30.2,0.364,24,010,148,84,48,237,37.6,1.001,51,19,134,74,33,60,25.9,0.460,81,09,120,72,22,56,20.8,0.733,48,01,71,62,0,0,21.8,0.416,26,08,74,70,40,49,35.3,0.705,39,05,88,78,30,0,27.6,0.258,37,010,115,98,0,0,24.0,1.022,34,00,124,56,13,105,21.8,0.452,21,00,74,52,10,36,27.8,0.269,22,00,97,64,36,100,36.8,0.600,25,08,120,0,0,0,30.0,0.183,38,16,154,78,41,140,46.1,0.571,27,01,144,82,40,0,41.3,0.607,28,00,137,70,38,0,33.2,0.170,22,00,119,66,27,0,38.8,0.259,22,07,136,90,0,0,29.9,0.210,50,04,114,64,0,0,28.9,0.126,24,00,137,84,27,0,27.3,0.231,59,02,105,80,45,191,33.7,0.711,29,17,114,76,17,110,23.8,0.466,31,08,126,74,38,75,25.9,0.162,39,04,132,86,31,0,28.0,0.419,63,03,158,70,30,328,35.5,0.344,35,10,123,88,37,0,35.2,0.197,29,04,85,58,22,49,27.8,0.306,28,00,84,82,31,125,38.2,0.233,23,00,145,0,0,0,44.2,0.630,31,10,135,68,42,250,42.3,0.365,24,11,139,62,41,480,40.7,0.536,21,00,173,78,32,265,46.5,1.159,58,04,99,72,17,0,25.6,0.294,28,08,194,80,0,0,26.1,0.551,67,02,83,65,28,66,36.8,0.629,24,02,89,90,30,0,33.5,0.292,42,04,99,68,38,0,32.8,0.145,33,04,125,70,18,122,28.9,1.144,45,13,80,0,0,0,0.0,0.174,22,06,166,74,0,0,26.6,0.304,66,05,110,68,0,0,26.0,0.292,30,02,81,72,15,76,30.1,0.547,25,07,195,70,33,145,25.1,0.163,55,16,154,74,32,193,29.3,0.839,39,02,117,90,19,71,25.2,0.313,21,03,84,72,32,0,37.2,0.267,28,06,0,68,41,0,39.0,0.727,41,17,94,64,25,79,33.3,0.738,41,03,96,78,39,0,37.3,0.238,40,010,75,82,0,0,33.3,0.263,38,00,180,90,26,90,36.5,0.314,35,11,130,60,23,170,28.6,0.692,21,02,84,50,23,76,30.4,0.968,21,08,120,78,0,0,25.0,0.409,64,012,84,72,31,0,29.7,0.297,46,10,139,62,17,210,22.1,0.207,21,09,91,68,0,0,24.2,0.200,58,02,91,62,0,0,27.3,0.525,22,03,99,54,19,86,25.6,0.154,24,03,163,70,18,105,31.6,0.268,28,19,145,88,34,165,30.3,0.771,53,17,125,86,0,0,37.6,0.304,51,013,76,60,0,0,32.8,0.180,41,06,129,90,7,326,19.6,0.582,60,02,68,70,32,66,25.0,0.187,25,03,124,80,33,130,33.2,0.305,26,06,114,0,0,0,0.0,0.189,26,09,130,70,0,0,34.2,0.652,45,13,125,58,0,0,31.6,0.151,24,03,87,60,18,0,21.8,0.444,21,01,97,64,19,82,18.2,0.299,21,03,116,74,15,105,26.3,0.107,24,00,117,66,31,188,30.8,0.493,22,00,111,65,0,0,24.6,0.660,31,02,122,60,18,106,29.8,0.717,22,00,107,76,0,0,45.3,0.686,24,01,86,66,52,65,41.3,0.917,29,06,91,0,0,0,29.8,0.501,31,01,77,56,30,56,33.3,1.251,24,04,132,0,0,0,32.9,0.302,23,10,105,90,0,0,29.6,0.197,46,00,57,60,0,0,21.7,0.735,67,00,127,80,37,210,36.3,0.804,23,03,129,92,49,155,36.4,0.968,32,18,100,74,40,215,39.4,0.661,43,13,128,72,25,190,32.4,0.549,27,110,90,85,32,0,34.9,0.825,56,14,84,90,23,56,39.5,0.159,25,01,88,78,29,76,32.0,0.365,29,08,186,90,35,225,34.5,0.423,37,15,187,76,27,207,43.6,1.034,53,14,131,68,21,166,33.1,0.160,28,01,164,82,43,67,32.8,0.341,50,04,189,110,31,0,28.5,0.680,37,01,116,70,28,0,27.4,0.204,21,03,84,68,30,106,31.9,0.591,25,06,114,88,0,0,27.8,0.247,66,01,88,62,24,44,29.9,0.422,23,01,84,64,23,115,36.9,0.471,28,07,124,70,33,215,25.5,0.161,37,01,97,70,40,0,38.1,0.218,30,08,110,76,0,0,27.8,0.237,58,011,103,68,40,0,46.2,0.126,42,011,85,74,0,0,30.1,0.300,35,06,125,76,0,0,33.8,0.121,54,10,198,66,32,274,41.3,0.502,28,11,87,68,34,77,37.6,0.401,24,06,99,60,19,54,26.9,0.497,32,00,91,80,0,0,32.4,0.601,27,02,95,54,14,88,26.1,0.748,22,01,99,72,30,18,38.6,0.412,21,06,92,62,32,126,32.0,0.085,46,04,154,72,29,126,31.3,0.338,37,00,121,66,30,165,34.3,0.203,33,13,78,70,0,0,32.5,0.270,39,02,130,96,0,0,22.6,0.268,21,03,111,58,31,44,29.5,0.430,22,02,98,60,17,120,34.7,0.198,22,01,143,86,30,330,30.1,0.892,23,01,119,44,47,63,35.5,0.280,25,06,108,44,20,130,24.0,0.813,35,02,118,80,0,0,42.9,0.693,21,110,133,68,0,0,27.0,0.245,36,02,197,70,99,0,34.7,0.575,62,10,151,90,46,0,42.1,0.371,21,16,109,60,27,0,25.0,0.206,27,012,121,78,17,0,26.5,0.259,62,08,100,76,0,0,38.7,0.190,42,08,124,76,24,600,28.7,0.687,52,11,93,56,11,0,22.5,0.417,22,08,143,66,0,0,34.9,0.129,41,16,103,66,0,0,24.3,0.249,29,03,176,86,27,156,33.3,1.154,52,10,73,0,0,0,21.1,0.342,25,011,111,84,40,0,46.8,0.925,45,12,112,78,50,140,39.4,0.175,24,03,132,80,0,0,34.4,0.402,44,12,82,52,22,115,28.5,1.699,25,06,123,72,45,230,33.6,0.733,34,00,188,82,14,185,32.0,0.682,22,10,67,76,0,0,45.3,0.194,46,01,89,24,19,25,27.8,0.559,21,01,173,74,0,0,36.8,0.088,38,11,109,38,18,120,23.1,0.407,26,01,108,88,19,0,27.1,0.400,24,06,96,0,0,0,23.7,0.190,28,01,124,74,36,0,27.8,0.100,30,07,150,78,29,126,35.2,0.692,54,14,183,0,0,0,28.4,0.212,36,11,124,60,32,0,35.8,0.514,21,01,181,78,42,293,40.0,1.258,22,11,92,62,25,41,19.5,0.482,25,00,152,82,39,272,41.5,0.270,27,01,111,62,13,182,24.0,0.138,23,03,106,54,21,158,30.9,0.292,24,03,174,58,22,194,32.9,0.593,36,17,168,88,42,321,38.2,0.787,40,16,105,80,28,0,32.5,0.878,26,011,138,74,26,144,36.1,0.557,50,13,106,72,0,0,25.8,0.207,27,06,117,96,0,0,28.7,0.157,30,02,68,62,13,15,20.1,0.257,23,09,112,82,24,0,28.2,1.282,50,10,119,0,0,0,32.4,0.141,24,12,112,86,42,160,38.4,0.246,28,02,92,76,20,0,24.2,1.698,28,06,183,94,0,0,40.8,1.461,45,00,94,70,27,115,43.5,0.347,21,02,108,64,0,0,30.8,0.158,21,04,90,88,47,54,37.7,0.362,29,00,125,68,0,0,24.7,0.206,21,00,132,78,0,0,32.4,0.393,21,05,128,80,0,0,34.6,0.144,45,04,94,65,22,0,24.7,0.148,21,07,114,64,0,0,27.4,0.732,34,10,102,78,40,90,34.5,0.238,24,02,111,60,0,0,26.2,0.343,23,01,128,82,17,183,27.5,0.115,22,010,92,62,0,0,25.9,0.167,31,013,104,72,0,0,31.2,0.465,38,15,104,74,0,0,28.8,0.153,48,02,94,76,18,66,31.6,0.649,23,07,97,76,32,91,40.9,0.871,32,11,100,74,12,46,19.5,0.149,28,00,102,86,17,105,29.3,0.695,27,04,128,70,0,0,34.3,0.303,24,06,147,80,0,0,29.5,0.178,50,14,90,0,0,0,28.0,0.610,31,03,103,72,30,152,27.6,0.730,27,02,157,74,35,440,39.4,0.134,30,01,167,74,17,144,23.4,0.447,33,10,179,50,36,159,37.8,0.455,22,111,136,84,35,130,28.3,0.260,42,10,107,60,25,0,26.4,0.133,23,01,91,54,25,100,25.2,0.234,23,01,117,60,23,106,33.8,0.466,27,05,123,74,40,77,34.1,0.269,28,02,120,54,0,0,26.8,0.455,27,01,106,70,28,135,34.2,0.142,22,02,155,52,27,540,38.7,0.240,25,12,101,58,35,90,21.8,0.155,22,01,120,80,48,200,38.9,1.162,41,011,127,106,0,0,39.0,0.190,51,03,80,82,31,70,34.2,1.292,27,110,162,84,0,0,27.7,0.182,54,01,199,76,43,0,42.9,1.394,22,18,167,106,46,231,37.6,0.165,43,19,145,80,46,130,37.9,0.637,40,16,115,60,39,0,33.7,0.245,40,11,112,80,45,132,34.8,0.217,24,04,145,82,18,0,32.5,0.235,70,110,111,70,27,0,27.5,0.141,40,16,98,58,33,190,34.0,0.430,43,09,154,78,30,100,30.9,0.164,45,06,165,68,26,168,33.6,0.631,49,01,99,58,10,0,25.4,0.551,21,010,68,106,23,49,35.5,0.285,47,03,123,100,35,240,57.3,0.880,22,08,91,82,0,0,35.6,0.587,68,06,195,70,0,0,30.9,0.328,31,19,156,86,0,0,24.8,0.230,53,10,93,60,0,0,35.3,0.263,25,03,121,52,0,0,36.0,0.127,25,12,101,58,17,265,24.2,0.614,23,02,56,56,28,45,24.2,0.332,22,00,162,76,36,0,49.6,0.364,26,10,95,64,39,105,44.6,0.366,22,04,125,80,0,0,32.3,0.536,27,15,136,82,0,0,0.0,0.640,69,02,129,74,26,205,33.2,0.591,25,03,130,64,0,0,23.1,0.314,22,01,107,50,19,0,28.3,0.181,29,01,140,74,26,180,24.1,0.828,23,01,144,82,46,180,46.1,0.335,46,18,107,80,0,0,24.6,0.856,34,013,158,114,0,0,42.3,0.257,44,12,121,70,32,95,39.1,0.886,23,07,129,68,49,125,38.5,0.439,43,12,90,60,0,0,23.5,0.191,25,07,142,90,24,480,30.4,0.128,43,13,169,74,19,125,29.9,0.268,31,10,99,0,0,0,25.0,0.253,22,04,127,88,11,155,34.5,0.598,28,04,118,70,0,0,44.5,0.904,26,02,122,76,27,200,35.9,0.483,26,06,125,78,31,0,27.6,0.565,49,11,168,88,29,0,35.0,0.905,52,12,129,0,0,0,38.5,0.304,41,04,110,76,20,100,28.4,0.118,27,06,80,80,36,0,39.8,0.177,28,010,115,0,0,0,0.0,0.261,30,12,127,46,21,335,34.4,0.176,22,09,164,78,0,0,32.8,0.148,45,12,93,64,32,160,38.0,0.674,23,13,158,64,13,387,31.2,0.295,24,05,126,78,27,22,29.6,0.439,40,010,129,62,36,0,41.2,0.441,38,10,134,58,20,291,26.4,0.352,21,03,102,74,0,0,29.5,0.121,32,07,187,50,33,392,33.9,0.826,34,13,173,78,39,185,33.8,0.970,31,110,94,72,18,0,23.1,0.595,56,01,108,60,46,178,35.5,0.415,24,05,97,76,27,0,35.6,0.378,52,14,83,86,19,0,29.3,0.317,34,01,114,66,36,200,38.1,0.289,21,01,149,68,29,127,29.3,0.349,42,15,117,86,30,105,39.1,0.251,42,01,111,94,0,0,32.8,0.265,45,04,112,78,40,0,39.4,0.236,38,01,116,78,29,180,36.1,0.496,25,00,141,84,26,0,32.4,0.433,22,02,175,88,0,0,22.9,0.326,22,02,92,52,0,0,30.1,0.141,22,03,130,78,23,79,28.4,0.323,34,18,120,86,0,0,28.4,0.259,22,12,174,88,37,120,44.5,0.646,24,12,106,56,27,165,29.0,0.426,22,02,105,75,0,0,23.3,0.560,53,04,95,60,32,0,35.4,0.284,28,00,126,86,27,120,27.4,0.515,21,08,65,72,23,0,32.0,0.600,42,02,99,60,17,160,36.6,0.453,21,01,102,74,0,0,39.5,0.293,42,111,120,80,37,150,42.3,0.785,48,13,102,44,20,94,30.8,0.400,26,01,109,58,18,116,28.5,0.219,22,09,140,94,0,0,32.7,0.734,45,113,153,88,37,140,40.6,1.174,39,012,100,84,33,105,30.0,0.488,46,01,147,94,41,0,49.3,0.358,27,11,81,74,41,57,46.3,1.096,32,03,187,70,22,200,36.4,0.408,36,16,162,62,0,0,24.3,0.178,50,14,136,70,0,0,31.2,1.182,22,11,121,78,39,74,39.0,0.261,28,03,108,62,24,0,26.0,0.223,25,00,181,88,44,510,43.3,0.222,26,18,154,78,32,0,32.4,0.443,45,11,128,88,39,110,36.5,1.057,37,17,137,90,41,0,32.0,0.391,39,00,123,72,0,0,36.3,0.258,52,11,106,76,0,0,37.5,0.197,26,06,190,92,0,0,35.5,0.278,66,12,88,58,26,16,28.4,0.766,22,09,170,74,31,0,44.0,0.403,43,19,89,62,0,0,22.5,0.142,33,010,101,76,48,180,32.9,0.171,63,02,122,70,27,0,36.8,0.340,27,05,121,72,23,112,26.2,0.245,30,01,126,60,0,0,30.1,0.349,47,11,93,70,31,0,30.4,0.315,23,0
原文地址:https://www.cnblogs.com/kexinxin/p/10380949.html
时间: 2024-11-05 11:41:36