编程实现下列预测模型 数据集:Admission_Predict.csv 数据集说明:该数据集是为了从印度的角度预测研究生入学率而创建的。 数据集Feature包括:1。编号 2。GRE成绩(满分340分)3。托福成绩(满分120分)4。大学评分(满分5分)5。目的陈述和推荐信强度(满分5分)6。本科GPA(满分10分)7。研究经历(0或1) Label:研究生录取概率(从0到1) 要求:1、选择3种模型,独立编程实现对研究生录取概率的预测。2、模型训练好了需要可视化。3、要输出训练好的模型的参数。
时间: 2023-08-18 14:07:46 浏览: 94
好的,我可以帮你实现这个预测模型。我会选择线性回归、决策树和随机森林三种模型来分别进行预测,然后进行可视化展示。
首先需要导入相关库和数据集。代码如下:
```python
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
from sklearn.tree import DecisionTreeRegressor
from sklearn.ensemble import RandomForestRegressor
from sklearn.model_selection import train_test_split
from sklearn.metrics import r2_score
# 读取数据集
data = pd.read_csv('Admission_Predict.csv')
```
接下来,我们需要对数据集进行处理,包括数据清洗和特征选择。代码如下:
```python
# 数据清洗
data.drop(['Serial No.'], axis=1, inplace=True)
# 特征选择
X = data.iloc[:, :-1].values
y = data.iloc[:, -1].values
```
接下来,我们将数据集分为训练集和测试集,然后使用三种模型进行拟合和预测。代码如下:
```python
# 将数据集分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
# 线性回归模型
lr = LinearRegression()
lr.fit(X_train, y_train)
y_pred_lr = lr.predict(X_test)
# 决策树模型
dt = DecisionTreeRegressor(random_state=0)
dt.fit(X_train, y_train)
y_pred_dt = dt.predict(X_test)
# 随机森林模型
rf = RandomForestRegressor(n_estimators=10, random_state=0)
rf.fit(X_train, y_train)
y_pred_rf = rf.predict(X_test)
```
接下来,我们将训练好的模型进行可视化展示,并输出模型参数。代码如下:
```python
# 可视化展示
plt.scatter(y_test, y_pred_lr, color='red')
plt.plot([0, 1], [0, 1], color='blue', linewidth=2)
plt.xlabel('True Values')
plt.ylabel('Predictions')
plt.title('Linear Regression Model')
plt.show()
plt.scatter(y_test, y_pred_dt, color='red')
plt.plot([0, 1], [0, 1], color='blue', linewidth=2)
plt.xlabel('True Values')
plt.ylabel('Predictions')
plt.title('Decision Tree Model')
plt.show()
plt.scatter(y_test, y_pred_rf, color='red')
plt.plot([0, 1], [0, 1], color='blue', linewidth=2)
plt.xlabel('True Values')
plt.ylabel('Predictions')
plt.title('Random Forest Model')
plt.show()
# 输出模型参数
print('Linear Regression Model Parameters:')
print('Coefficients:', lr.coef_)
print('Intercept:', lr.intercept_)
print('R-squared:', r2_score(y_test, y_pred_lr))
print('Decision Tree Model Parameters:')
print('Feature Importances:', dt.feature_importances_)
print('R-squared:', r2_score(y_test, y_pred_dt))
print('Random Forest Model Parameters:')
print('Feature Importances:', rf.feature_importances_)
print('R-squared:', r2_score(y_test, y_pred_rf))
```
这样我们就完成了使用三种模型对研究生录取概率进行预测的任务,并进行了可视化展示和输出了模型参数。