ML实例:titan和house prise

20 篇文章 0 订阅

首先第一步是先对数据有个整体的认识

data = pd.read_csv('train.csv')
dataframe = pd.DataFrame(data)
dataframe.info()
dataframe.isnull().any()

然后先不管存在有缺失值的属性特征,先把全的特征给分析一波

redataframe.info()
redataframe.describe()

然后剔除类别型特征,就分析连续特征了(注意如果本身数据类别特征就是用0,1这样来表示的那么就要手动剔除了)
这里利用.drop()方法

print '总结首先筛选数值型特征的方法:'
print '首先去掉有缺失值的特征:'
fulldataframe = dataframe.dropna(axis=1)
fulldataframe.info()
print '接下来进行类别特征筛选:'
clist = fulldataframe.columns.values.tolist()
for Index, Types in enumerate(fulldataframe.dtypes):
    if Types == 'object':
        fulldataframe = fulldataframe.drop(columns=clist[Index],axis=1)
fulldataframe
fulldataframe.info()

然后是看之间的关系,可以化pairplot或者barplot
这里看是分类问题还是回归问题,连续型特征数值还是离散型
对于离散型取值可以考虑采用数量统计
对于离散值可以采用pairplot
然后再求一下相关度corr(注意这里就算存在有缺失值的情况也可以求相关)

corr = df.corr()
sns.heatmap(corr, cmap='Reds')

在处理类别属性时可以采用get_dummies方法对类目型的特征因子化

下面来对缺失值进行一波预测
仍然是先分析相关度,对于相关性不是接近于0的都不删除(一般来说还是经验判断)
这时候类别特征也不要丢弃!
类别特征把取值转换成one hot编码,采用pd.get_dummies
看heatmap,corr
然后就用sklearn中的模型进行简单的预测
常用的就是randomforestreg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值