机器学习
机器学习学习笔记
xiaochen1999
这个作者很懒,什么都没留下…
展开
-
Python3入门机器学习 - 集成学习
集成学习是使用一系列学习器进行学习,并使用某种规则把各个学习结果进行整合从而获得比单个学习器更好的学习效果的一种机器学习方法。#准备数据X,y = datasets.make_moons(noise=0.3,n_samples=500,random_state=42)from sklearn.model_selection import train_test_splitX_tra...原创 2019-02-20 16:13:36 · 665 阅读 · 0 评论 -
Python3入门机器学习 - 决策树
信息熵 左式的信息熵较高,代表左式的不确定性更强,左式即指数据有三个类别,每个类别占1/3 右式的信息熵为0,是信息熵可以达到的最小值,代表数据的不确定性最低,即最确定 绘制决策树的决策边界import numpy as npimport matplotlib.pyplot as pltfrom sklearn import datasetsiri...原创 2019-02-20 16:13:18 · 187 阅读 · 0 评论 -
Python3入门机器学习 - 支撑向量机SVM
SVM的主要思想可以概括为两点:它是针对线性可分情况进行分析,对于线性不可分的情况,通过使用非线性映射算法将低维输入空间线性不可分的样本转化为高维特征空间使其线性可分,从而使得高维特征空间采用线性算法对样本的非线性特征进行线性分析成为可能。 它基于结构风险最小化理论之上在特征空间中构建最优超平面,使得学习器得到全局最优化,并且在整个样本空间的期望以某个概率满足一定上界。 ...原创 2019-02-20 16:13:11 · 370 阅读 · 0 评论 -
Python3入门机器学习 - 混淆矩阵、精准率、召回率
在分类问题中,预测准确度如果简单的用预测成功的概率来代表的话,有时候即使得到了99.9%的准确率,也不一定说明模型和算法就是好的,例如癌症问题,假如癌症的发病率只有0.01%,那么如果算法始终给出不得病的预测结果,也能达到很高的准确率混淆矩阵二分类问题的混淆矩阵以癌症为例,0代表未患病,1代表患病,有10000个人:癌症问题的混淆矩阵 精准率和召唤率...原创 2019-02-20 16:13:01 · 2735 阅读 · 0 评论 -
Python3入门机器学习 - 逻辑回归与决策边界
logistic回归又称logistic回归分析,是一种广义的线性回归分析模型,以胃癌病情分析为例,选择两组人群,一组是胃癌组,一组是非胃癌组,两组人群必定具有不同的体征与生活方式等。因此因变量就为是否胃癌,值为“是”或“否”,自变量就可以包括很多了,如年龄、性别、饮食习惯、幽门螺杆菌感染等。逻辑回归需要将原本线性回归结果的值域置于(0,1)之间,概率大于0.5看作结果为1常使...原创 2019-02-20 16:11:37 · 831 阅读 · 0 评论 -
Python3入门机器学习 - 模型泛化
模型正则化在多项式回归中如果degree过大,会造成过拟合的情况,导致模型预测方差极大,因此,我们可以使用模型正则化的方式来减小过拟合导致的预测方差极大的问题 即在我们训练模型时,不仅仅需要将预测的y和训练集的y的均方误差达到最小,还要使参数向量最小。(即上图公式。) 使用岭回归达到最小方差from sklearn.linear_model import Ridg...原创 2019-02-20 16:13:25 · 351 阅读 · 0 评论 -
Python3入门机器学习 - 多项式回归与学习曲线
非线性方程的拟合,例如 y=x^2+0.5x+1 , 就是将x^2看作X的一个特征值#准备数据import numpy as npimport matplotlib.pyplot as pltx = np.random.uniform(-3,3,size=100)X = x.reshape(-1,1)y = 0.5*x**2 + x + 2 +np.random.norma...原创 2019-02-20 16:11:26 · 2263 阅读 · 0 评论 -
Python3入门机器学习 - PCA(主成分分析)
主成分分析也称主分量分析,旨在利用降维的思想,把多指标转化为少数几个综合指标(即主成分),其中每个主成分都能够反映原始变量的大部分信息,且所含信息互不重复。这种方法在引进多方面变量的同时将复杂因素归结为几个主成分,使问题简单化,同时得到的结果更加科学有效的数据信息。 使用梯度上升法求解主成分//准备数据import numpy as npimport matplotlib...原创 2019-02-20 16:10:38 · 1600 阅读 · 0 评论 -
Python3入门机器学习 - 梯度下降法
梯度下降是迭代法的一种,可以用于求解最小二乘问题(线性和非线性都可以)。在求解机器学习算法的模型参数,即无约束优化问题时,梯度下降(Gradient Descent)是最常采用的方法之一,另一种常用的方法是最小二乘法。在求解损失函数的最小值时,可以通过梯度下降法来一步步的迭代求解,得到最小化的损失函数和模型参数值。模拟实现梯度下降法def DJ(theta): //计算损失...原创 2019-02-20 16:10:29 · 576 阅读 · 0 评论 -
Python3入门机器学习 - 线性回归与knn算法处理boston数据集
简单线性回归最小二乘法实现原理使用最小二乘法计算a、b的值,实现线性回归的拟合# _*_ encoding:utf-8 _*_import numpy as npclass SimpleLinearRegression1: //该类使用for循环方法计算a、b值,效率较低 def __init__(self): self.a_ = None ...原创 2019-02-20 16:10:13 · 1013 阅读 · 0 评论 -
Python3入门机器学习 - GridSearch探索最佳超参数与交叉验证
这次我们依旧使用digits数据集准备数据%%timeimport sklearn.datasetsimport numpy as npfrom sklearn.neighbors import KNeighborsClassifierfrom sklearn.metrics import accuracy_scorefrom sklearn.model_selection im...原创 2019-02-20 16:09:42 · 1499 阅读 · 0 评论 -
Python3入门机器学习 - k近邻算法
邻近算法,或者说K最近邻(kNN,k-NearestNeighbor)分类算法是数据挖掘分类技术中最简单的方法之一。所谓K最近邻,就是k个最近的邻居的意思,说的是每个样本都可以用它最接近的k个邻居来代表。kNN算法的核心思想是如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。数据预备,这里使用random函数生成10*...原创 2019-02-20 16:09:31 · 686 阅读 · 0 评论 -
Python3入门机器学习 - 数据可视化基础matplotlib
先上张图折线图plt.plot(x,siny,label="sin(x)")plt.plot(x,cosy,color="red",linestyle="--",label="cos(x)")plt.axis([-2,12,-2,2]) //设置横纵坐标范围,也可以使用 plt.xlim(-2,12) plt.ylim(-2,2)来设置plt.xlabel("x axis")...原创 2019-02-20 16:09:20 · 286 阅读 · 0 评论 -
Python3入门机器学习 - Jupyter Notebook篇
我们搭建及其学习所需要的环境,可以使用名为ACACONDA的集成工具来进行一键安装,在Acaconda的官网下载安装后,可以得到 Machine Learning更改工作路径使用ANACONDA安装的Jupyter NoteBook,在Anaconda prompt 中直接使用指令Jupyter Notebook指令打开Jupyter Notebook,会以默认的%UserP...原创 2019-02-20 16:09:05 · 1301 阅读 · 0 评论 -
各个分类算法优缺点
一、朴素贝叶斯优点:1、朴素贝叶斯模型发源于古典数学理论,有稳定的分类效率。 2、对小规模的数据表现很好,能个处理多分类任务,适合增量式训练,尤其是数据量超出内存时,我们可以一批批的去增量训练。 3、对缺失数据不太敏感,算法也比较简单,常用于文本分类。 缺点: 1、 理论上,朴素贝叶斯模型与其他分类方法相比具有最小的误差率。但是实际上并非总是如此,这是因为朴素贝叶斯模...原创 2018-10-08 18:04:44 · 1982 阅读 · 0 评论 -
解析天池大赛O2O第一名 extract_feature.py 提取特征
读取数据dataset split: (date_received) dateset3: 20160701~20160731 (113640),features3 from 20160315~20160630 (off_test) dateset2: 20160515~20160615 (258446),features2 from 20160201~20160514 dates...转载 2018-08-30 10:03:27 · 953 阅读 · 0 评论