![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
机器学习算法
糯米君_
算法工程师
展开
-
线性判别分析法LDA-线性降维-特征降维
LDA的两种性质:①同类的数据点尽可能接近;②不同类的数据点尽可能分开。原创 2023-07-22 22:29:06 · 226 阅读 · 0 评论 -
主成分分析法PCA-线性降维-特征降维
主成分分析法是最常用的线性降维方法,主要原理是通过某种线性投影,将高维的数据映射到低维的空间中表示,并期望在所投影的维度上数据的方差最大,以此达到使用较少的数据维度来保留较多的原数据点特性的效果。原创 2023-07-22 22:24:31 · 394 阅读 · 0 评论 -
基于模型的特征选择法SelectFromModel()函数筛选特征简单实战-从糖尿病数据集中基于疾病进展寻找最佳两个特征。
使用SelectFromModel()结合LassoCv基于查找预测从基线开始一年后疾病进展,从糖尿病数据集(由从442名糖尿病患者中收集的10个变量(特征))中筛选出最佳的两个特征。原创 2023-06-21 00:08:47 · 312 阅读 · 0 评论 -
机器学习 7种常用简单的特征处理方法
1.标准化: StandardScaler()2.区间缩放法: MinMaxScaler()3.归一化: Normalizer()4.定量特征二值化: Binarizer()5.定性特征哑编码: OneHotEncoder()6.缺失值填充: SimpleImputer()7.数据转换:(1) 多项式转换: PolynomialFeatures()(2) 对数变换: FunctionTransformer(log1p)原创 2023-06-05 22:11:16 · 798 阅读 · 0 评论 -
机器学习 深度森林回归的加利福尼亚房价简单实践
实施深层森林回归原创 2023-04-14 23:49:30 · 406 阅读 · 0 评论 -
机器学习常用公开数据集列表
机器学习常用公开数据集列表原创 2023-03-26 23:21:31 · 219 阅读 · 0 评论 -
xgboost入门示例:蘑菇是否有毒
import xgboost as xgb# 数据读取# 数据加载为自定义的矩阵DMatrixxgb_train = xgb.DMatrix('agaricus.txt.train')xgb_test = xgb.DMatrix('agaricus.txt.test')#定义模型训练参数params = { "objective": "binary:logistic", "booster": "gbtree", "max_depth": 3}# 训练轮数num_原创 2021-06-11 00:23:38 · 471 阅读 · 0 评论 -
机器学习算法--numpy实现线性回归
简单的模型如线性回归,使用常规的科学计算库或者工具就可以求解,这里使用numpy来实现一个简单的一元线性回归import numpy as npX_raw = np.array([2013, 2014, 2015, 2016, 2017], dtype=np.float32)y_raw = np.array([12000, 14000, 15000, 16500, 17500], dtype=np.float32)# 归一化X = (X_raw - X_raw.min()) / (X_raw.m原创 2021-04-18 22:19:05 · 1163 阅读 · 0 评论 -
机器学习算法--sklearn 中决策树分类模型sklearn.tree.DecisionTreeClassifier()参数详解
from sklearn.tree import DecisionTreeClassifier'''参数: criterion:特征选择的标准,有信息增益和基尼系数两种,使用信息增益的是ID3和C4.5算法(使用信息增益比),使用基尼系数的CART算法,默认是gini系数。 splitter:特征切分点选择标准,决策树是递归地选择最优切分点,spliter是用来指明在哪个集合上来递归,有“best”和“random”两种参数可以选择, best表示在所有特征上递归,适原创 2021-04-10 15:26:28 · 2873 阅读 · 0 评论 -
机器学习--Flask 发布一个预测模型
通过 Flask 制作一个简单的微服务预测接口,实现模型的预测和浏览器交互功能:import joblibfrom flask import Flask, requestimport numpy as np'''# 不使用浏览器,常规的控制台交互model_path = ".//model.pkl"model = joblib.load(model_path)sen = [[['坚决', 'a', 'ad', '1_v'], ['惩治', 'v', 'v', '0_Root原创 2021-04-04 23:41:17 · 771 阅读 · 0 评论 -
机器学习--第一个最小的 Flask 应用
Flask 是一个 Python 编写的 Web 微框架,可以让我们使用 Python 语言快速实现一个网站或 Web 服务。Flask 依赖 Jinja2 模板和 Werkzeug WSGI 服务。Werkzeug 本质是 Socket 服务端,其用于接收 HTTP 请求并对请求进行预处理,然后触发 Flask 框架,开发人员基于 Flask 框架提供的功能对请求进行相应的处理,并返回给用户,如果返回给用户的内容比较复杂时,需要借助 Jinja2 模板来实现对模板的处理,即将模板和数据进行渲染,将渲染后原创 2021-04-04 23:38:39 · 152 阅读 · 0 评论 -
机器学习--pickle 模块简单使用
pickle 提供了一个简单的持久化功能。pickle 模块只能在 Python 中使用,Python 中几乎所有的数据类型(列表、字典、集合、类等)都可以用 pickle 来序列化。pickle 序列化后的数据,可读性差,人一般无法识别。它有以下两个方法:pickle.dump(obj, file[, protocol]):序列化对象,并将结果数据流写入到文件对象中。pickle.load(file):反序列化对象。将文件中的数据解析为一个 Python 对象。例子:import pickl原创 2021-04-04 23:35:33 · 394 阅读 · 0 评论 -
机器学习--JSON格式dumps()和loads()简单使用
JSON 是一种轻量级的数据交换格式,易于人们阅读和编写。它拥有两个格式处理函数:json.dumps:将 Python 对象编码成 JSON 字符串;json.loads:将已编码的 JSON 字符串解码为 Python 对象。例子:import json# 保存data = [{'a': 1, 'b': 2, 'c': 3, 'd':4, 'e':5}]print(type(data)) # data是一个list对象# json.dumps 用于将 Python 对象编码成 J原创 2021-04-04 23:20:03 · 410 阅读 · 0 评论 -
机器学习算法--回归的衡量指标(均方根误差和相关系数)
用于机器学习回归问题的两个最常见的性能评价指标是均方根误差(RMSE)和皮尔逊相关系数(R2)import numpy as npimport pandas as pdy_true = np.array([0, 0, 0, 1, 1, 1, 1, 1, 1, 1])y_pred = np.array([0, 0, 1, 1, 1, 1, 1, 0, 0, 0])# 均方根误差(RMSE)rmse = np.sqrt(sum((y_true - y_pred) ** 2) / len(y_tr原创 2021-03-07 22:01:25 · 2852 阅读 · 0 评论 -
机器学习算法--分类的衡量指标(误差矩阵或混淆矩阵)
对分类器而言,我们希望它做对两件事:一是用类标签标记真正属于该类的对象,二是不用这个标签去标记不属于此类的对象。这两件事对应得到的正确计数值分别称为真阳(true positive)和真阴(true negative)。真阳、假阳、真阴、假阴这 4 个数合并成一个 2 × 2 矩阵,称为误差矩阵或混淆矩阵import pandas as pdimport numpy as npy_true = np.array([0, 0, 0, 1, 1, 1, 1, 1, 1, 1])y_pred = np.原创 2021-03-07 21:59:22 · 1399 阅读 · 0 评论 -
机器学习算法--欧几里得距离、余弦距离和曼哈顿距离的计算
两个向量之间的距离可以通过很多不同的方式来度量如欧几里得距离、余弦距离和曼哈顿距离import numpy as np# 向量的差A = np.array([[1, 2, 3], [4, 5, 6]])print(A[0])print(A[1])print(np.diff(A, axis=0))print(A[1] - A[0])# 欧几里得距离也称为 L2 范数# 它是两个向量差的长度。L2 中的“L”代表长度。L2 中# 的“2”表示在对这些值求和之前(且在求和的平方根之前)向量原创 2021-03-07 21:52:33 · 1202 阅读 · 0 评论 -
机器学习算法--向量和矩阵
向量是一个有序的数字序列,没有任何“跳跃”。向量是一个稠密的数组(array),它的使用方式很像 Python 的数字列表(list)。我们使用 numpy 数组而不是 Python 列表的主要原因是前者的速度快很多(是后者的 100 倍),并且内存占用更少(只有后者的 1/4)。另外,我们可以使用向量运算,例如,可以将整个数组乘以一个值,而无须使用 for循环遍历每个值。矩阵可以被看成是一个行向量数组。import numpy as np# 创建向量print(np.array(range(4)原创 2021-03-07 21:48:44 · 314 阅读 · 0 评论 -
机器学习算法--scikit-learn的LinearRegression()实现线性回归
许多scikit-learn回归估计器使用 LIBLINEAR库,它有先进的优化算法,以及对非标准变量更有效的代码优化手段import pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsimport numpy as npfrom sklearn.linear_model import LinearRegressiondf = pd.read_csv('xxx\\housing.data.txt',原创 2021-01-30 14:40:35 · 1076 阅读 · 0 评论 -
机器学习算法--多元线性回归模型
将一元线性回归模型推广到多个解释变量,这个过程叫作多元线性回归:现用数据集中的所有变量来训练多元回归模型:import pandas as pdimport numpy as npfrom sklearn.linear_model import LinearRegressionfrom sklearn.linear_model import RANSACRegressorimport matplotlib.pyplot as pltfrom sklearn.model_selection i原创 2021-01-30 14:37:33 · 1114 阅读 · 0 评论 -
机器学习算法--python实现GMM高斯混合模型(资源)
参考:blog.csdn.net/zengxiantao1994/article/details/72787849blog.csdn.net/u010866505/article/details/77877345#_Toc492473982blog.csdn.net/u010866505/article/details/77897632blog.csdn.net/meiqi0538/article/details/100899330blog.csdn.net/jasonzhoujx/article原创 2020-11-30 00:08:59 · 323 阅读 · 0 评论 -
机器学习算法--python实现基于密度的有噪声的空间聚类应用(DBSCAN)
DBSCAN,不像k-均值方法那样假设集群呈球形,或是把数据集分成不同的需要人工设定分界点的层 级。顾名思义,基于密度的聚类把标签分配给样本点密集的区域。而且它不一定把每个点都分配到集群中去,但是能够去除噪声点。创建新的半月形结构数据集来比较k-均值聚类、层次聚类和DBSCAN:import numpy as npimport pandas as pdimport matplotlib.pyplot as pltfrom sklearn.datasets import make_moonsfro原创 2020-11-29 16:00:02 · 1047 阅读 · 0 评论 -
机器学习算法--python实现用scikit-learn进行全连接的凝聚层次聚类算法(Agglo-merative-Clustering)
scikit-learn实现的 Agglo-merative-Clustering允许我们选择要返回的集群数量。这对修剪层次结构的集群树很有用。from sklearn.cluster import AgglomerativeClusteringimport numpy as npimport pandas as pd# 随机生成样本np.random.seed(123)variables = ['X', 'Y', 'Z']labels = ['ID_0', 'ID_1', 'ID_2',原创 2020-11-29 15:43:58 · 697 阅读 · 0 评论 -
机器学习算法--python实现用SciPy进行全连接的凝聚层次聚类算法
现研究另一种基于原型的聚类算法-全连接的凝聚层次聚类算法。其中三个概念分别代表:层次聚类:它允许绘制树状图(二进制层次聚类的可视化);不需要预先指定集群数目。凝聚聚类:首先从每个集群包括单个样本开始,合并最接近的集群,直到只剩下一个集群为止。全连接方法:计算两个集群中最不相似的成员之间的距离,然后合并两个集群即比较最不相似的成员然后合并。import numpy as npimport pandas as pdimport matplotlib.pyplot as pltfrom scipy.原创 2020-11-29 15:31:31 · 1075 阅读 · 0 评论 -
机器学习算法--python实现常用的聚类算法—k-均值算法(基于原型聚类)+SSE+轮廓图
基于原型的聚类方法意味着每个集群代表一个原型,可以是有类似连续性特征点的重心,或者是在分类特征最具代表性或最频繁出现的中心。from sklearn.datasets import make_blobsimport matplotlib.pyplot as pltfrom sklearn.cluster import KMeansimport numpy as np# 生成数据集# 用于创建多类单标签数据集的函数,它为每个类分配一个或多个正态分布的点集X, y = make_blobs(n_原创 2020-11-29 00:13:42 · 1312 阅读 · 1 评论 -
机器学习算法--python实现随机森林回归
随机森林算法是一种组合了多个决策树的技术。 由于随机性,随机森林通常比单个决策树具有更好的泛化性能,这有助于减少模型的方差。随机森林的其他优点还包括它对数据集中的离群值不敏感, 而且也不需要太多的参数优化。回归随机森林算法是用MSE准则来培育每棵决策树,并用决策树平均预测值来计算预测的目标变量。from sklearn.ensemble import RandomForestRegressorimport numpy as npimport pandas as pdfrom sklearn.mode原创 2020-11-28 22:45:29 · 5298 阅读 · 6 评论 -
机器学习算法--python实现决策树回归
决策树算法的一个优点是,如果处理非线性数据,它不需要对特征进行任何转换。import numpy as npimport pandas as pdimport matplotlib.pyplot as pltfrom sklearn.tree import DecisionTreeRegressor# 观察线性回归与训练数据的吻合程度def lin_regplot(X, y, model): # s:指定散点图点的大小,默认为20,通过传入新的变量,实现气泡图的绘制 # c:指原创 2020-11-28 22:35:57 · 1553 阅读 · 0 评论 -
机器学习算法--python实现多元曲线回归模型
一种有效解决违背线性假设的方法是通过增加项数采用多项式回归模型:from sklearn.preprocessing import PolynomialFeaturesimport numpy as npimport pandas as pdfrom sklearn.linear_model import LinearRegressionimport matplotlib.pyplot as pltfrom sklearn.metrics import r2_scorefrom sklearn原创 2020-11-28 22:29:23 · 1355 阅读 · 0 评论 -
机器学习算法--python实现随机抽样一致性(RANSAC)算法处理离散值拟合稳健的回归模型
线性回归模型可能会受到离群值的严重影响。在某些情况下,一小部分数据可能会对估计的模型系数有很大的影响。除了淘汰离群值之外,这里利用RANSAC拟合稳健的回归模型迭代RANSAC算法如下:1.随机选择一定数量的样本作为内点来拟合模型。2.用模型测试所有其他的点,把落在用户给定容限范围内的点放入内点集。3.调整模型中使用的所有的内点。4.用内点重新拟合模型。5.评估模型预测结果与内点集相比较的误差。6.如果性能达到用户定义的阈值或指定的迭代数,则终止;否则返回到步骤1。import pandas原创 2020-11-28 22:07:40 · 1477 阅读 · 0 评论 -
机器学习算法--python实现普通最小二乘线性回归模型
用普通最小二乘法(OLS)(有时也称为线性最小二乘法)估计线性回归线的参数,从而使样本点的垂直距离(残差或误差)之和最小化。from sklearn.preprocessing import StandardScalerimport numpy as npimport pandas as pdimport matplotlib.pyplot as pltdf = pd.read_csv('xxx\\housing.data.txt', header=None,原创 2020-11-28 21:52:35 · 1588 阅读 · 2 评论 -
机器学习算法--python实现应用机器学习于情感分析-训练文档分类(在线算法和核心学习)
相比《机器学习算法(13)python实现应用机器学习于情感分析-训练文档分类》将采用一种被称为“核外学习”的技术, 这种技术可以通过对数据集的小批增量来模拟分类器完成大型数据集的处理工作。import pandas as pdimport numpy as npimport reimport pyprind # 评估机器学习算法的进度import nltkfrom nltk.corpus import stopwordsfrom collections import Iteratorfr原创 2020-11-28 17:59:37 · 267 阅读 · 1 评论 -
机器学习算法--python实现应用机器学习于情感分析-训练文档分类
情感分析有时也被称为意见挖掘,是NLP广泛领域中的一个分支,着重于分析文档的倾向。情感分析的一个热门任务是根据作者对特定主题所表达的观点或情感为文档分类。这里将训练一个逻辑回归模型来把电影评论分类为正面和负面import pandas as pdimport reimport osfrom nltk.stem.porter import PorterStemmerimport nltkfrom nltk.corpus import stopwordsfrom sklearn.pipeline原创 2020-11-28 17:34:45 · 529 阅读 · 0 评论 -
机器学习算法--python实现通过自适应增强来利用弱学习者
在增强过程中,集成是由很简单的常被称为弱学习者的基本分类器所组成,性能仅比随机猜测略优,弱学习者的典型例子是单层决策树。增强背后的关键概念是专注于难以分类的训练样本,即让弱学习者随后从训练样本的分类错误中学习以提高集成的性能。AdaBoost用完整的训练集来训练弱学习者,在每次迭代中重新定义训练样本的权重,来构建可以从集成中弱学习者的错误中不断地学习的强大的分类器。import pandas as pdimport numpy as npfrom sklearn.model_selection im原创 2020-11-28 16:34:34 · 448 阅读 · 0 评论 -
机器学习算法--python实现套袋
套袋被称为引导聚合,即并没有使用相同的训练集来拟合组合中的各个分类器,而是从初始训练集中抽取自举样本(随机可替换样本)随机森林是套袋方法的一个特例,在随机森林方法中,我们在 拟合每个决策树的时候也用到随机抽取的特征子集。import pandas as pdimport numpy as npfrom sklearn.model_selection import train_test_splitfrom sklearn.preprocessing import LabelEncoderfrom原创 2020-11-28 16:17:26 · 409 阅读 · 0 评论 -
机器学习算法--python实现采用多数票机制的集成分类器
构建的集成分类器,它通常比任何单个成员的预测性能都要好。把不同的分类算法及其各自相应的权重组合起来。目标是建立一个更强大的超级分类器,以平衡单个分类器在特定数据集上的弱点。import numpy as npimport matplotlib.pyplot as pltfrom sklearn.base import BaseEstimatorfrom sklearn.base import ClassifierMixinfrom sklearn.preprocessing import Lab原创 2020-11-27 00:28:44 · 928 阅读 · 1 评论 -
机器学习算法--python实现K-近邻——一种懒惰的学习算法
机器学习算法(9)python实现K-近邻——一种懒惰的学习算法KNN是懒惰学习的典型例子。所谓的懒惰,并不是说它看上去很简单,而在于它不是从训练数据中学习判别函数,而是靠记忆训练过的数据集来完成任务。KNN算法本身相当简单,可以总结为以下的几步:1.选择k个数和一个距离度量。2.找到要分类样本的k-近邻。3.以多数票机制确定分类标签。import matplotlib.pyplot as pltimport numpy as npfrom matplotlib.colors import原创 2020-11-24 22:37:14 · 427 阅读 · 0 评论 -
机器学习算法--python实现随机森林(分类)
机器学习算法(8)python实现随机森林(分类)可以把随机森林看成是决策树的集 合。随机森林背后的逻辑是对分别受较大方差影响的多个决策树取平均值, 以建立一个具有更好的泛化性能和不易过拟合的强大模型。import matplotlib.pyplot as pltimport numpy as npfrom matplotlib.colors import ListedColormapfrom sklearn import datasetsfrom sklearn.model_selection原创 2020-11-24 22:28:19 · 6227 阅读 · 1 评论 -
机器学习算法--python用scikit-learn来训练决策树模型(分类)
机器学习算法(7)python用scikit-learn来训练决策树模型(分类)决策树可以通过将特征空间划分成不同的矩形来构建复杂的决策边界。 然而,必须小心,决策树越深,决策边界就越复杂,越容易导致过拟合。import matplotlib.pyplot as pltimport numpy as npfrom sklearn.tree import DecisionTreeClassifierfrom matplotlib.colors import ListedColormapfrom s原创 2020-11-24 22:21:03 · 969 阅读 · 0 评论 -
机器学习算法--用Python实现用核支持向量机求解非线性问题
机器学习算法(6)用Python实现用核支持向量机求解非线性问题逻辑:核方法的逻辑是针对线性不可分数据,建立非线性组合,通过映射函数把原始特征投影到一个高维空间,特征在该空间变得线性可分。只需用scikit-learn库的 SVC类,以参数kernel='rbf’替换kernel=‘linear’:import matplotlib.pyplot as pltimport numpy as npfrom sklearn.svm import SVCfrom matplotlib.colors i原创 2020-11-24 00:39:57 · 749 阅读 · 0 评论 -
机器学习算法--用Python实现SVN(向量机)
机器学习算法(5)用Python实现SVN(向量机)训练一个支持向量机模型来对鸢尾花数据集中的不同种花进行分类:import numpy as npfrom matplotlib.colors import ListedColormapimport matplotlib.pyplot as pltfrom sklearn import datasetsfrom sklearn.model_selection import train_test_splitfrom sklearn.preproc原创 2020-11-24 00:25:33 · 1810 阅读 · 0 评论 -
机器学习算法--用Python实现用scikit-learn训练逻辑回归模型
机器学习算法(4)用Python实现用scikit-learn训练逻辑回归模型该实现支持多元分类场景(默认OvR)。下面的代码示例将用 sklearn.linear_model.LogisticRegression类以及熟悉的fit方法在三种花的标准化训练集上训练模型:import numpy as npfrom matplotlib.colors import ListedColormapimport matplotlib.pyplot as pltfrom sklearn import dat原创 2020-11-24 00:06:23 · 851 阅读 · 1 评论