K折交叉验证,是将数据集按等比例划分成K份,以其中的一份作为测试数据,其他的K-1份数据作为训练数据进行实验,并循环交替K次
贝叶斯常常用于文本的分类问题,有两种对于处理文本特征的模型第一种:词袋模型是把原来的1转为2,第二种为是比较常用的,当然还有结巴:贝叶斯有三种模型,分别是多项式模型多用于离散化数据,有一个参数需要优化还有就是伯努利模型同样适用于离散化数据,但是他的取值只能是1和0这样的二值化处理,也是有一个参数需要优化:第三个是高斯模型,适用于连续变量,没有需要优化的参数可以直接使用。一下是三种模型的代码操作
分类:使用已知的数据集(训练集),得到相应的模型,通过这个模型可以划分未知数据。分类涉及到的数据集通常是带有标签的数据集;分类是有监督学习;一般分两步实现,训练数据得到模型,通过模型划分未知数据。常用的分类算法包括:NBC(Naive Bayesian Classifier,朴素贝叶斯分类)算法,LR(Logistic Regress,逻辑回归)算法,ID3(Iterative Dichotomi
逻辑回归一般处理的都是二分类问题,但是进行参数的选择也是可以达成多分类问题,需要调节的参数有下图:需要注意的是在进行multi—class这个参数的优化时需要改变solver的参数,如下图:
①sigmoid函数连续, 严格单调, 以(0,0.5)中心对称, 是一个非常良好的阈值函数②当x为0时, Sigmoid函数值为0.5, 随着x的增大对应的Sigmoid值将逼近于1; 而随着x的减小, Sigmoid函数会趋近于0③Sigmoid函数的值域范围限制在(0,1)之间, 与概率值的范围是相对应的④Sigmoid函数的导数是其本身的函数, 即f'(x)=f(x)(1-f(x)), 计
交叉验证的次数一般都是5或者10.
线性回归分类1.标准线性回归2.欠拟合:从数据角度处理,对特征进行多项式变换,按照标准线性回归流程3.过拟合:从算法角度处理,有以下岭回归:L2正则lasso回归:L1正则弹性网:L1+L2求解方法:最小二乘法:解析解梯度下降法:数值解,一阶导批量梯度下降随机梯度下降小批量梯度下降坐标轴下降法(Lasso在0处不可导,只能用这种方法求解)牛顿法:二阶导,比梯度
sklearn中的标准线性回归模型的实现它没有需要优化的系数上图是岭回归,lasso回归和弹性网的模型创建以及优化方法,除了弹性网的优化系数为两个,而其他两个都是一个,下图为三种回归方法带入案例中的示例:可以注意一下上面的粗细调值问题,多次选择找出最优的法则。
对比一 : 有标签 vs 无标签有监督学习的方法就是识别事物,识别的结果表现在给待识别数据加上了标签。因此训练样本集必须由带标签的样本组成。而非监督学习方法只有要分析的数据集的本身,预先没有什么标签。如果发现数据集呈现某种聚集性,则可按自然的聚集性分类,但不予以某种预先分类标签对上号为目的。对比二 : 分类 vs 聚类有监督机器学习的核心是分类,无监督机器学习的核心是聚类(将数据集合分成由类似的对
优点:1、使用核函数可以向高维空间进行映射2、使用核函数可以解决非线性的分类3、分类思想很简单,就是将样本与决策面的间隔最大化4、分类效果较好缺点:1、对大规模数据训练比较困难2、无法直接支持多分类,但是可以使用间接的方法来做
因为模型喂进去的数据需要是数值型的,所以在进行建模之前要对一些不是数值型的数据进行编码,图上步骤一是序列型编码的操作,步骤二是把数据中不是二分类的数值列筛选出来到column中进行哑编码如下图操作:对于进行过哑编码的数据会存在维度增多数据过拟合等问题,这时候就需要进行降维(pca(主成分))下图就是降维的操作,1可以是数值也可以是百分比,数值代表降到几个维度,2是查看降维后每个维度所保留的信息百分
在交叉验证中,对于scoring这个参数,除了在二分类问题(y有两个类别,是或不是,卖或不买等)以及样本不平衡的时候经常设置这个参数,别的默认即可,其实这个参数的背后意思就是根据roc线面积来确定的。
上图是回归树的代码操作,只是简单的执行,里面的参数并没有优化,上图是对回归树的一些参数进行优化的操作,图中的1,是可以显示出模型在优化的过程当然也可以不设置,2是打印出最优模型形成的参数,3可以说是相同的意义取一个就可以,最下面的是将打印出的最优参数进行带入测试,而上面是直接在2的基础上得分。上图是如果觉得这个模型比较好还需要再利用,可以进行保存,可以节约下次使用模型还需要进行训练的流程,把直接训
操作以上代码可以展示出树的模型,标注1的地方是需要先在cmd里pip install 它,然后把装有grabhviz的文件放入2中执行即可。想要让树的根节点展示为中文,需要先执行1,然后在装有grabhviz的文件下的bin里查找存入的tree,dot文件使用Notepad++打开,然后修改fontname为2,然后在anacondaprompt打开输入cd 和1中的文件路径进行执行,然后输入2
三者算法原理的比较
在图中年龄是cart二叉树中的回归问题使用的平方误差最小化选择特征的方法。从图上来看得知先从职业这个属性中选取最小的平方误差,算法如图4,5,6,最小的为5,然后以相同的方法计算出性别这个属性,选出最小的平方误差,然后与职业中的5相比选择最小的平方误差,作为顶层树根结,而是否已婚是二叉树的分类问题原理相同。
ID3算法决策树是通过信息增益的值得大小来构造决策树最大的为顶层,如图示例C4.5是通过信息增益率来构建决策树,根据值最的为顶层,算法如图这里算的为outlook的信息增益率,14为样本总数。当然可以以此来计算其他。
对于决策树算法而言,如果说上一节点为分类型变量的话,下一节点不可以使用这个属性,如图outlook为分类型变量,如果下面没有分完是不可以再使用了,但是如果上一节点是离散型变量,好比是humidity这个变量,如果下面的yes项并没有分完是还可以在yes节点使用humidity这个变量继续分,只不过是需要在小于70的这个连续变量中重新确定阈值在划分。(而这个windy虽然在上面的别的枝干使用过了,但
只有onehot方法里transform需要,因为最后数据结果太大了,所以压缩了,然后需要用toarray转换,其他方法里用transform都不需要,会直接返回arrary
在算法kmeans中的k代表数据分类的簇数应用于聚类,原始数据为分散数据,k=n_clusters,一般为10个以内。在算法knn中k代表,原数据已经分好类用于新数据的预测分类,k=n-neighbors,表示选择样本数据中前k个最相似的数据,应用于分类。
关注