- 博客(41)
- 资源 (1)
- 收藏
- 关注
原创 分治法
一、分治法思想介绍将原始问题分解为几个规模较小但类似于原问题容易解决的子问题,递归地求解这些子问题,然后再合并子问题的解来建立原始问题的解。分冶法在递归时的步骤分解: 原问题分解为子问题,子问题是原问题规模较小的实例。解决: 递归地解决子问题,若子问题足够小,则直接求解。合并: 合并子问题的解。得到原问题解。在归并排序中的体现分解: 分解待排序的n个元素的序列成各自具有n/2个元素的两个子序列。解决: 使用归并排序递归地排序两个子序列。合并: 合并两个已排序的子序列一产生最终已排序的序列
2021-05-21 20:12:52
471
原创 递归算法Recursion
一、什么递归?递归是一种解决问题的方法,它把一个问题分解为越来越小的子问题,直到问题的规模小到可以被很简单直接解决。通常为了达到分解问题的效果,递归过程中要引入一个调用自身的函数。乍一看,递归算法并没有什么特别的地方,但是,利用递归我们能够写出极为简明的解决问题的方法,而且如果不用递归,这些问题将具有很大的编程难度。1.计算数字列表的和我们先从一个简单的问题开始我们的探究,这个问题不需要递归也可以解决。假如你想对一个数字列表进行求和(例如[1,3,5,7,9]),代码 4.1 所示的是一个通过
2021-05-16 09:26:38
271
原创 稳定婚姻问题
稳定婚姻问题指的是一定数量的男士按照自己的喜好程度对相同数量的女士进行排序,然后进行配对形成稳定婚姻关系。这种配对关系对双方都是比较满意的。一、基本概念为了介绍稳定婚姻问题中的“稳定”的意思,我们先介绍一下什么是“不稳定”:在当前所有匹配中存在A男士和B女士,他们没有配对,但是比起当前的伴侣,他们更加喜欢对方。不存在这种情况的配对就是稳定婚姻。稳定婚姻问题就是要根据给定的男士和女士的优先选择,求出一个稳定的婚姻匹配。例如,男士有小王、小李、小赵,女士有翠花、舒敏、月儿,下面是他们各自对异性的喜好排序情
2021-05-09 17:22:35
1177
原创 决策树简单实现
一、分类from sklearn.datasets import load_irisfrom sklearn import treeiris = load_iris()X, y = iris.data, iris.targetclf = tree.DecisionTreeClassifier()clf = clf.fit(X, y)plt.figure(figsize=(16,12))tree.plot_tree(clf,filled=True) 二、回归print(__doc__
2021-05-05 16:44:58
215
原创 线性分类模型Linear models for classification
1、二分类from sklearn.linear_model import LogisticRegressionfrom sklearn.svm import LinearSVCX, y = mglearn.datasets.make_forge()#导入数据fig, axes = plt.subplots(1, 2, figsize=(10, 3))#1行2列for model, ax in zip([LinearSVC(), LogisticRegression()], axes): #
2021-05-05 11:44:26
237
原创 从模型中选择最佳特征(SelectFromModel Feature Selection Example in Python)
SKLearn api提供selectfrom model类,用来提取数据集的最佳特征(根据其权重重要度)。selectfrom model是一个元估计器-通过与阀值进行比较,来决定权重重要性标题SelectFromModel for regression dataestimator = AdaBoostRegressor(random_state=0, n_estimators=50)selector = SelectFromModel(estimator)selector = selector
2021-05-05 07:50:53
1169
原创 Scikit-learn之最佳特征选择
一、如何使用SelectKBestclass sklearn.feature_selection.SelectKBest(score_func=, *, k=10)根据给定的选择器选择出前k个与标签最相关的特征。参数说明如下```pythonParametersscore_func: 可调用的函数输入两个数组X和y,并返回一对数组(分数,p-value)或带分数的单个数组。默认值为f_classif(请参见下文“另请参见”)。默认功能仅适用于分类任务。k:int or “all”, o
2021-05-05 06:45:16
1031
原创 优化岭回归参数(Optimizing the ridge regression parameter)
一、例子1from sklearn.datasets import make_regression import numpy as npreg_data, reg_target = make_regression(n_samples=100, n_features=2, effective_rank=1, noise=10)#n_features:特征数(自变量个数);n_samples=100样本数;from sklearn.linear_model import RidgeCV #岭回归交
2021-05-04 21:19:22
1236
原创 岭回归(Ridge Regression Example in Python)
一、岭回归1、准备数据2、最佳alpha3、训练模型与检查结果4、利用岭回归交叉验证5、源码from sklearn.datasets import load_bostonfrom sklearn.linear_model import Ridge, RidgeCVfrom sklearn.metrics import mean_squared_errorfrom sklearn.model_selection import train_test_splitimport mat
2021-05-04 17:02:31
963
原创 Scikit-learn之线性模型(一)
一、Fitting a line through datafrom sklearn import datasetsboston = datasets.load_boston()from sklearn.linear_model import LinearRegressionlr = LinearRegression()lr.fit(boston.data, boston.target)predictions = lr.predict(boston.data)import numpy as
2021-05-04 15:48:34
299
原创 绘制直方图
概念直方图:直方图是一种统计报告图,形式上也是一个个的长条形,但是直方图用长条形的面积表示频数,所以长条形的高度表示频数/(除)组距, 宽度表示组距,其长度和宽度均有意义。当宽度相同时,一般就用长条形长度表示频数。一、plt.hist直方图x=[1,2,3,4,5,6,6,5,5,4]plt.hist(x, bins=10,facecolor="blue", edgecolor="black", alpha=0.7)#bins:直方图的长条形数目,可选项,默认为10#alpha:透明度#
2021-05-04 11:20:53
1857
原创 Scikit-learn之利用随机梯度(SGD)下降作回归
from sklearn.datasets import make_regressionimport numpy as npX, y = make_regression(int(1e6)) #1,000,000 rowsX.shape# y.shapeprint ("{:,}".format(X.nbytes))X.nbytes / 1e6X.nbytes / (X.shape[0]*X.shape[1])from sklearn.linear_model import SGDReg
2021-05-04 09:38:21
302
原创 python绘制条形图
一、直接绘制# -*- coding: utf-8 -*-import matplotlib.pyplot as pltfrom matplotlib.font_manager import FontPropertiesfont = FontProperties(fname=r"C:\Windows\Fonts\simhei.ttf", size=14) plt.bar([1, 3, 5, 7, 9], [5, 4, 8, 12, 7], label='graph 1')plt.bar([
2021-05-04 09:31:15
1169
原创 Scikit-Learn之利用高斯过程回归
一、导入数据并参看形状from sklearn.datasets import load_bostonimport numpy as npboston = load_boston()boston_X = boston.databoston_y = boston.targetprint(boston_X.shape)print(boston_y.shape)train_set = np.random.choice([True, False], len(boston_y),p=[.75, .2
2021-05-03 20:53:31
5060
1
原创 numpy学习笔记之—ravel() 和 flatten()
numpy的ravel() 和 flatten()函数简介首先声明两者所要实现的功能是一致的(将多维数组降位一维)。这点从两个单词的意也可以看出来,ravel(散开,解开),flatten(变平)。两者的区别在于返回拷贝(copy)还是返回视图(view),numpy.flatten()返回一份拷贝,对拷贝所做的修改不会影响(reflects)原始矩阵,而numpy.ravel()返回的是视图(view,也颇有几分C/C++引用reference的意味),会影响(reflects)原始矩阵。两者功能
2021-05-03 20:20:32
204
原创 数据缺失处理
一、缺失值的处理方法由于各种各样的原因,真实世界中的许多数据集都包含缺失数据,这些数据经常被编码成空格、nans或者是其他的占位符。但是这样的数据集并不能被scikit - learn算法兼容,因为大多数的学习算法都会默认数组中的元素都是数值,因此素偶有的元素都有自己的代表意义。使用不完整的数据集的一个基本策略就是舍弃掉整行或者整列包含缺失值的数值,但是这样处理会浪费大量有价值的数据。下面是处理缺失值的常用方法:1.忽略元组当缺少类别标签时通常这样做(假定挖掘任务涉及分类时),除非元组有多个属性缺失
2021-05-03 10:49:20
2143
1
原创 one-hot理解
one-hot是比较常用的文本特征特征提取的方法。one-hot编码,又称“独热编码”。其实就是用N位状态寄存器编码N个状态,每个状态都有独立的寄存器位,且这些寄存器位中只有一位有效,说白了就是只能有一个状态。假设有四个样本,每个样本有三种特征:这样,4个样本的特征向量就可以这么表示:sample1 -> [0,1,1,0,0,0,1,0,0]sample2 -> [1,0,0,1,0,0,0,1,0]sample3 -> [0,1,0,0,1,0,0,1,0]sample
2021-05-03 08:53:32
1826
原创 Scikit-learn之数据预处理
一、基本知识import numpy as npX = np.array([[1, 2], [4, 5], [7, 8]])print(X)# print (np.mean(X, axis=0, keepdims=True))#按列就平均值# print (np.mean(X, axis=1, keepdims=True))#按行就平均值print (np.mean(X, axis=0))#按列就平均值axis=0,那么输出矩阵是1行,求每一列的平均(按照每一行去求平均);axis=1,输出
2021-05-02 12:29:30
335
2
原创 Scikit-learn之k近邻算法实现
系列文章目录一、导包、导数据import numpy as npimport matplotlib.pyplot as pltfrom sklearn import datasetsfrom sklearn.model_selection import train_test_splitfrom sklearn.metrics import accuracy_score#load the classifying modelsfrom sklearn.linear_model import
2021-05-02 10:15:10
303
原创 Scikit-Learn机器学习之k折交叉验证
K折交叉验证1、什么叫K折交叉验证?本例主要讲4折2、如果不交叉验证import numpy as npimport matplotlib.pyplot as pltfrom sklearn import datasetsfrom sklearn.model_selection import train_test_splitfrom sklearn.metrics import accuracy_score#load the classifying modelsfrom sklea
2021-05-02 10:01:53
347
原创 Scikit-learn机器学习
系列文章目录一、莺尾花Iris数据集长什么样?读取本地数据集Irisdf = pd.read_csv('C:/Users/lzc/Desktop/机器学习/利用python进行数据分析/pydata-book-2nd-edition/pydata-book-2nd-edition/iris-data.csv',nrows=5) #注意C:/Users/lzc/Desktop/机器学习/利用python进行数据分析/pydata-book-2nd-edition/pydata-book-2nd-e
2021-05-01 11:38:12
220
原创 Scikit-learn学习
一、目的这份指导书的目的是为了说明scikit-learn提供的主要features,这是机器学习实践的基本知识,首先你的先按照scikit-learn库。scikit-learn是一个开源的机器学习库,支持监督学习和非监督学习,它提供不同的工具来训练模型、数据预处理、模型选择和评估等。二、Fitting and predicting: estimator basicsscikit-learn提供了很多机器学习算法和模型,叫做estimators,每个estimator 可以用来fit一些数据。H
2021-04-29 20:12:39
343
原创 机器学习之感知机python实现
文章目录一、感知机是什么?1.iris数据集长什么样?二、代码实现1.引入库2.load data3.剩余代码4.感知机实现5.感知机实现6.测试总结一、感知机是什么?拿出iris数据集中两个分类的数据和[sepal length,sepal width]作为特征1.iris数据集长什么样?二、代码实现1.引入库import pandas as pdimport numpy as npfrom sklearn.datasets import load_irisimport mat
2021-04-24 09:19:43
304
3
原创 Maximum entropy model最大熵模型
最大熵模型一、最大熵原理一、最大熵模型的定义二级目录三级目录一、最大熵原理满足这两个约束条件的概率分布任然有无穷多个。在缺少其他信息的情况下,可以认为A与B是等概率的,C和D与E是等概率的,于是一、最大熵模型的定义令偏导数等于0参考文献1.李航 统计机器学习二级目录三级目录...
2021-04-17 15:11:24
136
原创 EM算法
系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例
2021-04-17 10:26:32
213
原创 概率图模型之学习(五)
系列文章目录前言一、不含隐变量的参数估计。。。。二、含隐变量的参数估计总结提示:这里对文章进行总结:例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。...
2021-04-17 09:09:35
100
转载 概率图之推理与流动(五)
推理模式概率图模型的推理模型有三种分别是:causal reasoning/因果推理 :也就是知道了事件的一个原因后,我们会改变对事件结果的预估。evidential reasoning/证据推理 :也就是当我们知道了事件的结果后,我们会改变对引发事件的原因的判断。intercausal reasoning/原因间推理 :有人翻译为因果间推理,我以为这容易产生误解。intercausal reasoning的意思是,有多个原因导致了某个事件的发生,如果我们已经知道了事件的结果,那么对其中一个原因的观
2021-04-16 19:25:19
567
原创 概率图模型系列之条件随机场(四)
条件随机场一、概率无向图模型1.模型定义2.概率无向图模型定义3.概率无向图的分解二、条件随机场(CRF)的定义与形式1.CRF的定义定义11.3也可以这样定义2.CRF的参数化形式3.CRF的矩阵形式三、三个基本问题3.1计算问题3.2学习问题3.3预测问题总结...
2021-04-14 20:22:27
171
原创 概率图模型系列之隐马尔科夫模型HMM(三)
隐马尔科夫模型HMM文章目录隐马尔科夫模型HMM一、隐马尔科夫是什么?二、HMM模型的两个基本的假设1.基本假设三、三个基本问题3.1 计算问题(Evaluation问题)--计算观测序列出现的概率前向算法3.2 学习问题--计算模型的参数3.3 预测问题--给定观测序列预测隐藏序列总结一、隐马尔科夫是什么?隐马尔可夫模型(Hidden Markov Model,HMM)描述由隐藏的马尔可夫链随机生成观测序列的过程,属于生成模型。HMM是关于时序的概率模型,描述由一个隐藏的马尔可夫链随机生成不可观测
2021-04-13 20:28:50
207
1
原创 概率图模型系列之朴素贝叶斯法(二)
朴素贝叶斯法文章目录朴素贝叶斯法前言二、使用步骤1.引入库2.读入数据总结前言# 一、朴素贝叶斯的学习与分类## 1.基本假设
一、背景即时奖励就是immediate reward马尔科夫决策过程二、动态特征一个完整的马尔科夫决策过程如图所示公式2就是将联合概率的一个变量积分(或者叫累加)掉。2.2 强化学习的最终目的用图表示下公式(8) 如下图所示...
2021-03-28 21:20:50
600
2
原创 pycharm中导入pytorch
1.首先打开pycharm 新建项目2.点击左上角setting,如下图3.点击左栏的python interpreter4.选择对应的解释器python interpreter ,点击ok完成5.如果没有你要的解释器,则点击下面的选择show all6.再选择+号7.选择conda 环境,然后选择已经存在的环境 existing environment8.一路ok回去9.再main.py文件中写入下面代码测试import torchprint(torch.cuda.is_
2021-03-28 11:52:16
18909
原创 动手深度学习pytorch版
这里写自定义目录标题新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入动手深度学习pytorch版之获取数据集出错解决办法出错原因应该是没有权限访问,解决方法是将~改为个下载地址(如D:)如图****新的改变我
2021-03-25 06:21:04
172
原创 打开spring项目后.jsp文件出现红色叉叉( java新工程导入eclipse常见问题---Multiple annotations found at this line)
1…jsp文件出现红色叉叉如图即Multiple annotations found at this line:java.io.IOException cannot be resolved to a typeString cannot be resolved to a typejava.io.IOException cannot be resolved to a typeString cannot be resolved to a typeThe type java.util.Map c
2020-11-15 17:17:28
572
原创 第一个springboot项目(IDEA版本)
1.首先打开idea主界面选择 Create New Project2.在弹出的页面中我们选择左侧的Spring Initializr,jdk版本选择自己安装的版本,我这里选择1.8,URL选择默认的就好特别说明:由于springboot版本选择的是2.0.3所以jdk版本应该为1.8及以上,否则不支持。这里选择Default URL需要在有网络的情况下才可以加载。直接Next就好。3.下一个页面:在Group栏输入组织名,Artifact就是项目名。其它选择默认就好,直接Next4.注意这里的
2020-11-02 20:00:08
1313
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人