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)      
Ejemplo n.º 3
0
    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########