m0_73979903 2023-10-02 21:09 采纳率: 40%
浏览 4

为什么我的命中率显示是NaN啊,前面还可以,后面就不行了

请大家帮我看下吧,改了好多遍了,还是不行……,也不知道是哪里有问题,数据也处理过了,没有空值重复值

img

  • 写回答

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
    
    
    评论 编辑记录

报告相同问题?

问题事件

  • 请提交代码 10月2日
  • 创建了问题 10月2日

悬赏问题

  • ¥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文件离线都无法打开