机器学习笔记

1,对应缺失数据较少的情况可以用插值法来处理,插值的方法可以是随机森林
2,当使用逻辑回归建模时因为需要的特征都是数值型特征,所以会先选择将特征因子化,比如常见的one-hot编码,如下面的例子所示:

dummies_Cabin = pd.get_dummies(data_train['Cabin'], prefix= 'Cabin')

2,为什么要降维?
主要是出于如下考虑:1. 特征维数越高,模型越容易过拟合,此时更复杂的模型就不好用。2. 相互独立的特征维数越高,在模型不变的情况下,在测试集上达到相同的效果表现所需要的训练样本的数目就越大。 3. 特征数量增加带来的训练、测试以及存储的开销都会增大。4.在某些模型中,例如基于距离计算的模型KMeans,KNN等模型,在进行距离计算时,维度过高会影响精度和性能。5.可视化分析的需要。在低维的情况下,例如二维,三维,我们可以把数据绘制出来,可视化地看到数据。当维度增高时,就难以绘制出来了。在机器学习中,有一个非常经典的维度灾难的概念。用来描述当空间维度增加时,分析和组织高维空间,因体积指数增加而遇到各种问题场景。例如,100个平均分布的点能把一个单位区间以每个点距离不超过0.01采样;而当维度增加到10后,如果以相邻点距离不超过0.01小方格采样单位超一单位超正方体,则需要10^20 个采样点。
所以特征不是越多越好,过多的特征可能会造成过拟合,增加计算开销
3,PCA算法
通过协方差矩阵的特征值分解能够得到数据的主成分,以二维特征为例,两个特征之间可能存在线性关系(例如运动的时速和秒速度),这样就造成了第二维信息是冗余的。PCA的目标是发现这种特征之间的线性关系,并去除。
4,将缺失值补为0的方法用fillna(0)完成
round([],2)后边的2是保留后两位小数
5,

x_train,x_test,y_train,y_test = train_test_split(train_da, label, test_size=0.15, random_state=2019)

注意在用上面的来划分训练集合测试集的时候,train_da不是训练集,它是特征,label是标签,训练集里既有特征又有标签
x_train:训练集特征
x_test:测试集特征
y_train:训练集标签
y_test:测试集标签

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值