数据来源于Kaggle的Give Me Some Credit竞赛项目,其中cs-training.csv文件有15万条的样本数据,包含了11个变量,数据列的名称及含义如表所示。为了简化计算,这里只选取其中的1000条样本数据。 变量名 描述 SeriousDlqin2yrs 超过90天或更糟的逾期拖欠 RevolvingUtilizationOfUnsecuredLines 贷款以及信用卡可用额度与总额度比例 age 借款人借款时的年龄 NumberOfTime30-59DaysPastDueNotWorse 35-59天逾期但不糟糕次数 DebtRatio 负债比率 MonthlyIncome 月收入 NumberOfOpenCreditLinesAndLoans 开放式信贷和贷款数量 NumberOfTimes90DaysLate 90天逾期次数 NumberRealEstateLoansOrLines 不动产贷款数量 NumberOfTime60-89DaysPastDueNotWorse 借款人在在过去两年内有60-89天逾期还款但不糟糕的次数 NumberOfDependents 家属数量 通过逻辑回归分析建立分析模型预测客户是否违约。 给出代码
时间: 2024-01-24 07:20:43 浏览: 31
以下是基于Python的逻辑回归分析建模的代码:
```python
# 导入所需库
import pandas as pd
import numpy as np
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
# 读取数据
data = pd.read_csv('cs-training.csv')
data = data.sample(n=1000, random_state=1) # 选取1000条数据
# 数据清洗
data.dropna(inplace=True) # 删除缺失值
data.drop(columns=['Unnamed: 0'], inplace=True) # 删除无用的列
# 划分自变量和因变量
X = data.iloc[:,1:]
y = data.iloc[:,0]
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=1)
# 建立逻辑回归模型
logistic = LogisticRegression()
logistic.fit(X_train, y_train)
# 预测测试集
y_pred = logistic.predict(X_test)
# 模型评估
from sklearn.metrics import confusion_matrix, accuracy_score
cm = confusion_matrix(y_test, y_pred)
accuracy = accuracy_score(y_test, y_pred)
print('混淆矩阵:\n', cm)
print('准确率:', accuracy)
```
注:在实际应用中,应该使用全部样本数据进行建模,而不是仅使用1000条。