import numpy as np import pandas as pd pd.set_option('display.max_columns', None) from sklearn.linear_model import LogisticRegression as LR data = pd.read_csv('评分卡模型数据.csv') # print(data.head()) # print(data.info()) # print(data.shape) # 字段含义 # SeriousDlqin2yrs 1代表客户有违约,不是什么好客户,0代表没问题 # RevolvingUtilizationOfUnsecuredLines 贷款以及信用卡可用额度与总额度的比例 # age 借款人年龄 # NumberOfTime30-59DaysPastDueNotWorse 过去俩年内出现35-59天逾期但是没有发展的更快的次数 # DebtRatio 每月偿还债务,赡养费,生活费用除以月总收入 # MonthlyIncome 月收入 # NumberOfOpenCreditLinesAndLoans 开放式贷款和信贷数量 # NumberOfTimes90DaysLate 过去两年内出现90天逾期或更坏的次数 # NumberRealEstateLoansOrLines 抵押贷款和房地产贷款数量,包括房屋净值信贷额度 # NumberOfTime60-89DaysPastDueNotWorse 过去两年内出现60-89天逾期但是没有发展的更坏的次数 # NumberOfDependents 家庭中不包括自身的家属人数(配偶,子女等) # todo 1 去重且覆盖原数据 data.drop_duplicates(inplace=True) # 删除之后千万不要忘记,恢复索引 data.index = range(data.shape[0]) # print(data.info()) # RangeIndex: 149391 entries, 0 to 149390 # todo 2 探索缺失值 # 查看每列缺失值的总数 # print(data.isnull().sum()) # 查看每列缺失值的在每列占得比例 # print(data.isnull().mean()) # print(data.isnull().sum()/data.shape[0]) # todo 3 填补缺失值 # 家庭人数用均值填写 data['NumberOfDependents'].fillna(data['NumberOfDependents'].mean(), inplace=True) # print(data.head()) # 收入填写 # 可以使用随机森林补缺 def fill_missing_rf(X, Y, to_fill): """ 使用随机森林填补一个特征的缺失值的函数 :param X: 要填补的特征矩阵 :param Y: 完整的,没有缺失值的标签 :param to_fill: 字符串,要填补的那一列的名称 :return: """ # 构建我们的新的特征矩阵和标签 df = X.copy() fill = df.loc[:, to_fill] df = pd.concat([df.loc[:,df.columns != to_fill], pd.DataFrame(Y)], axis=1) # 找出训练集和测试集 Ytrain = fill[fill.notnull()] Ytest = fill[fill.isnull()] Xtrain = df.iloc[Ytrain.index, :] Xtest = df.iloc[Ytest.index, :] # 用随机森林回归填补缺失值 from sklearn.ensemble import RandomForestRegressor as rfc rfc = rfc(n_estimators=100).fit(Xtrain, Ytrain) Ypredict = rfc.predict(Xtest) return Ypredict X = data.iloc[:, 1:] Y = data['SeriousDlqin2yrs'] # print(X.shape) y_pred = fill_missing_rf(X, Y, "MonthlyIncome") # 确认我们的结果合理之后,我们就可以将数据覆盖了 data.loc[data.loc[:, "MonthlyIncome"].isnull(), "MonthlyIncome"] = y_pred # print(y_pred) # print(data.info()) # 后面的明日再更新
day 9.2 逻辑回归-案例-评分卡制作
最新推荐文章于 2025-03-20 10:42:24 发布