鱼C论坛

 找回密码
 立即注册
查看: 1918|回复: 1

python类内部的方法调用

[复制链接]
发表于 2020-1-12 19:53:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
class Adaboosting中demo_train方法中要调用同个类中的loadDataSet方法,但是根本没进到程序之中,求教是什么原因,谢谢大佬们了
demo_train的代码如下
  1.         def demo_train(self):
  2.                 print("已进入到了内部函数")
  3.                 print(self.model)
  4.                 if self.model==None:
  5.                         self.model="test.txt"
  6.                 dataArr, LabelArr = self.loadDataSet(self.model)
  7.                 weakClassArr, aggClassEst = Adaboosting.adaBoostTrainDS(dataArr, LabelArr)
  8.                 # from my_adaboosting_SVM_ROC import adaClassify
  9.                 print("正在训练模型...")
  10.                 predictions = self.adaClassify(dataArr, weakClassArr)
  11.                 errArr = np.mat(np.ones((len(dataArr), 1)))
  12.                 number=1-float(errArr[predictions != np.mat(LabelArr).T].sum() / len(dataArr) * 100)
  13.                 print('训练集的错误率:%.3f%%' % float(errArr[predictions != np.mat(LabelArr).T].sum() / len(dataArr) * 100))
  14.                 # print("33333333")
  15.                 print(self.train)
  16.                 if self.train==None:
  17.                         self.train="test6.txt"
  18.                 # print("444444444")
  19.                 print(self.train)
  20.                 # train = "test6.txt"
  21.                 testArr, testLabelArr = self.loadDataSet(self.train)
  22.                 predictions = self.adaClassify(testArr, weakClassArr)
  23.                 print(predictions)
  24.                 errArr = np.mat(np.ones((len(testArr), 1)))
  25.                 number1=1-float(errArr[predictions != np.mat(testLabelArr).T].sum() / len(testArr) * 100)
  26.                 print('测试集的错误率:%.3f%%' % float(errArr[predictions != np.mat(testLabelArr).T].sum() / len(testArr) * 100))
  27.                 from my_adaboosting_SVM_ROC import plotROC
  28.                 plotROC(aggClassEst.T, LabelArr)
  29.                 return number ,number1
复制代码

loadDataSet的代码如下
  1.         # 导入数据
  2.         def loadDataSet(fileName):
  3.                 print("hhhhhhhhhhhhhhhhh")
  4.                 numFeat = len((open(fileName).readline().split('\t')))
  5.                 dataMat = [];
  6.                 labelMat = []
  7.                 fr = open(fileName)
  8.                 for line in fr.readlines():
  9.                         lineArr = []
  10.                         curLine = line.strip().split('\t')
  11.                         for i in range(numFeat - 1):
  12.                                 lineArr.append(float(curLine[i]))
  13.                         dataMat.append(lineArr)
  14.                         labelMat.append(float(curLine[-1]))

  15.                 return dataMat, labelMat
复制代码


运行结果如下
C:/Users/Thankpad/Desktop/捕获.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-1-12 19:55:00 | 显示全部楼层
运行结果:
F:\AI_learn\venv\Scripts\python.exe F:/AI_learn/AdaBoost/GUI.py
按了啊

你选择的文件夹为:
F:/AI_learn/AdaBoost/test.txt
初始化中。。。
模型路径 F:/AI_learn/AdaBoost/test.txt
训练集路径 None
已进入到了内部函数
F:/AI_learn/AdaBoost/test.txt

Process finished with exit code -1073740791 (0xC0000409)
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-1-21 18:19

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表