请大家帮我看下吧,改了好多遍了,还是不行……,也不知道是哪里有问题,数据也处理过了,没有空值重复值
为什么我的命中率显示是NaN啊,前面还可以,后面就不行了
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- m0_73979903 2023-10-02 21:23关注
#以下是我用到的所有代码
import numpy as np import pandas as pd df = pd.read_csv(r'D:/data/睡眠统计.csv',engine='python') df = df.replace({'性别':{'女性':0, '男性':1}}) df = df.replace({'职业':{'工程师':101, '护士':102, '会计师':103, '科学家':104, '老师':105, '律师':106, '软件工程师':'107', '销售代表':108, '医生':109, '营业员':1010, '主管':1011}}) df = df.replace({'BMI':{'正常':0, '肥胖':1, '超重':2}}) df = df.replace({'睡眠障碍':{'无':3, '有':4}}) df.isnull().sum() df = df.fillna(method='bfill') X = df.drop(columns=['睡眠障碍']) y = df['睡眠障碍'] from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split(X,y,test_size=0.4,random_state=123,shuffle = True) #print(X_train) #划分的训练集数据 #print(X_test) #划分的测试级数据 #print(y_train) #print(y_test) from sklearn.tree import DecisionTreeClassifier model = DecisionTreeClassifier(max_depth=3,random_state=123) model.fit(X_train,y_train) y_pred = model.predict(X_test) y_pred[:100] a = pd.DataFrame() a['预测值'] = list(y_pred) a['实际值'] = list(y_test) a.head(5) #查看前十行 from sklearn.metrics import confusion_matrix m = confusion_matrix(y_test, y_pred) # 传入预测值和真实值 print(m) a = pd.DataFrame(m, index=['0(无睡眠障碍概率)', '1(有睡眠障碍概率)'], columns=['0(无睡眠障碍概率)', '1(有睡眠障碍概率)']) #计算命中率 from sklearn.metrics import classification_report print(classification_report(y_test, y_pred)) from sklearn.metrics import roc_curve fpr,tpr,thres = roc_curve(y_test,y_pred_proba[:,1],pos_label=2) a = pd.DataFrame() a["阀值"] = list(thres) a["假报警率"] = list(fpr) a["命中率"] = list(tpr) a
解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 stc15f2k60s2单片机关于流水灯,时钟,定时器,矩阵键盘等方面的综合问题
- ¥15 YOLOv8已有一个初步的检测模型,想利用这个模型对新的图片进行自动标注,生成labellmg可以识别的数据,再手动修改。如何操作?
- ¥30 NIRfast软件使用指导
- ¥20 matlab仿真问题,求功率谱密度
- ¥15 求micropython modbus-RTU 从机的代码或库?
- ¥15 django5安装失败
- ¥15 Java与Hbase相关问题
- ¥15 后缀 crn 游戏文件提取资源
- ¥20 bash代码推送不上去 git fetch origin master #失败了
- ¥15 LOL外服加入了反作弊系统,现在游戏录像rofl文件离线都无法打开