- 博客(12)
- 收藏
- 关注
原创 Dataset和Dataloader|读取图片
Dataset 加载数据集-使之支持索引DataLoader方便使用的时候拿出一个Mini-Batch来使用1.为什么是Mini-Batch罗翔老师喜欢说“正说反说折中说”,这里也是类似,我们使用一个样本的随机性来帮我们跨越鞍点(但速度太慢),使用Batch得到向量计算的优势,最大的提高计算速度(但准确率有差)。而Mini-Batch就是每次既不是取一个,也不是取全部。而是把全部的分成几组,取其中的一个,这样就能很好的均衡这两种的优势,达到效果和效率的均衡点。2.与Mini-Bat.
2022-04-28 21:40:23
2037
原创 机器学习调参的基本思路
part 1 调参的基本思路泛化误差(Genelization error):衡量模型在未知数据上的准确率的指标。当模型在未知数据(测试集或者袋外数据)上表现糟糕时,我们说模型的泛化程度不够,泛化误差大,模型的效果不好。Ⅰ.随机森林是以树模型为基础,所以随机森林也是天生复杂度高的模型。随机森林的参数,都是向着一个目标去:减少模型的复杂度,把模型往图像的左边移动,防止过拟合。当然了也不是绝对的。所以要优先判断模型现在究竟处于图像的哪一边。1)模型太复杂或者太简单,都会让泛化误差高,我们追求的是位
2021-10-16 14:42:05
575
原创 特征选择2:过滤法2~相关性过滤
相关性过滤K方过滤针对离散型标签(即分类问题)的相关性过滤feature_selection.chi2~非负特征和标签之间的卡方统计量,并以此从高到低为特征排名。feature_selection.SelectKBest~来选出前K个分数最高的特征的类除去最可能独立于标签的特征如果卡方检验检测到某个特征中所有的值都相同,会提示我们使用方差先进行方差过滤。使用threshold=中位数时完成的方差过滤的数据来做卡方检验(反而差了当然是用原数据,比如K=300结果差了说明要保留的特征增加应该调大
2021-10-14 15:23:25
525
原创 特征选择1:过滤法1~方差过滤
概述:1.过滤法全部特征->最佳特征子集->算法->模型评估过滤完全独立于任何机器学习算法根据各种统计检验中的分数以及各种相关性指标来选择特征。Filter过滤1.方差过滤(1).一个特征本身的方差很小,就表示样本在这个特征上基本没有差异,没有区分的作用。优先消除方差为0的特征。Variance Threshold第一类是标签y 其他全是features~X一共784行(2)默认VarianceThreshold()中为方差为0from sklearn.
2021-10-14 14:55:25
1651
原创 数据预处理4:处理连续型特征~二值化与分段
1.二值化大于阈值的值映射为1,而小于或等于阈值的值映射为0。 默认阈值为0时,特征中所有的正值都映射到1。常用于文本计数统计sklearn.preprocessing.Binarizer以此为例from sklearn.preprocessing import BinarizerX = data_2.iloc[:,0].values.reshape(-1,1)#类为特征专用,所以不能使用一维数组transformer = Binarizer(threshold=30).fit_tr
2021-10-14 11:55:15
404
原创 数据预处理3:处理分类型特征(2)
preprocessing.OneHotEncoder之前在舱门Embarked这一列中,我们使用[0,1,2]代表了三个不同的舱门,然而这种转换是正确的吗?体重(>45kg,>90kg,>135kg) 各个取值之间有联系,且是可以互相计算的,比如120kg - 45kg = 90kg,分类之间可以通过数学计算互相转换。这是有距变量。对特征进行编码时,三类数据被我们转化成[0,1,2],而这在算法看来是都是体重那种分类的方法,也就是连续可计算的。而像舱门这里S Q C和性别男女.
2021-10-14 11:36:55
284
原创 数据预处理3:处理分类型特征(1)
在大多数机器学习算法中都是只能处理数值型数据,不能处理文字,尤其是sklearn的实现。很多标签和特征在数据收集后不是以数字呈现的,付费方式可能包含[“支付宝”,“数字人民币”,“微信”]。所有大多数情况下我们必须把数据编码情况1:对标签from sklearn.preprocessing import LabelEncodery=data.iloc[:,-1]le = LabelEncoder()le = le.fit(y)#导入数据label = le.transform(y) .
2021-10-14 10:59:12
185
原创 数据预处理2: impute.SimpleImputer来填补缺失值
import numpy as npimport pandas as pdimport matplotlib.pyplot as pltdata = pd.read_csv("train.csv")#Use the Titanic data set from kaggledata.info()data.head(3)data1 = pd.read_csv("train.csv",index_col=0)#这里的index_col是表示把第0列作为索引,PassengerId正好也有这
2021-10-14 10:41:33
675
原创 数据预处理1:无量纲化especially for Scaler
模块preprocessing:几乎包含数据预处理的所有内容模块Impute:填补缺失值专用模块feature_selection:包含特征选择的各种方法的实践模块decomposition:包含降维算法preprocessing.MinMaxScaler [0,1]”归一化“preprocessing.StandardScaler 处理后标准正态分布 “标准化”会选择StandardScaler来进行特征缩放,因为MinMaxScaler对异常值非常敏感。MinMaxScaler在不涉.
2021-10-14 10:14:41
142
原创 案例2:随机森林来填补缺失值
使用随机森林回归来填补缺失值1.导包先导入一些需要的包import numpy as npimport pandas as pdimport matplotlib.pyplot as pltfrom sklearn.datasets import load_bostonfrom sklearn.impute import SimpleImputer#用于填补缺少的类from sklearn.ensemble import RandomForestRegressor2.导入数据data
2021-10-14 08:34:23
1750
原创 案例1:随机森林在乳腺癌数据上调参
随机森林在乳腺癌上调参1.导包from sklearn.datasets import load_breast_cancerfrom sklearn.ensemble import RandomForestClassifierfrom sklearn.model_selection import GridSearchCVfrom sklearn.model_selection import cross_val_scoreimport matplotlib.pyplot as pltimport
2021-10-14 00:25:58
223
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人