文档章节

数据离散化

marjey
 marjey
发布于 2017/08/19 15:13
字数 309
阅读 15
收藏 0
点赞 0
评论 0

主要使用kmean

# -*- coding: utf-8 -*-
# 数据规范化
import pandas as pd

datafile = '../data/discretization_data.xls'  # 参数初始化
data = pd.read_excel(datafile)  # 读取数据
data = data[u'肝气郁结证型系数'].copy()
k = 4

d1 = pd.cut(data, k, labels=range(k))  # 等宽离散化,各个类比依次命名为0,1,2,3

# 等频率离散化
w = [1.0 * i / k for i in range(k + 1)]
w = data.describe(percentiles=w)[4:4 + k + 1]  # 使用describe函数自动计算分位数
w[0] = w[0] * (1 - 1e-10)
d2 = pd.cut(data, w, labels=range(k))

from sklearn.cluster import KMeans  # 引入KMeans

kmodel = KMeans(n_clusters=k, n_jobs=4)  # 建立模型,n_jobs是并行数,一般等于CPU数较好
kmodel.fit(data.reshape((len(data), 1)))  # 训练模型
c = pd.DataFrame(kmodel.cluster_centers_).sort(0)  # 输出聚类中心,并且排序(默认是随机序的)
w = pd.rolling_mean(c, 2).iloc[1:]  # 相邻两项求中点,作为边界点
w = [0] + list(w[0]) + [data.max()]  # 把首末边界点加上
d3 = pd.cut(data, w, labels=range(k))


def cluster_plot(d, k):  # 自定义作图函数来显示聚类结果
    import matplotlib.pyplot as plt
    plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
    plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号

    plt.figure(figsize=(8, 3))
    for j in range(0, k):
        plt.plot(data[d == j], [j for i in d[d == j]], 'o')

    plt.ylim(-0.5, k - 0.5)
    return plt


cluster_plot(d1, k).show()

cluster_plot(d2, k).show()
cluster_plot(d3, k).show()

© 著作权归作者所有

共有 人打赏支持
marjey
粉丝 2
博文 146
码字总数 139219
作品 0
昆明
机器学习入门——线性模型(1)

线性linear,指量与量之间按比例、成直线的关系,在空间和时间上代表规则和光滑的运动,一阶导数为常数;非线性non-linear则指不按比例、不成直线的关系,代表不规则的运动和突变,一阶导数不...

乎者 ⋅ 05/07 ⋅ 0

【毕设进行时-工业大数据,数据挖掘】一种基于熵的连续属性离散化算法(EADC)Java实现!

正文之前 事情是这样的,我前面说过了。。。。就是我的毕业论文字数写到14200的时候就感觉有点写不动了,虽然还有性能度量和致谢和一大批的文献参考没写,但是我总感觉这样不妥,所以就特地的...

HustWolf ⋅ 05/14 ⋅ 0

weka中的数据预处理

数据预处理包括数据的缺失值处理、标准化、规范化和离散化处理。 数据的缺失值处理:weka.filters.unsupervised.attribute.ReplaceMissingValues。 对于数值属性,用平均值代替缺失值,对于n...

dreaminthewind ⋅ 2013/12/06 ⋅ 0

ChiMerge对鸢尾花数据的离散化处理

ChiMerge是监督的、自底向上的(即基于合并的)数据离散化方法。它依赖于卡方分析:具有最小卡方值的相邻区间合并在一起,直到满足确定的停止标准。 本程序取鸢尾花数据集作为待离散的数据集...

冰雪飞扬 ⋅ 2013/01/27 ⋅ 0

【特征工程】特征选择及mRMR算法解析

一、 特征选择的几个常见问题 为什么? (1)降低维度,选择重要的特征,避免维度灾难,降低计算成本 (2)去除不相关的冗余特征(噪声)来降低学习的难度,去除噪声的干扰,留下关键因素,提...

JasonDing ⋅ 2017/02/12 ⋅ 0

入门 | 极致的优化:智能手机是如何处理大型神经网络的

  选自HeartBeat   作者:Julien Despois   机器之心编译   参与:Pedro、张倩、刘晓坤      运行深度神经网络对计算能力、能耗及磁盘空间要求甚高,智能手机的计算资源十分有限...

机器之心 ⋅ 05/05 ⋅ 0

GRON:一款让使JSON可以Grep的工具_安全工具_资讯与技术_红客学院

今天给大家介绍一款名叫gron的JSON数据检索工具,gron不仅可以将目标JSON数据进行离散化拆分,并能够让用户更加轻松地使用grep来对数据进行搜索,而且它还能够允许用户查看到数据的绝对路径。...

⋅ 01/10 ⋅ 0

weka中运行不了apriori

在weka的图形化界面weka explorer中使用associate选项进行数据的关联分析时我点了choose选择apriori想要进行数据关联分析,结果发现这时的start按钮为灰色,根本就不能用啊!这是为什么呢,我...

xiaoxuangege ⋅ 2012/03/06 ⋅ 3

R语言数据挖掘实战系列(4)

R语言数据挖掘实战系列(4)——数据预处理 数据预处理一方面是要提高数据的质量,另一方面是要让数据更好地适应特定的挖掘技术或工具。数据预处理的主要内容包括数据清洗、数据集成、数据变...

PXZ6603 ⋅ 2017/07/12 ⋅ 0

UVA ~ 221 ~ Urban Elevations (离散化)

题意:如图所示,有n(n≤100)个建筑物。左侧是俯视图(左上角为建筑物编号,右下角为高度),右侧时从南向北看的正视图(数字为建筑物编号)。输入每个建筑物左下角坐标(即x,y坐标的最小值...

ZscDst ⋅ 01/07 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

来自一个优秀Java工程师的简历

写在前面: 鉴于前几天的一份前端简历,虽然带着很多不看好的声音,但却帮助了很多正在求职路上的人,不管评论怎么说,我还是决定要贴出一份后端的简历。 XXX ID:357912485 目前正在找工作 ...

颖伙虫 ⋅ 17分钟前 ⋅ 0

Confluence 6 恢复一个站点有关使用站点导出为备份的说明

推荐使用生产备份策略。我们推荐你针对你的生产环境中使用的 Confluence 参考 Production Backup Strategy 页面中的内容进行备份和恢复(这个需要你备份你的数据库和 home 目录)。XML 导出备...

honeymose ⋅ 今天 ⋅ 0

JavaScript零基础入门——(九)JavaScript的函数

JavaScript零基础入门——(九)JavaScript的函数 欢迎回到我们的JavaScript零基础入门,上一节课我们了解了有关JS中数组的相关知识点,不知道大家有没有自己去敲一敲,消化一下?这一节课,...

JandenMa ⋅ 今天 ⋅ 0

火狐浏览器各版本下载及插件httprequest

各版本下载地址:http://ftp.mozilla.org/pub/mozilla.org//firefox/releases/ httprequest插件截至57版本可用

xiaoge2016 ⋅ 今天 ⋅ 0

Docker系列教程28-实战:使用Docker Compose运行ELK

原文:http://www.itmuch.com/docker/28-docker-compose-in-action-elk/,转载请说明出处。 ElasticSearch【存储】 Logtash【日志聚合器】 Kibana【界面】 答案: version: '2'services: ...

周立_ITMuch ⋅ 今天 ⋅ 0

使用快嘉sdkg极速搭建接口模拟系统

在具体项目研发过程中,一旦前后端双方约定好接口,前端和app同事就会希望后台同事可以尽快提供可供对接的接口方便调试,而对后台同事来说定好接口还仅是个开始、设计流程,实现业务逻辑,编...

fastjrun ⋅ 今天 ⋅ 0

PXE/KickStart 无人值守安装

导言 作为中小公司的运维,经常会遇到一些机械式的重复工作,例如:有时公司同时上线几十甚至上百台服务器,而且需要我们在短时间内完成系统安装。 常规的办法有什么? 光盘安装系统 ===> 一...

kangvcar ⋅ 昨天 ⋅ 0

使用Puppeteer撸一个爬虫

Puppeteer是什么 puppeteer是谷歌chrome团队官方开发的一个无界面(Headless)chrome工具。Chrome Headless将成为web应用自动化测试的行业标杆。所以我们很有必要来了解一下它。所谓的无头浏...

小草先森 ⋅ 昨天 ⋅ 0

Java Done Right

* 表示难度较大或理论性较强。 ** 表示难度更大或理论性更强。 【Java语言本身】 基础语法,面向对象,顺序编程,并发编程,网络编程,泛型,注解,lambda(Java8),module(Java9),var(...

风华神使 ⋅ 昨天 ⋅ 0

Linux系统日志

linux 系统日志 /var/log/messages /etc/logrotate.conf 日志切割配置文件 https://my.oschina.net/u/2000675/blog/908189 logrotate 使用详解 dmesg 命令 /var/log/dmesg 日志 last命令,调......

Linux学习笔记 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部