b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

python基础教程 pdf 【知识】使用Python来学习数据科学的完整教程(7)

电脑杂谈  发布时间:2018-02-15 11:42:06  来源:网络整理

大约86%的值为“No”,将缺失值估计为“No”是安全的,因为正确的概率会更高。可以使用以下代码完成:

df['Self_Employed'].fillna('No',inplace=True)

额的缺失值:

table = df.pivot_table(values='LoanAmount', index='Self_Employed' ,columns='Education', aggfunc=np.median)# Define function to return value of this pivot_tabledef fage(x): return table.loc[x['Self_Employed'],x['Education']]# Replace missing valuesdf['LoanAmount'].fillna(df[df['LoanAmount'].isnull()].apply(fage, axis=1), inplace=True)

这样为你提供一个很好的方式来估算贷款额度的缺失值。

如何处理LoanAmount和ApplicantIncome分布中的极端值?

我们首先分析LoanAmount。 极端值可能有实际意义的,有些人可能因为特殊需要才申请高额贷款,所以不用把它们视为离群值,我们来尝试用对数变换来消除它们的影响:

df['LoanAmount_log'] = np.log(df['LoanAmount'])df['LoanAmount_log'].hist(bins=20)

再次查看直方图:

现在分布看起来更加接近正态分布,极端值的影响已经显示减弱。

对于变量ApplicantIncome,一个可能的直觉是,一些申请人申报收入较低,但是综合收入高也获得支持。所以把申报收入作为总收入结合在一起是一个好主意,并采取同样的对数变换。

df['TotalIncome'] = df['ApplicantIncome'] + df['CoapplicantIncome']df['TotalIncome_log'] = np.log(df['TotalIncome'])df['LoanAmount_log'].hist(bins=20)

现在我们看到分布比以前好多了。我会把性别、已婚、赡养者、贷款月数、信用历史等缺失值的估算留给大家完成。此外,我鼓励大家考虑可能从数据中发掘附加信息,例如,创建列LoanAmount / TotalIncome可能是有道理的,因为它给出了申请人如何适应偿还贷款的想法。

接下来,我们将看看创建预测模型。python基础教程 pdf

在Python中构建一个预测模型

现在,我们已经有对建模有用的数据,现在我们来看看python代码,在我们的数据集上创建一个预测模型。Skicit-Learn(sklearn)是Python中最常用的机器学习库,我们将会借助它来建模。

既然,sklearn要求所有输入都是数字,所以我们应该对类别进行编码,将所有的分类变量转换为数值变量。这可以使用以下代码完成:

from sklearn.preprocessing import LabelEncodervar_mod = ['Gender','Married','Dependents','Education','Self_Employed','Property_Area','Loan_Status']le = LabelEncoder()for i in var_mod: df[i] = le.fit_transform(df[i])df.dtypes


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-78832-7.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...