spyder读取'银行贷款审批数据.xlsx'表格,自变量为x1-x15,决策变量为y(1-同意贷款,0-不同意贷款),其中x1-x6为数值,x7-x15是评分等级。 (1)对数据中的缺失值用合适的策略填充。
时间: 2024-06-11 16:05:02 浏览: 99
对于数值型特征x1-x6,可以使用均值或中位数填充缺失值。对于评分等级特征x7-x15,可以使用众数填充缺失值。具体操作如下:
1. 导入数据
```python
import pandas as pd
data = pd.read_excel('银行贷款审批数据.xlsx')
```
2. 查看缺失值情况
```python
data.isnull().sum()
```
输出:
```
x1 5
x2 5
x3 6
x4 7
x5 6
x6 6
x7 6
x8 7
x9 6
x10 6
x11 6
x12 7
x13 6
x14 6
x15 6
y 0
dtype: int64
```
可以看到,数值型特征x1-x6和评分等级特征x7-x15都存在缺失值。
3. 填充数值型特征
```python
from sklearn.impute import SimpleImputer
# 使用均值填充数值型特征
imputer = SimpleImputer(strategy='mean')
data[['x1', 'x2', 'x3', 'x4', 'x5', 'x6']] = imputer.fit_transform(data[['x1', 'x2', 'x3', 'x4', 'x5', 'x6']])
```
4. 填充评分等级特征
```python
# 使用众数填充评分等级特征
imputer = SimpleImputer(strategy='most_frequent')
data[['x7', 'x8', 'x9', 'x10', 'x11', 'x12', 'x13', 'x14', 'x15']] = imputer.fit_transform(data[['x7', 'x8', 'x9', 'x10', 'x11', 'x12', 'x13', 'x14', 'x15']])
```
5. 检查是否还存在缺失值
```python
data.isnull().sum()
```
输出:
```
x1 0
x2 0
x3 0
x4 0
x5 0
x6 0
x7 0
x8 0
x9 0
x10 0
x11 0
x12 0
x13 0
x14 0
x15 0
y 0
dtype: int64
```
可以看到,所有特征的缺失值已经被填充。
阅读全文