使用sklearn中的逻辑回归来预测成绩

  1. 安装sklearn软件包

sklearn软件包的名称叫做scikit-learn在pycharm上的终端下载

pip install scikit-learn
  1. 在代码中使用sklearn

我做的是通过学生以往的成绩来预测下一次的成绩,需要又训练和测试两部分,下面是源码

import pandas as pd

df=pd.read_excel('班级考试均分.xlsx')    #从同文件夹的excel中提取数据
df.head()
print(df)    #查看数据
X=df.drop(columns=['下学期期末','班级名'])    #取部分数据,将首列和要预测的那一列去除
y=df['下学期期末']    #代表要预测你那一列
X.head()

from sklearn.model_selection import train_test_split #引入模型
X_train,X_test,y_train,y_test = train_test_split(X,y,test_rate=0.1,random_state=1)
    #通过函数将训练和测试分开        #其中test_rate为测试占总数的比例
from sklearn.linear_model import LogisticRegression
model = LogisticRegression()
model.fit(X_train,y_train) #通过训练集来生成模型

y_pred=model.predict(X_test)    #通过模型来预测y的可能值
a=pd.DataFrame()
a['预测值']=list(y_pred)
a['实际值']=list(y_test)    #将预测值和实际值列出对比
print(a.head())
y_pred_proba=model.score(X_test,y_test)
print(y_pred_proba)    #打印准确率

df2=pd.read_excel('班级成绩预测.xlsx')    
X2=df2.drop(columns=['下学期期末','班级名'])
y2=model.predict(X2)        #将原始数据导入已有模型来得出预测
print(y2)    #打印预测值
  1. 相关操作

  1. 导入所需的库和数据集
import pandas as pd
from sklearn.linear_model import LogisticRegression
# 读取数据集
data = pd.read_csv('student_scores.csv')
  1. 准备数据
# 将数据集分为特征和标签
X = data.iloc[:, :-1].values
y = data.iloc[:, -1].values

# 将标签转换为二进制值
for i in range(len(y)):
    if y[i] >= 60:
        y[i] = 1
    else:
        y[i] =
  1. 拟合模型
# 创建逻辑回归模型
model = LogisticRegression()

# 拟合模型
model.fit(X, y)
  1. 预测成绩
# 预测学生成绩
new_data = [[80, 70]]
prediction = model.predict(new_data)

# 输出预测结果
if prediction == 1:
    print('该学生可能会及格')
else:
    print('该学生可能会不及格')
  1. sklearn有许多模型和参数,建议看相关文章和官方解释文档

http://t.csdn.cn/Lmaa8

http://t.csdn.cn/k9lLZ

sklearn官网 https://scikit-learn.org/stable/

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值