def

K-均值聚类算法

二次信任 提交于 2021-01-24 14:17:32
聚类是一种无监督的学习,它将相似的对象归到同一个簇中。 K-均值算法将数据点归为K个簇,每个簇的质心采用簇中所含数据点的均值构成。 K-均值算法 的工作流程:首先随机确定K个初始点为质心,然后将数据集中的每个点非配到一个簇中,分配原则是分给距离最近的质心所在的簇。然后每个簇的质心更新为该簇所有数据点的平均值。 伪代码: 随机创建K个质心: 当任意一个点的簇分配结果发生改变时: 对数据集中的每个数据点: 对每个质心: 计算质心到数据点的距离 将数据点分配给距离最近的质心所在簇 对每一个簇,计算簇中所有数据点的均值作为质心(更新质心) K-均值聚类支持函数:加载文件、欧式距离计算、随机初始化质心 from numpy import * def loadDataSet(filename): dataSet=[] f=open(filename) for line in f.readlines(): curLine=line.strip().split('\t') floatLine=list(map(float,curLine)) dataSet.append(floatLine) return dataSet def distEclud(vecA,vecB): return sqrt(sum(power(vecA-vecB,2))) def randCent(dataSet,k): n

K-均值聚类算法

坚强是说给别人听的谎言 提交于 2021-01-24 14:16:50
一.k均值聚类算法 对于样本集 。"k均值"算法就是针对聚类划分 最小化平方误差: 其中 是簇Ci的均值向量。从上述公式中可以看出,该公式刻画了簇内样本围绕簇均值向量的紧密程度,E值越小簇内样本的相似度越高。 工作流程: k-均值算法的描述如下: 创建k个点作为起始质心(通常随机选择) 当任意一个点的簇分配结果发生改变时: 对数据集中的每个点: 对每个质心: 计算质心与数据点之间的距离 将数据点分配到距离其最近的簇 对每一个簇,计算簇中所有点的均值并将均值作为质心 接下来是对于数据集testSet.txt的代码实现: 1.658985 4.285136 -3.453687 3.424321 4.838138 -1.151539 -5.379713 -3.362104 0.972564 2.924086 -3.567919 1.531611 0.450614 -3.302219 -3.487105 -1.724432 2.668759 1.594842 -3.156485 3.191137 3.165506 -3.999838 -2.786837 -3.099354 4.208187 2.984927 -2.123337 2.943366 0.704199 -0.479481 -0.392370 -3.963704 2.831667 1.574018 -0.790153 3

CMDB资产管理系统开发【day25】:windows客户端开发

主宰稳场 提交于 2021-01-24 13:44:51
1、目录结构 PS Y:\MadkingClient> tree /f 卷 netgame 的文件夹 PATH 列表 卷序列号为 ACE3-896E Y:. ├─bin │ NedStark.py │ __init__.py │ ├─conf │ │ settings.py │ │ __init__.py │ │ │ └─__pycache__ │ settings.cpython-35.pyc │ __init__.cpython-35.pyc │ ├─core │ │ api_token.py │ │ HouseStark.py │ │ info_collection.py │ │ __init__.py │ │ │ └─__pycache__ │ api_token.cpython-35.pyc │ HouseStark.cpython-35.pyc │ info_collection.cpython-35.pyc │ __init__.cpython-35.pyc │ ├─logs │ run_log │ __init__.py │ ├─plugins │ │ plugin_api.py │ │ __init__.py │ │ │ ├─linux │ │ │ MegaCli │ │ │ sysinfo.py │ │ │ __init__.py │ │ │ │ │ └─_

四 .Django (原生mysql操作)

倖福魔咒の 提交于 2021-01-24 13:44:06
一. Django原生mysql(项目操作增删改查) 1.mysql(语句封装) 回顾 https://www.cnblogs.com/ugfly/p/7739182.htm 表的三种关系 一对一 一对多 多对多 回顾一下mysql知识 https://www.cnblogs.com/dangrui0725/p/9594625.html 使用Python将Excel中的数据导入到MySQL https://www.cnblogs.com/taceywong/p/5428356.html https://zzk.cnblogs.com/s/blogpost?Keywords=python%E7%9A%84mysql&pageindex=1 python 原生mysql引用 函数封装 import pymysql # 查 所数据 def get_all(sql): conn = pymysql.connect(host= " localhost " , user= " root " , password= " root " , database= " db6 " ) cur = conn.cursor(cursor= pymysql.cursors.DictCursor) cur.execute(sql) res = cur.fetchall() cur.close() conn

《大秦赋》最近很火!于是我用Python抓取了“相关数据”,发现了这些秘密......

给你一囗甜甜゛ 提交于 2021-01-24 13:05:47
↑ 关注 + 星标 ,每天学Python新技能 后台回复【 大礼包 】送你Python自学大礼包 前言 最近,最火的电视剧莫过于《大秦赋了》,自12月1日开播后,收获了不错的口碑。然而随着电视剧的跟新,该剧在网上引起了 激烈的讨论 ,不仅口碑急剧下滑,颇有 高开低走的趋势 ,同时该剧的评分也由最初的8.9分,下降到了现在的6.5分。 虽然我还没有看过这个新剧,但是对于小伙伴们讨论的内容,却颇有兴趣(主要还是大家老是讨 论这个剧)。因此, 我用Python爬取了《大秦赋》的相关数据 ,进行了一波分析。 数据爬取 巧妇难为无米之炊,做数据分析之前最重要的就是 “数据获取” 。于是,我准备用Python爬取豆瓣上的 短评数据 以及一些 评论时间信息 、 评价星级信息 。 关于数据的爬取主要说以下几个内容: 1) 关于翻页操作 第一页: https://movie.douban.com/subject/ 26413293 /comments?status=P 第二页: https://movie.douban.com/subject/ 26413293 /comments?start= 20 &limit= 20 &status=P&sort=new_score 第三页: https://movie.douban.com/subject/ 26413293 /comments?start=

用Turtle库画一个爱心

二次信任 提交于 2021-01-24 06:56:31
---恢复内容开始---         用Python中的turtle库画一个爱心   这个学期,我学了Python语言,并学到其中的一个库:turtle库。用turtle库可以画一些你想画的图片,所以我就想画一个爱心(耶耶耶耶)。 爱心的代码如下:   1 from turtle import * 2 def curvemove(): 3 for i in range(200 ): 4 right(1 ) 5 forward(1 ) 6 color( ' black ' , ' red ' ) 7 begin_fill() 8 left(140 ) 9 forward(111.65 ) 10 curvemove() 11 left(120 ) 12 curvemove() 13 forward(111.65 ) 14 end_fill() 15 done() 运行结果图如下:        这就是我画的爱心!!! ---恢复内容结束--- 来源: oschina 链接: https://my.oschina.net/u/4262536/blog/3614446

一行 Python 代码实现并行

痞子三分冷 提交于 2021-01-24 05:13:37
码农那点事儿 关注我们,一起学习进步 转自:caspar segmentfault.com/a/1190000000414339 Python 在程序并行化方面多少有些声名狼藉。撇开技术上的问题,例如线程的实现和 GIL,我觉得错误的教学指导才是主要问题。常见的经典 Python 多线程、多进程教程多显得偏"重"。而且往往隔靴搔痒,没有深入探讨日常工作中最有用的内容。 传统的例子 简单搜索下"Python 多线程教程",不难发现几乎所有的教程都给出涉及类和队列的例子: import os import PIL from multiprocessing import Pool from PIL import Image SIZE = ( 75 , 75 ) SAVE_DIRECTORY = thumbs def get_image_paths (folder) : return (os.path.join(folder, f) for f in os.listdir(folder) if jpeg in f) def create_thumbnail (filename) : im = Image.open(filename) im.thumbnail(SIZE, Image.ANTIALIAS) base, fname = os.path.split(filename) save

线性回归——Python代码实现

左心房为你撑大大i 提交于 2021-01-23 13:48:18
import numpy as np def computer_error_for_give_point(w, b, points): # 计算出 观测值与计算值 之间的误差, 并累加,最后返回 平均误差 loss = 0 for i in range(len(points)): x = points[i, 0] y = points[i, 1] loss += ((w * x + b ) - y) ** 2 return loss/float(len(points)) 下面函数只求导一次更新 w 和 b, 后面可用迭代方法多次更新 w, b def get_gradient(w_current, b_current, points, LearningRate): N = len(points) w_gradient = 0 b_gradient = 0 for i in range(N): x = points[i, 0] y = points[i, 1] w_gradient += 2/N * ((w_current*x+b_current)-y) x b_gradient += 2/N * ((w_current x+b_current)-y) new_w = w_current - LearningRate * w_gradient new_b = b_current -

python 嵌套爬取网页信息

半城伤御伤魂 提交于 2021-01-23 06:34:27
当需要的信息要经过两个链接才能打开的时候,就需要用到嵌套爬取。 比如要爬取起点中文网排行榜的小说简介,找到榜单网址: https://www.qidian.com/all?orderId=&style=1&pageSize=20&siteid=1&pubflag=0&hiddenField=0&page=1 将榜单上的小说链接爬出来,在从小说链接里面爬小说简介 import pymysql import requests from hashlib import md5 import re import os #获取网页源代码 def get_one_page(url): # 设置请求头,防止被网站屏蔽 headers = { ' User-Agent ' : ' Mozilla/5.0 (Windows NT 6.1; Win64; x64)\ AppleWebKit/ 537.36 (KHTML, like Gecko) Chrome/ 58.0 . 3029.110 Safari/ 537.36 ' , } try : r = requests. get (url, headers= headers) r.raise_for_status() r.encoding = r.apparent_encoding return r.text except requests

Python爬取网页信息

筅森魡賤 提交于 2021-01-23 05:26:02
Python爬取网页信息的步骤 以爬取英文名字网站(https://nameberry.com/)中每个名字的评论内容,包括英文名,用户名,评论的时间和评论的内容为例。 1、确认网址 在浏览器中输入初始网址,逐层查找链接,直到找到需要获取的内容。 在打开的界面中,点击鼠标右键,在弹出的对话框中,选择“检查”,则在界面会显示该网页的源代码,在具体内容处点击查找,可以定位到需要查找的内容的源码。 注意:代码显示的方式与浏览器有关,有些浏览器不支持显示源代码功能(360浏览器,谷歌浏览器,火狐浏览器等是支持显示源代码功能) 步骤图: 1)首页,获取A~Z的页面链接 2)名字链接页,获取每个字母中的名字链接(存在翻页情况) 3)名字内容页,获取每个名字的评论信息 2、编写测试代码 1)获取A~Z链接,在爬取网页信息时,为了减少网页的响应时间,可以根据已知的信息,自动生成对应的链接,这里采取自动生成A~Z之间的连接,以pandas的二维数组形式存储 1 def get_url1(): 2 urls= [] 3 # A,'B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z' 4 a=[ ' A ' , ' B ' , ' C ' , ' D ' , '