求python通过键盘输入成绩,用分支结构算成绩相应的绩点并输出成绩绩点,计算绩点公式=成绩-60

数据挖掘入门与实战 公众号: datadw

每年高中生和大学生都会申请进入到各种各样的高校中去。每个学生都有一组唯一的考试分数,成绩和背景数据。录取委员会根据这个数据决定是否接受这些申请者。在这种情况下一个二元分类算法可用于接受或拒绝申请,逻辑回归是个不错的方法。

  • 数据集admissions.csv包含了1000个申请者的信息,特征如下:

gre-(入学考试成绩)

gpa- (累积平均绩点)

  • 这是原本的数据,admit的值是0或者1。可以发现”gpa”和”admit”并没有线性关系,因为”admit”只取两个值

  • 这是通过线性回归模型预测的admit的值,发现admit_prediction 取值范围较大,有负值,不是我们想要的。

  • 因此我们期望构造一个模型,能够给我们一个接受(admission)的概率,并且这个概率取值在[0~1],然后选择合适的阈值进行分类。

  • 逻辑回归是一个流行的分类方法,它将输出限制在0和1之间。这个输出可以被视为一个给定一组输入某个事件的概率,就像任何其他分类方法。

    • logit function是逻辑回归的基础,这个函数的形式如下:

    • 逻辑回归就是将线性回归的输出当做Logit Function的输入然后产生一个输出当做最终的概率。其中β0是截距,其他的βi是斜率,也是特征的系数。

    • 与线性模型一样,我们想要找到最优的βi的值使得预测值与真实值之间的误差最小。通常用来最小化误差的方法是最大似然法和梯度下降法。

      • 下面进行逻辑回归实验,每次进行训练测试集划分之前,需要将样本数据进行洗牌,这样抽样具有随机性。看到最后的gre和预测值的关系发现,当gre越大时,被接受的概率越大,这是符合实际情况的。

      # 这种输出方式也很好

      • sklearn中的逻辑回归的阈值默认设置为0.5

        • 逻辑回归中的predict_proba这个函数返回的不是类标签,而是接受的概率,这可以允许我们自己修改阈值。首先我们需要作出它的ROC曲线来观察合适阈值:

        可以看到ROC曲线开始非常的陡峭,慢慢地变得平缓。测试集的AUC值是0.79小于训练集的AUC值0.82,没有过拟合.这些迹象表明我们的模型可以根据gre和gpa来预测是否录取了。

        教你机器学习,教你数据挖掘

我要回帖

更多关于 python输出前三名成绩 的文章

 

随机推荐