赞
踩
目录
通过建立几个模型组合来解决单一预测问题。它的工作原理生成多个分类器/模型,各自独立地学习和做出预测。这些预测最后合成组合预测,因此优于任何一个单分类的做出预测。
也就是三个臭皮匠顶一个诸葛亮
随机森林是一个包含多个决策树的分类器,并且其输出的类别是由个别树输出的类别的总众数决定的。
比如训练了五棵树,四个是true那么就是true
用的BootStrap抽样的方法
假设五个[1,2,3,4,5],新的树的训练集,随机抽原始数据里的数,可重复,再抽5个
总结:N个样本中随机有放回的抽样N个
M个特征中随机抽取m'个特征
且M>>m
降维
设置数量,分割特征方法,最大深度,每个决策树最大特征数量
简单的建立个模型,可以设置一些参数
公司内部:百度
数据接口:花钱
不公开数据集:监控
学习可用数据集:
1)sklearn:scikit-learn: machine learning in Python — scikit-learn 1.3.0 documentation
2)kaggle:Kaggle: Your Machine Learning and Data Science Community
3)UCI:Home - UCI Machine Learning Repository
加载流行数据集
datasets.load_*()
获取小规模数据
datasets.fetch_*(data_home=None)
获取大规模数据集,函数第一个参数是表示把数据集下载目录
sklearn.datasets.load_iris()
加载iris化数据集,返回了数据
sklearn.datasets.load_boston()
加载波斯顿房价数据集
两种方法都会返回datasets.base.Bunch(字典格式)
可以通过键找值,也可以直接找
具体实现
因为最后还要数据评估,因此还要将数据划分
训练数据:用于训练,构建模型
测试数据:在模型检验时候使用,用于评估模型
因为训练集肯定多一些
因此数据集百分之70~80
而且返回为了统一:x_train,x_test,y_train,y_test
决定最后模型:算法+特征工程
数据和特征决定机器学习的上限,而模型和算法只是逼近这个上限而已。
使用专业背景知识和技巧处理数据,使得特征能在机器学习算法上发挥更好作用的过程
sklearn来做特征工程
pandas:数据清洗,数据处理
特征包含:
特征抽取/特征提取
特征处理
特征降维
机器学习算法——统计方法——数学公式
而有些数据是字符串,文本类型——数字
字典特征提取
文本特征提取
图像特征提取
sklearn.feature_extraction
vector:数学:向量,物理:矩阵也就对应着
迭代器:可以变量集合的接口
有的话就是1,没的就是0
默认sparse=True为稀疏矩阵,坐标形式,哪一个点有1,除了0以外的标出,节省
把true高温哦false
应用场景:类别特征比较多,本身数据就是字典类型
单词/句子/字母当作一个单位
单词更好处理
里面stop_words=[],如果你觉得还有虚一点的词,不需要的词,就可以写进去
输出sparse矩阵,不可以像字典那样转换,直接使用spares方法
调用后看到对特征的计数
中文的化没有空格,就是以一个句子来抽取,所以中文只能空格之后才行,但还有其他方法
通过一些转换函数将特征数据转换为更加适合算法模型的特征数据过程
包含内容
数值型数据的无量纲化
归一化
标准化
API
sklearn.preprocessing
为什么要归一化/标准化
特征的单位或者大小相差较大,或某特征的方差相比其他特征要大出几个数量级,容易影响(支配)目标结果,使得一些算法无法学习到其它的特征
就是一些数字比较大,一些数据比较小,权重不一样,无量纲化就ok
通过对原始数据进行变换把数据映射到(默认为[0,1])之间
输入需要是二维数组,行是样本数,列就是几个特征
发现正好在[0,1]之间
如果数据有缺失值,异常值
异常值:最大值/最小值
而归一化正好用的是最大值和最小值求出来的,所以进行归一化非常收到影响,稳定性较差
通过对元素数据进行变换,把数据变化到均值为0,标准差为1范围内
mean:均值
标准差:集中程度
1.实例化Transformer
2.调用fit_transform
转化标准差的时候
fit_transform()
fit():计算每一列的平均值,标准差
transform() (x-mean)/std进行最终转化
1.实例化estimator
2.estimator.fit(x_train,y_train):计算
——调用完毕代表模型生成
3.模型评估:
1)直接比对真实值
y_predict=estimator.predict(x.test)
然后比对目标值和真实结果
2)直接计算准确率
estimator.score()
我们将拿到的训练数据,分为训练和验证集,将数据分成四份,其中一份作为验证集,经过四组测试,每次都换不同验证,即得到四组模型结果,取平均值作为最终结果。
让评估模型更加准确
交叉验证和网格搜索都有的API
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。