python聚类算法实战详细笔记 (python3.6+(win10、Linux))

这篇博客详细记录了Python3.6+在Windows 10和Linux环境下进行聚类算法的实战经验,包括数据预处理、算法实现及应用。内容涵盖从基础理论到实际操作的全过程,适合学习和参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python聚类算法实战详细笔记 (python3.6+(win10、Linux))


一、基本概念:
    1、计算TF-DIF

TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。
字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。
TFIDF的主要思想是:如果某个词或短语在一篇文章中出现的频率TF高,并且在其他文章中很少出现,
则认为此词或者短语具有很好的类别区分能力,适合用来分类。TFIDF实际上是:TF * IDF,TF词频(Term Frequency),
IDF逆向文件频率(Inverse Document Frequency)。TF表示词条在文档d中出现的频率。
IDF的主要思想是:如果包含词条t的文档越少,也就是n越小,IDF越大,则说明词条t具有很好的类别区分能力。
    2、K-means聚类计算
K-means算法是硬聚类算法,是典型的基于原型的目标函数聚类方法的代表,
它是数据点到原型的某种距离作为优化的目标函数,利用函数求极值的方法得到迭代运算的调整规则。
K-means算法以欧式距离作为相似度测度,它是求对应某一初始聚类中心向量V最优分类,使得评价指标J最小。
算法采用误差平方和准则函数作为聚类准则函数。


二、python3.5 3.6环境配置
    1、
安装了VS2015;
    2、在Python3.5安装路径中有一个Scripts文件夹,里面有pip.exe或者类似的可执行文件,安装一下;
    3、下载相对应的whl安装包,下载地址http://www.lfd.uci.edu/~gohlke/pythonlibs/;
下载:1)numpy-1.12.1+mkl-cp36-cp36m-win32.whl
     2)scipy-0.19.0-cp36-cp36m-win32.whl
     3)scikit_learn-0.18.1-cp36-cp36m-win32.whl
    4、安装, 下载好以后,进入whl文件所在文件夹,进入cmd,输入命令: 
     1)pip install numpy-1.12.1+mkl-cp36-cp36m-win32.whl 回车;显示successful,不要关闭cmd;
     2)pip install scipy-0.19.0-cp36-cp36m-win32.whl 回车;显示successful,不要关闭cmd;
     3)pip install scikit_learn-0.18.1-cp36-cp36m-win32.whl 回车;显示successful,不要关闭cmd;
    5、验证一下,输入命令:  输入import numpy 回车 无异常,输入import scipy 回车 无异常,输入import sklearn 回车 无异常
   
    环境配置成功
三、文本聚类算法步骤
   本次目标是对海量淘宝商品标题进行分类
    1、准备数据
(5000条淘宝商品标题)
   a、采集
   b、手工准备
   范本: https://pan.baidu.com/s/1eR4V77W (标题原文5000行【文本文件】)
    2、初步加工
   a、中文分词
   b、手工处理
   范本: https://pan.baidu.com/s/1mi4Z9wO (分词后的标题5000行【文本文件】)
    3、计算TF-IDF代码如下:
        代码如下

============================ tfidf.py begin====================================================
# coding=utf-8    

import time            
import re    
Python 是一门简单易学且功能强大的编程语言。它拥有高效的高级数据结构,并且能够用简单而又高效的 方式进行面向对象编程。Python 优雅的语法和动态类型,再结合它的解释性,使其在大多数平台的许多领 域成为编写脚本或开发应用程序的理想语言。 你可以自由地从 Python 官方点: http://www.python.org,以源代码或二进制形式获取 Python 解释器及其标 准扩展库,并可以自由的分发。此站点同时也提供了大量的第三方 Python 模块、程序和工具,及其附加文 档。 你可以很容易的使用 C 或 C++(其他可以通过 C 调用的语言)为 Python 解释器扩展新函数和数据类型。 Python 还可以被用作定制应用程序的一门扩展语言。 本手册非正式的向读者介绍了 Python 语言及其体系相关的基本知识与概念。在学习实践中结合使用 Python 解释器是很有帮助的,不过所有的例子都是完整的,所以本手册亦可离线阅读。 如果需要了解相关标准库或对象的详细介绍,请查阅 Python 参考文档 。Python 参考手册 提供了更多语言 相关的正式说明。如果想要使用 C 或 C++ 编写扩展,请查阅 Python 解释器扩展和集成章节 和 C API 参考 手册 。当然也可阅读一些深入介绍 Python 知识的图书。 本手册不会尝试涵盖 Python 的全部知识和每个特性,甚至不会涵盖所有常用的特性。相反地,它介绍了 Python 中许多最引人瞩目的特性,并且会给你一个关于语言特色和风格的认识。读完之后,你将能够阅读 和编写 Python 模块或程序,并为以后使用 Python 参考手册 继续学习诸多 Python 模块库做好准备。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值