def CreateModel( self, train_set, test_set ): #determina il tipo di modello richiesto SVM / GOR e addestra / predice il modello if self.type == 'GOR': mod = MyGOR.GOR() elif self.type == 'SVM': mod = MySVM.SVM(self.Ci, self.Gamma) #self.C,self.Gamma else: print('affanculo') mod.train(train_set) mod.predicta(test_set) return mod
def fit(self,X,Y): global le le=LabelEncoder() le.fit(Y) Y=le.transform(Y) data=self.generateClasswiseData(X,Y) svc=MySVM.SVC(self.C) for i in range(len(data)): self.svm_classifiers[i]={} for j in range(i+1,len(np.unique(Y))): x,y=self.getPairData(data[i],data[j]) wts,b,losses=svc.fit(x,y, learning_rate=self.learning_rate, max_itr=self.max_iter) self.svm_classifiers[i][j]=(wts,b)
def __init__(self): print('Initiating ...') # 标签 self.labelList = ['财经', '房产', '股票', '教育', '科技', '社会', '时政', '体育', '游戏', '娱乐'] self.labelLen = len(self.labelList) # 算法生成向量维度 self.dimension = 5000 # LDA模型遍历语料库次数 self.ldaPasses = 10 #print('Loading data ...') # 导入数据 #self.dL = Ld.LoadData() #self.trainData = self.dL.loadCsvData('tmp/trainDataSet.csv') #self.testData = self.dL.loadCsvData('tmp/testDataSet.csv') #self.texts, self.labels = self.dL.loadScData('../THUCNews_final') #print('datalen:',len(self.texts)) #print('Spliting data ...') #self.x_train, self.x_test, self.y_train, self.y_test = train_test_split(self.texts, self.labels, test_size=0.5) # SVM对象 self.svm = Ms.MySVM(self.labelLen) # 贝叶斯对象 self.valuesNumForBayes = 50 self.naiveBayes = Mnb.MyNaiveBayes(self.labelLen, self.valuesNumForBayes) # EvaluateAndShow对象 self.eas = Eas.EvaluateAndShow() pass
###################################### PCA ############################# # ----------------------------------------- from sklearn.decomposition import PCA # ------------------------------------------------------------------------------ # ----------------------------------------------------- pca = PCA(n_components=6) # --------------------------------------------- newtrain=pca.fit_transform(train) # ------------------------------------------- print pca.explained_variance_ratio_ # ----------------------------------- print np.sum(pca.explained_variance_ratio_) # ------------------------------------------------------ print np.shape(newtrain) # ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------ # -------------------------------------------------------------- train = newtrain ##############################################Training with rbf############################################################################ ff = mysvc.training_regress() best = ff.svmrbf(train, trainlabel, -4, 4, -4, 4, 10) # # # Test with SVM svtt = mysvc.test() output = svtt.test_regression(test, testlabel, best) ###############################################Train the model_10CV ################################################## # -------------------------------------------------- ff = mysvc.training_manCV()# # ------------------------------------------------------------------------------ # df = ff.trainSVC(train, trainlabel, 'poly', Cmin=-10, Cmax=10, numC=21, rmin=-10, rmax=10, numr=21, degree = 4) # ------------------------------------------------------------------------------ # df.to_csv('/home/peng/git/Machine_learning_for_reliability_analysis/Test_1/Results/poly_pca6_cm_10CV_d4_n10_p10_21.csv', header = True)
pca = PCA(n_components=6) newtrain = pca.fit_transform(train) print pca.explained_variance_ratio_ print np.sum(pca.explained_variance_ratio_) print np.shape(newtrain) train = newtrain ########################################################################################################################## ###############################################Train the model ff = mysvc.training_manCV() df = ff.trainSVC(train, trainlabel, "poly", Cmin=-10, Cmax=10, numC=21, rmin=-10, rmax=10, numr=21, degree=4) df.to_csv( "/home/peng/git/Machine_learning_for_reliability_analysis/Test_1/Results/poly_pca6_cm_10CV_d4_n10_p10_21.csv", header=True, ) ################################################ #### ####################### Read the cm and convert cm to metrics########