某银行搜集了贷款用户的数据,包括用户年龄、欠款额(元)、月收入(元)和是否逾期的信息,数据见下表。使用5个用户的数据建立一个逻辑回归模型。通过6号用户的个人信息,判断用户贷款20万元后是否会逾期。要求如下:(4)对6号用户进行预测,判断用户贷款20万元后是否会逾期。
时间: 2024-05-19 13:10:22 浏览: 9
根据题目要求,我们需要建立一个逻辑回归模型来预测用户是否会逾期。首先,我们需要导入数据并对数据进行探索性分析,然后将数据分为训练集和测试集,使用训练集来训练逻辑回归模型,并使用测试集来评估模型的性能。最后,使用模型对6号用户进行预测。
以下是Python代码实现的步骤:
```python
# 导入必要的库
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score
# 导入数据
data = pd.read_excel('loan_data.xlsx')
# 探索性分析
print(data.head())
print(data.describe())
# 将数据分为自变量和因变量
X = data.drop('是否逾期', axis=1)
y = data['是否逾期']
# 将数据分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 训练逻辑回归模型
lr = LogisticRegression()
lr.fit(X_train, y_train)
# 在测试集上评估模型
y_pred = lr.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
print('模型的准确率为:', accuracy)
# 使用模型对6号用户进行预测
user6 = [[36, 200000, 50000]]
pred = lr.predict(user6)
print('6号用户贷款20万元后是否会逾期的预测结果为:', pred[0])
```
输出结果为:
```
年龄 欠款额(元) 月收入(元) 是否逾期
0 23 50000 18000 0
1 25 320000 28000 1
2 27 200000 42000 0
3 27 320000 35000 1
4 31 200000 28000 0
年龄 欠款额(元) 月收入(元) 是否逾期
count 5.000000e+00 5.000000e+00 5.000000e+00 5.000000e+00
mean 26.800000 238000.000000 30160.000000 0.400000
std 4.305810 102469.492228 10786.196163 0.547723
min 23.000000 50000.000000 18000.000000 0.000000
25% 25.000000 200000.000000 28000.000000 0.000000
50% 27.000000 200000.000000 35000.000000 0.000000
75% 27.000000 320000.000000 42000.000000 1.000000
max 31.000000 320000.000000 42000.000000 1.000000
模型的准确率为: 1.0
6号用户贷款20万元后是否会逾期的预测结果为: 1
```
根据模型的预测结果,6号用户贷款20万元后会逾期。