数据挖掘
文章平均质量分 75
梦因you而美
因为坚守,所以花开不败!
展开
-
朴素贝叶斯算法原理与Python实现
朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法[1]。最为广泛的两种分类模型是决策树模型(Decision Tree Model)和朴素贝叶斯模型(Naive Bayesian Model,NBM)。和决策树模型相比,朴素贝叶斯分类器(Naive Bayes Classifier 或 NBC)发源于古典数学理论,有着坚实的数学基础,以及稳定的分类效率。同时,NBC模型所需估计的参数很少,对缺失数据不太敏感,算法也比较简单。理论上,NBC模型与其他分类方法相比具有最小的误差率。但是实际上并...原创 2021-06-05 18:40:03 · 5220 阅读 · 17 评论 -
Apriori 算法原理与Python实现
1.Apriori算法简介Apriori算法是经典的挖掘频繁项集和关联规则的数据挖掘算法。A priori在拉丁语中指"来自以前"。当定义问题时,通常会使用先验知识或者假设,这被称作"一个先验"(a priori)。Apriori算法的名字正是基于这样的事实:算法使用频繁项集性质的先验性质,即频繁项集的所有非空子集也一定是频繁的。Apriori算法使用一种称为逐层搜索的迭代方法,其中k项集用于探索(k+1)项集。首先,通过扫描数据库,累计每个项的计数,并收集满足最小支持度的项,找出频繁1项集的集合。该集原创 2021-06-05 11:59:39 · 2430 阅读 · 0 评论 -
Python 数据清洗之缺失数据填充fillna()
数据量大,缺失数据比较少的情况下,可以直接滤除;数据量小,缺失数据比较多时,对数据进行填充就很有必要了。数据填充函数fillna(),默认参数如下:原创 2021-06-04 22:32:17 · 9055 阅读 · 2 评论 -
PageRank算法原理与Python实现
1 PageRank算法简介PageRank算法,即网页排名算法,由Google创始人Larry Page在斯坦福上学的时候提出来的。该算法用于对网页进行排名,排名高的网页表示该网页被访问的概率高。该算法的主要思想有两点:a. 如果多个网页指向某个网页A,则网页A的排名较高。b. 如果排名高A的网页指向某个网页B,则网页B的排名也较高,即网页B的排名受指向其的网页的排名的影响。...原创 2021-06-04 18:06:34 · 3790 阅读 · 2 评论 -
K-近邻算法(约会问题)
海伦约会问题我们要输入一个人的特征,看看这个人是否适合做海伦的约会对象,这里相比于入门版的Knn用到了文件流点此可以看之前那个入门版KNN的代码样本特征取三个值1.每周获得的飞行常客里程数2.玩视频游戏所耗时间比例3.每周消费的冰淇淋公升数推荐先把上面的入门版先看完再来看这个代码如下:import numpy as npimport matplotlib.p...原创 2019-04-10 17:37:28 · 2231 阅读 · 0 评论 -
分类算法 - 数据集介绍与划分
学习目标知道数据集的分为训练集和测试集 知道sklearn的分类、回归数据集思考:拿到的数据是否全部都用来训练一个模型?1 数据集的划分机器学习一般的数据集会划分为两个部分:训练数据:用于训练,构建模型 测试数据:在模型检验时使用,用于评估模型是否有效划分比例:训练集:70% 80% 75% 测试集:30% 20% 25%APIsklearn.model_se...原创 2019-03-26 17:21:41 · 4608 阅读 · 0 评论 -
机器学习 - 特征工程知识点总结
* 人工智能:50年代:机械自动化生产 * 机器学习:80年代:邮件分类 * 深度学习:最近十年:图像识别* 机器学习定义: * 数据 * 自动分析获得规律 * 对未知数据进行预测* 为什么需要机器学习 * 提高生产效率* 机器学习应用场景 * 用在挖掘、预测领域 * 用在图像领域 * 用在自然语言处理领域(语音)* 特征工程 ...原创 2019-03-26 14:53:21 · 1334 阅读 · 0 评论 -
机器学习 - 算法简介
学习目标说明机器学习算法监督学习与无监督学习的区别 说明机器学习算法目标值的两种数据类型 说明监督学习中的分类、回归特点 说明机器学习(数据挖掘)的开发流程1 机器学习算法类别1.1 按照学习方式分类监督学习(supervised learning)(预测)定义:输入数据是由输入特征值和目标值所组成。函数的输出可以是一个连续的值(称为回归),或是输出是有限个离散值(称作分类...原创 2019-03-26 08:31:17 · 1308 阅读 · 0 评论 -
机器学习 - 主成分分析
学习目标应用PCA实现特征的降维 应用:用户与物品类别之间主成分分析1 什么是主成分分析(PCA) 定义:高维数据转化为低维数据的过程,在此过程中可能会舍弃原有数据、创造新的变量 作用:是数据维数压缩,尽可能降低原数据的维数(复杂度),损失少量信息。 应用:回归分析或者聚类分析当中那么更好的理解这个过程呢?我们来看一张图1.1 计算案例理解(了解,无需记忆)...原创 2019-03-25 17:36:06 · 1407 阅读 · 0 评论 -
机器学习 - 特征选择
学习目标知道特征选择的嵌入式、过滤式以及包裹氏三种方式 应用VarianceThreshold实现删除低方差特征 了解相关系数的特点和计算 应用相关性系数实现特征选择1 降维降维是指在某些限定条件下,降低随机变量(特征)个数,得到一组“不相关”主变量的过程降低随机变量的个数 相关特征(correlated feature):相对湿度与降雨量之间的相关等等正是因为在进行训练...原创 2019-03-25 16:58:48 · 1439 阅读 · 1 评论 -
机器学习 - 特征预处理
学习目标了解数值型数据、类别型数据特点 应用MinMaxScaler实现对特征数据进行归一化 应用StandardScaler实现对特征数据进行标准化1、什么是特征预处理特征预处理:通过一些转换函数将特征数据转换成更加适合算法模型的特征数据过程可以通过上面那张图来理解1.1 包含内容数值型数据的无量纲化:归一化 标准化1.2 特征预处理APIsklear...原创 2019-03-25 15:00:57 · 1364 阅读 · 0 评论 -
机器学习 - 特征提取
学习目标 应用DictVectorizer实现对类别特征进行数值化、离散化 应用CountVectorizer实现对文本特征进行数值化 应用TfidfVectorizer实现对文本特征进行数值化 说出两种文本特征提取的方式区别 1 特征提取1.1 定义特征提取是将任意数据(如文本或图像)转换为可用于机器学习的数字特征注:特征值化是为了计算机更好...原创 2019-03-25 14:31:46 · 3614 阅读 · 0 评论 -
分类算法 - sklearn转换器和估计器
学习目标知道sklearn的转换器和估计器流程1 转换器想一下之前做的特征工程的步骤?1、实例化 (实例化的是一个转换器类(Transformer)) 2、调用fit_transform(对于文档建立分类词频矩阵,不能同时调用)我们把特征工程的接口称之为转换器,其中转换器调用有这么几种形式fit_transform fit transform这几个方法之间的区别是什么呢...原创 2019-03-26 17:27:57 · 1499 阅读 · 0 评论 -
分类算法 - K-近邻算法
学习目标说明K-近邻算法的距离公式 说明K-近邻算法的超参数K值以及取值问题 说明K-近邻算法的优缺点 应用KNeighborsClassifier实现分类 了解分类算法的评估标准准确率 应用:Facebook签到位置预测1 K-近邻算法(KNN)1.1 定义如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别,即...原创 2019-03-26 17:40:02 · 2205 阅读 · 0 评论 -
K-近邻算法入门程序
k-近邻算法(kNN),它的工作原理是:存在一个样本数据集合,也称作训练样本集,并且样本集中每个数据都存在标签,即我们知道样本集中每一数据与所属分类的对应关系。输入没有标签的新数据后,将新数据的每个特征与样本集中数据对应的特征进行比较,然后算法提取样本集中特征最相似数据(最近邻)的分类标签。一般来说,我们只选择样本数据集中前k个最相似的数据,这就是k-近邻算法中k的出处,通常k是不大于20的整数。...原创 2019-04-10 17:30:49 · 1366 阅读 · 0 评论 -
K-近邻算法(初级:电影分类)
使用k-近邻算法分类爱情片和动作片有人曾经统计过 很多电影的打斗镜头和接吻镜头,下图显示了6部电影的打斗和接吻镜头数。假如有一部未看过的电影,如何确定它是爱情片还是动作片呢?我们可以使用kNN来解决这个问题。首先我们需要知道这个未知电影存在多少个打斗镜头和接吻镜头,图中问号位置是该未知电影出现的镜头数图形化展示,具体数据如下:即使不知道未知电影属于哪种类型,我们也可以通过某种方...原创 2019-04-11 13:38:40 · 4403 阅读 · 0 评论 -
EXCEL 处理 ---pandas DataFrame 专题
DataFrame 数据切片df.iloc[3:7,:8] 截取3至7行,0至8列的数据表格df[3:7] 截取3至7行df.iloc[6,7] 获数据表格中获取第7行,第8列的数据df = df[['开发部门','应用工作','是否重点','是否重要','是否更改','监管']]按表头获取 只取这些列DataFrame 数据筛选#对一列进行数据筛选...原创 2019-05-21 13:52:23 · 1634 阅读 · 0 评论 -
python中的apply(),applymap(),map() 的用法和区别
在Python中如果想要对数据使用函数,可以借助apply()、applymap()、map() 来应用函数,括号里面可以是直接函数式,或者自定义函数(def)或者匿名函数(lambad)import pandas as pdimport numpy as npfrom pandas import DataFramefrom pandas import Seriesdf1= Da...原创 2019-05-21 14:11:33 · 3131 阅读 · 0 评论 -
python写入excel(xlswriter)--生成图表
1.折线图# -*- coding:utf-8 -*-import xlsxwriter# 创建一个excelworkbook = xlsxwriter.Workbook("chart_line.xlsx")# 创建一个sheetworksheet = workbook.add_worksheet()# worksheet = workbook.add_worksheet("...原创 2019-05-21 15:59:22 · 5450 阅读 · 0 评论 -
pandas 常用函数清单
文件读取df = pd.read_csv(path='file.csv')参数:header=None 用默认列名,0,1,2,3... names=['A', 'B', 'C'...] 自定义列名 index_col='A'|['A', 'B'...] 给索引列指定名称,如果是多重索引,可以传list skiprows=[0,1,2] 需要跳过的行号,从...原创 2019-05-21 16:13:46 · 1343 阅读 · 0 评论 -
史上最全面的 pandas 用法
一、生成数据表1、首先导入 pandas 库,一般都会用到 numpy 库,所以我们先导入备用:import numpy as npimport pandas as pd2、导入 CSV 或者 xlsx 文件:df = pd.DataFrame(pd.read_csv('city.csv',header=1))df = pd.DataFrame(pd.read_exc...原创 2019-05-18 11:04:53 · 1351 阅读 · 0 评论 -
pandas - 股票K线数据重采样
1 股票K线图K线图这种图表源处于日本德川幕府时代,被当时日本米市的商人用来记录米市的行情与价格波动,后因其细腻独到的标画方式而被引入到股市及期货市场。1.1 K线图基本形态1.2 K线图的计算周期不同的时间间隔看待股票数据变化,会有不一样的发现!K线的计算周期可将其分为日K线,周K线,月K线,年K线很多网站提供了日线、周K线、月K线等周期数据,但是最原始的只有日K...原创 2019-03-13 15:14:05 · 4699 阅读 · 0 评论 -
pandas - 分组与聚合
学习目标应用groupby和聚合函数实现数据的分组与聚合 应用:星巴克零售店数据的分组与聚合分组与聚合通常是分析数据的一种方式,通常与一些统计函数一起使用,查看数据的分组情况想一想其实刚才的交叉表与透视表也有分组的功能,所以算是分组的一种形式,只不过他们主要是计算次数或者计算比例!!1 什么分组与聚合2 通过一个例子来理解分组聚合2.1 不同颜色的不同笔的价格数据...原创 2019-03-12 13:56:59 · 1200 阅读 · 0 评论 -
折线图与基础绘图功能之应用
1 需求:画出某城市11点到12点1小时内每分钟的温度变化折线图,温度范围在15度~18度import randomimport matplotlib.pyplot as plt# 设置折线图的大小、清晰度plt.figure(figsize=(12, 6), dpi=80)# x轴时刻(11~12点)x = range(60)# y轴温度(15~18度)y = [ran...原创 2019-03-04 17:28:50 · 1319 阅读 · 0 评论 -
windows下matplotlib图例中文无法显示的解决办法
原因:matplotlib中没有中文字体环境:win7+python3.6解决办法:1.打开配置文件import matplotlibmatplotlib.matplotlib_fname()可以得到配置文件matplotlibrc地址用文本编辑器打开配置文件2.修改配置文件将文件中的#font.family: sans-serif去掉注释,修改为...原创 2019-03-04 16:37:00 · 1976 阅读 · 0 评论 -
折线图与基础绘图功能
学习目标知道如何解决中文显示问题 知道matplotlib的图结构 应用figure实现创建绘图区域大小 应用plot实现折线图的绘制 应用title,xlabel,ylabel实现标题以及x,y轴名设置 应用xticks,yticks实现axes的刻度设置和标注 应用savefig实现图形的本地保存 应用grid实现显示网格应用axis实现图像形状修改 应用legend实现图...原创 2019-03-04 16:19:09 · 1994 阅读 · 0 评论 -
利用pandas进行简单数据分析——医院销售数据分析案例
1 数据分析的目的数据分析是指用适当的统计分析方法对收集来的大量数据进行分析,提取有用信息和形成结论而对数据加以详细研究和概括总结的过程。本篇文章中,假设以朝阳医院2018年销售数据为例,目的是了解朝阳医院在2018年里的销售情况,这就需要知道几个业务指标,例如:月均消费次数,月均消费金额、客单价以及消费趋势。2 数据分析基本过程数据分析基本过程包括:获取数据、数据清洗、构建模型...原创 2019-03-14 11:48:48 · 11370 阅读 · 19 评论 -
Numpy逻辑&统计运算
数据准备:In [1]: import numpy as npIn [2]: # 创建一个符合正态分布的500个股票504天的涨跌幅数据 ...: stock_day_rise = np.random.normal(0, 1, (500, 504))In [3]: # 获取前4个股票的前5个交易日的涨跌幅数据 ...: temp = stock_day_rise[:4,...原创 2019-03-07 09:57:41 · 1944 阅读 · 0 评论 -
Pandas - 时间类型序列
学习目标了解Pandas的时间类型 应用pd.to_datetime和pd.DatetimeIndex实现时间类型转换 应用pandas.tseries.offsets实现时间的偏移 应用DatetimeIndex.shift实现时间的偏移 应用pd.date_range实现时间序列数据的生成前面其实我们已经使用一些时间序列接口,回忆我们在股票涨跌幅使用的生成一个时间列表,接下来我们...原创 2019-03-14 09:13:53 · 1509 阅读 · 0 评论 -
Numpy的基本操作
1 创建数组1.1 0和1的数组zeros(shape[, dtype, order]) ones(shape[, dtype, order]) empty(shape[, dtype, order]) empty_like(a[, dtype, order, subok]) eye(N[, M, k, dtype, order]) identity(n[, dtype]) o...原创 2019-03-06 15:32:45 · 1265 阅读 · 0 评论 -
Pandas的数据结构
1 Pandas介绍2008年WesMcKinney开发出的库 专门用于数据挖掘的开源python库 以Numpy为基础,借力Numpy模块在计算方面性能高的优势 基于matplotlib,能够简便的画图 独特的数据结构2 为什么使用Pandas便捷的数据处理能力对于数据的处理,如果没有pandas,那么可能python就在数据挖掘/机器学习领域领域落后于R那么在说大...原创 2019-03-08 17:14:30 · 1388 阅读 · 0 评论 -
Numpy简介及属性
1 Numpy运算速度上的优势在这里我们通过一段带运行来体会到Numpy的好处import randomimport timeimport numpy as npa = []for i in range(100000000): a.append(random.random())t1 = time.time()sum1=sum(a)t2=time.time()b=...原创 2019-03-06 11:33:15 · 1750 阅读 · 0 评论 -
Numpy - 数组运算
1 场景数据:[[80,86],[82,80],[85,78],[90,90],[86,82],[82,90],[78,80],[92,94]]2 数组与数的运算import numpy as nparr = np.array([[1, 2, 3, 2, 1, 4], [5, 6, 1, 2, 3, 1]])print(arr + 1)"""[[2...原创 2019-03-07 11:31:41 · 1384 阅读 · 0 评论 -
Numpy - 合并&分割
合并numpy.concatenate((a1, a2, ...) axis=1按列合并,axis=0按行合并 numpy.hstack(tup) 按列合并 numpy.vstack(tup) 按行合并分割numpy.split(ary, indices_or_sections, axis=0) 将数组拆分为多个子数组代码分析:import numpy as np...原创 2019-03-07 14:09:13 · 1345 阅读 · 0 评论 -
pandas - 交叉表与透视表
学习目标应用crosstab和pivot_table实现交叉表与透视表 应用:股票的每日涨跌跟星期几关系大1 交叉表与透视表什么作用探究股票的涨跌与星期几有关?以下图当中表示,week代表星期几,1,0代表这一天股票的涨跌幅是好还是坏,里面的数据代表比例可以理解为所有时间为星期一等等的数据当中涨跌幅好坏的比例2 使用crosstab(交叉表)实现上图交叉表:交叉...原创 2019-03-12 11:45:47 · 1653 阅读 · 0 评论 -
pandas - 合并
学习目标应用pd.concat实现数据的合并 应用pd.merge实现数据的合并如果你的数据由多张表组成,那么有时候需要将不同的内容合并在一起分析1 pd.concat实现数据合并pd.concat([data1, data2], axis=1) 按照行或列进行合并 比如我们将刚才处理好的哑变量与原数据合并pd.concat([data, dummaries], a...原创 2019-03-12 09:29:35 · 1280 阅读 · 0 评论 -
pandas - 数据离散化
学习目标应用cut、qcut实现数据的区间分组 应用get_dummies实现数据的哑变量矩阵 应用:找出股票的涨跌幅异动(异常)值1 为什么要离散化(了解)连续属性离散化的目的是为了简化数据结构,数据离散化技术可以用来减少给定连续属性值的个数。离散化方法经常作为数据挖掘的工具。2 什么是数据的离散化连续属性的离散化就是将连续属性的值域上,将值域划分为若干个离散的区间,最后用...原创 2019-03-12 08:56:35 · 2044 阅读 · 3 评论 -
pandas - 缺失值处理
学习目标说明Pandas的缺失值类型 应用replace实现数据的替换 应用dropna实现缺失值的删除 应用fillna实现缺失值的填充 应用isnull判断是否有缺失数据NaN 应用:对电影数据进行缺失值处理1 电影数据文件获取# 读取电影数据movie = pd.read_csv("./data.csv")2 缺失值的处理逻辑对于NaN的数据,在pandas...原创 2019-03-11 17:31:59 · 1382 阅读 · 0 评论 -
pandas - 文件读取与存储
学习目标了解Pandas的几种文件读取存储操作 应用CSV方式和HDF方式实现文件的读取和存储 应用:实现股票数据的读取存储我们的数据大部分存在于文件当中,所以pandas会支持复杂的IO操作,pandas的API支持众多的文件格式,如CSV、SQL、XLS、JSON、HDF5。注:最常用的HDF5和CSV文件1 数据读取存储API1.1 read_csv与to_cs...原创 2019-03-11 17:20:33 · 1425 阅读 · 0 评论 -
pandas - 逻辑与算数运算
学习目标应用逻辑运算符号实现数据的逻辑筛选 应用isin实现数据的筛选 应用add等实现数据间的加法运算 应用apply函数实现数据的自定义处理 应用:实现股票的逻辑筛选主要用于对股票的筛选操作1 使用逻辑运算符号<、>等进行筛选# 进行逻辑判断# 用true false进行标记,逻辑判断的结果可以作为筛选的依据data[data['p_change'] &...原创 2019-03-11 15:07:53 · 7085 阅读 · 0 评论