![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
机器学习实战
IvyYin
达则兼济天下
展开
-
机器学习实战之k-近邻算法
简介: k-近邻算法是一种分类算法,无需训练算法思想:对未知类别的数据集合中的每一个点执行以下操作:计算已知类别数据集(训练集)中的点与当前点的距离;将距离按照递增顺序排列;选取距离最小的k个点;确定这k个点的所属类别,计算各类别出现的概率;将概率最大的类别作为当前点的类别;原始kNN的python实现:def KNN(inX, dataSet, labels, k...原创 2018-03-23 15:32:55 · 332 阅读 · 0 评论 -
机器学习实战之决策树算法
决策树算法目前最流行的有ID3, C4.5, CART三种,其中C4.5是由ID3改进而来,用信息增益比代替ID3中的信息增益,ID3算法不能直接处理连续型数据,事先要把数据转换成离散型才可以操作,C4.5算法可以处理非离散型数据,而且可以处理不完整数据。CART算法使用基尼指数用于特征选择,并在树构造过程中进行剪枝。在构造决策树的时候,那些挂着几个元素的节点,不考虑最好,不然容易导致overfi...原创 2018-03-27 09:53:54 · 289 阅读 · 0 评论 -
机器学习实战之使用 scikit-learn 库实现决策树
数据如图所示: 1、数值转换:构造决策树之前,需要将数据转化成数值形式,对了类别 label,yes 和 no 分别为 1, 0;对了样本数据,比如第一行属性 age,它有 youth middle_aged 和 senior 三类,那么我们可以把 youth 写成 [1,0,0],middle_aged 写成 [0,1,0]的向量形式。python 提供了专门转换属性值为数值向量的方法...原创 2018-04-03 10:27:25 · 677 阅读 · 0 评论 -
机器学习实战之使用 scikit-learn 库实现 knn
KNN 全称为 k nearest neighbors,是一个分类算法,无需训练,简单易于理解,但需要遍历整个数据集,需要大量的空间,计算量大。其思想如下:对未知类别的数据依次执行以下操作:计算已知类别数据集中的点与当前点之间的距离(一般采用欧式距离);将距离按照递增顺序排序;选取距离最小的前 k 个点;计算这 k 个点所属类别的出现概率;将概率最大的类别作为当前点的类别;...原创 2018-04-03 11:31:45 · 399 阅读 · 0 评论 -
机器学习实战之神经网络用于手写数字识别
有关神经网络(NeuralNetwork)的理论介绍,将在后续章节中进行整理,为了对神经网络有一个直观的理解,本篇博文使用神经网络实现手写数字识别项目,使用 logistic 函数作为激活函数,代码如下,注释比较清楚,不再赘述:#!/bin/python#coding=utf-8# 实现神经网络import numpy as npfrom sklearn.datasets impo...原创 2018-04-10 17:34:50 · 475 阅读 · 0 评论 -
机器学习实战之线性回归算法
#!/bin/python#coding=utf-8# 实现线性回归import numpy as npimport random#自动生成数据集,numPoints是行数#x是测试数据集,2维的向量,y是labeldef genData(numPoints,bias,variance): x = np.zeros(shape=(numPoints,2)) y =...原创 2018-04-11 10:01:34 · 297 阅读 · 0 评论 -
机器学习实战之使用 scikit-learn 库实现 svm
有关 svm 的理论知识,在博客支持向量机(SVM)入门理解与推导中已有详细介绍,svm的特性:训练好的模型的算法复杂度由支持向量的个数决定,而不是由数据的维度决定,所以 svm 算法不太容易产生 overfitting;svm 训练出来的模型完全依赖于支持向量,即使训练集中所有的非支持向量都被去除,重复训练过程,结果仍然是一样的模型;一个 svm 如果训练得出的支持向量比较少,那么模...原创 2018-04-04 11:53:03 · 4233 阅读 · 0 评论 -
使用sklearn训练xgboost模型
xgboost是提升树方法的一种,算法由GBDT改进而来,在计算时也采用并行计算,速度更快。sklearn中提供分类和回归的xgboost模型,本文对二分类问题采用xgboost进行训练。一、数据准备1、样本正样本:1.5W负样本:10W5个特征2、分训练集和测试集import pandas as pdfrom sklearn.model_selection im...原创 2018-07-17 23:28:54 · 18919 阅读 · 6 评论 -
pandas处理机器学习中的训练数据
1、pandas读取csvneg_data = pd.read_csv('negative.csv')2、查看前10行数据neg_data.head(10)3、查看数据的长度len(neg_data)4、删除某些列,需使用axis=1指定删除的对象是列(axis=0指定的是行),使用inplace = True将删除后的结果替换原来的dataframeneg_d...原创 2018-07-15 11:06:16 · 1054 阅读 · 0 评论