安装sklearn软件包
sklearn软件包的名称叫做scikit-learn在pycharm上的终端下载
pip install scikit-learn
在代码中使用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) #打印预测值
相关操作
导入所需的库和数据集
import pandas as pd
from sklearn.linear_model import LogisticRegression
# 读取数据集
data = pd.read_csv('student_scores.csv')
准备数据
# 将数据集分为特征和标签
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] =
拟合模型
# 创建逻辑回归模型
model = LogisticRegression()
# 拟合模型
model.fit(X, y)
预测成绩
# 预测学生成绩
new_data = [[80, 70]]
prediction = model.predict(new_data)
# 输出预测结果
if prediction == 1:
print('该学生可能会及格')
else:
print('该学生可能会不及格')
sklearn有许多模型和参数,建议看相关文章和官方解释文档
sklearn官网 https://scikit-learn.org/stable/