2248-小鱼-算法方向-数据挖掘-就业:否 已关闭

2248-小鱼-算法方向-数据挖掘-就业:否 扫二维码继续学习 二维码时效为半小时

(0评价)
价格: 免费

二、缺失值处理

用来填缺失值的类:impute.SimpleImputer

1、四个参数

1)missing_values:缺失值长什么样,默认np.nan

2)strategy:填补策略,默认均值"mean","median"中位数,"most_frequent"众数,"constant"数值(只有前两个可填数字型)

3)fill_value:策略为constant使用,表示要填充的值,常用0

4)copy:默认为True,创建副本

[展开全文]
3077_Yuki · 2022-07-06 · 自由式学习 0

二、缺失值处理

用来填缺失值的类:impute.SimpleImputer

1、四个参数

1)missing_values:缺失值长什么样,默认np.nan

2)strategy:填补策略,默认均值"mean"

3)fill_value:策略为constant使用,表示要填充的值,常用0

4)copy:默认为True,创建副本

[展开全文]
3077_Yuki · 2022-07-06 · 自由式学习 0

数据预处理与特征工程

数据挖掘的五大流程:获取数据、数据预处理、特征工程、建模、上线验证

数据预处理preprocessing & impute

一、数据无量纲化(统一规格,特例:决策树、树的集成算法不需要)

1、中心化 zero-centered/mean subtraction

本质是所有记录减去一个固定值

1)preprocessing.MinMaxScaler

  • 数据归一化Normalization:数据收敛到[0,1]之间,归一化后的数据服从正态分布
  • 参数feature_range:控制缩放范围,默认[0,1]
  • 如何用numpy实现归一化?使用公式

    import numpy as np
    x=[[-1,2],[-0.5,6],[0,10],[1,18]]
    x=np.array(x)#转成数组
    #归一化
    x_nor=(x-x.min(axis=0))/(x.max(axis=0)-x.min(axis=0))
    x_nor

2)preprocessing.StandardScaler

  • 数据标准化Standardization/Z-score normalization:把数据变成标准正态分布(均值为0,方差为1)
  • 标准化训练完查看均值和方差的属性?(自动按列计算)
    scaler.mean_
    scaler.var_

3)如何选择?

  • 归一化对异常值敏感,一般选标准化
  • 不涉及协方差计算、需要压缩到某个区间:归一化
  • 只压缩,不中心化:MaxAbsScaler
  • 异常值多、噪声大分位数RobustScaler

2、缩放处理 scale

本质是所有记录除以一个固定值

[展开全文]
3077_Yuki · 2022-07-06 · 自由式学习 0

数据预处理与特征工程

数据挖掘的五大流程:获取数据、数据预处理、特征工程、建模、上线验证

数据预处理preprocessing & impute

一、数据无量纲化(统一规格,特例:决策树、树的集成算法不需要)

1、中心化 zero-centered/mean subtraction

本质是所有记录减去一个固定值

1)preprocessing.MinMaxScaler

  • 数据归一化Normalization:数据收敛到[0,1]之间,归一化后的数据服从正态分布
  • 参数feature_range:控制缩放范围,默认[0,1]

2、缩放处理 scale

本质是所有记录除以一个固定值

 

[展开全文]
3077_Yuki · 2022-07-06 · 自由式学习 0

数据预处理与特征工程

数据挖掘的五大流程:获取数据、数据预处理、特征工程、建模、上线验证

[展开全文]
3077_Yuki · 2022-07-06 · 自由式学习 0

机器学习调参基本思想

调参目标是提升某个模型评估指标

1、泛化误差(衡量模型在未知数据上准确率的指标)

1)在测试集上表现不好:泛化能力不够

2)泛化误差受模型结构(复杂度)影响(U型曲线),调参之前,判断模型在曲线哪个部分

3)模型太简单或太复杂,泛化误差都会升高,追求的是中间的平衡点

4)模型太复杂:过拟合,太简单:欠拟合

5)树模型和树的集成模型,越深、枝叶越多、模型越复杂

6)树模型和树的集成模型目标:减少模型复杂度(剪枝),使模型向图像左边移动

2、各个参数对树模型的影响程度(由大到小)

1)n_estimators:计算量允许,越大越好,不影响单个模型复杂度

2)max_depth:默认让树生长到最茂盛,下降,模型更简单

3)min_samples_leaf、min_samples_split:默认最小限制1、2,即最高复杂度,调大,模型更简单

4)max_features:默认特征总数开平方(auto),中间复杂度,减小,更简单,增加,更复杂(不怎么用)

5)criterion:一般选gini(影响看具体情况)

 

 

[展开全文]
3077_Yuki · 2022-07-05 · 自由式学习 0

pd.concat()

第一个参数:需要连接的所有对象用列表包起来

第二个参数:axis=1左右相连

[展开全文]
3077_Yuki · 2022-07-05 · 自由式学习 0

特征矩阵和标签有某种联系,可以交换

特征矩阵缺失值标签:x_test

特征矩阵缺失值:需要预测的y_test

特征矩阵不缺失值:y_train,标签:x_train

(这种做法适用于某一列特征大量缺失,若多列缺失,遍历特征,从缺失最少的列填补,填补其中一列时,先将其它特征缺失值用0代替)

[展开全文]
3077_Yuki · 2022-07-05 · 自由式学习 0

RandomForestRegressor(随机森林回归)

一、参数criterion取值不同(与决策树部分相同)

1)"mse":回归树中,MSE是分支质量衡量指标,也是回归树回归质量衡量指标

2)"friedman_mse"

3)"mae"

二、模型衡量指标不同:R²或MSE(常用)

三、常用接口apply, predict, fit, score,没有predict_proba

注:如何打印模型评估指标列表?

import sklearn
sorted(sklearn.metrics.SCORERS.keys())

 

[展开全文]
3077_Yuki · 2022-07-04 · 自由式学习 0

2、random_state

1)随机森林中的random_state控制的是生成森林的模式,设成固定值生成一组固定的树

2)决策树中的random_state控制随机选择特征分支

3)随机性越大,bagging效果一般越好,因此一般不设置,若追求稳定性可设置成固定值

3、bootstrap、oob_score

1)bootstrap默认为True,控制有放回的随机抽样

2)oob_score默认为False,设置为True表示希望用袋外数据测试模型,此时训练函数中放入完整数据(不用划分训练集、测试集)

三、重要属性

1、estimators_,查看森林中树的状况

.estimators[num]取出一棵树

2、oob_score_,查看在袋外数据上测试结果

3、feature_importance_查看特征重要性(用zip把特征重要性和特征名连起来,易于观察哪一个特征更为重要)

四、重要接口

1、4个常用接口:apply(返回测试集中每一个样本在每一棵树中叶子节点的索引;需要画图或需要提取单独叶子节点时使用)、fit、predict(返回对测试集预测的标签)、score

2、predict_proba:

1)返回每个测试样本被分到每一类标签的概率,标签几类,返回几个

[展开全文]
3077_Yuki · 2022-07-04 · 自由式学习 0

二、RandomForestClassifier(随机森林分类器)参数

1、n_estimators:森林中树木的数量

1)越大往往越好,但计算量越大,达到一定值精确性波动,一般在0-200内选

2)单个决策树准确度越高,随机森林的准确度也会越高

 

[展开全文]
3077_Yuki · 2022-07-04 · 自由式学习 0

随机森林

一、概述

1、集成算法

1)集成算法考虑多个评估器的结果,汇总获取更好的分类、回归表现

2)三种集成算法:装袋法bagging(模型独立),提升法boosting(模型相关),stacking

3)随机森林是一种bagging集成算法

[展开全文]
3077_Yuki · 2022-07-04 · 自由式学习 0

如何进行增维?(放到回归树中的数据必须是二维的)

1).reshape(-1,1)

2)[:,np.newaxis]

 

[展开全文]
3077_Yuki · 2022-07-03 · 自由式学习 0

交叉验证()

1、观察模型稳定性的一种方法,避免测试集训练集划分导致模型不同

2、数据分为n份,依次把其中一份作为测试集,其他为训练集,交叉验证n次求平均值

3、model_selection.cross_val_score的五个参数

1)任何实例化的算法模型

2)不需划分测试集、训练集的特征矩阵

3)不需划分的完整标签

4)cv=10,做十次交叉验证,数据划分为十份,每次一份为测试集,剩下为训练集,通常选5,默认为5

5)scoring="neg_mean_squared_error",neg_mean_squared_error负均方误差。用这个指标评估交叉验证的结果。不填,回归默认返回R平方

1、回归问题处理的是连续型变量

[展开全文]
3077_Yuki · 2022-07-03 · 自由式学习 0

交叉验证(model_selection.cross_val_score)

1、观察模型稳定性的一种方法,避免测试集训练集划分导致模型不同

2、数据分为n份,依次把其中一份作为测试集,其他为训练集,交叉验证n次求平均值

1、回归问题处理的是连续型变量

[展开全文]
3077_Yuki · 2022-07-03 · 自由式学习 0

回归树

一、参数、属性、接口几乎和分类树相同)

二、回归树没有标签分布均衡问题,没有class_weight

三、参数criterion差异

1、="mse",均方误差

1)父节点和子节点均方误差的差额,本质是样本真实数据和回归结果的差异。

2)在回归树中,MSE是分枝质量衡量指标、回归树回归质量衡量指标。越小越好。

3)回归树接口score返回的是R平方,不是MSE,取值为负无穷到1,MSE总为正,sklearn中为负值

2、="friedman_mse",费尔德曼均方误差

3、="mae",绝对平均误差

[展开全文]
3077_Yuki · 2022-07-03 · 自由式学习 0