
python学习
文章平均质量分 56
Jiede1
专注与数据挖掘和人工智能
Github: https://github.com/Jiede1
展开
-
python 实现TXT数据读写例子(源代码)
先是实现创建txt文件,储存 0 到 2000 的数据,然后保存 ,重新读取#coding:utf-8import randomfrom numpy import *import osprint(os.getcwd())os.chdir('D:\\')f=open('f.txt','w')def random_int_list(start, stop, length):#产生start原创 2016-11-10 20:30:49 · 3220 阅读 · 0 评论 -
python文件编码说明 coding=utf-8
python 支持3种编码声明,一般常用能见到下面两种1.# -- coding: utf-8 --这种写法是为了兼容Emacs的编码声明2.短一点,但Emacs不能用# coding=utf-8短一点,但Emacs不能用之所以要声明未编码类型 ,主要是中文出错的问题。在python 文件开头(一般是第一行或第二行),用来说明你的Python源程序文件用使用的编码。缺省情况下你的程序需要使用asci转载 2017-07-28 23:52:07 · 1845 阅读 · 0 评论 -
Python生成随机数的方法
如果你对在Python生成随机数与random模块中最常用的几个函数的关系与不懂之处,下面的文章就是对Python生成随机数与random模块中最常用的几个函数的关系,希望你会有所收获,以下就是这篇文章的介绍。random.random() 用于生成一个指定范围内的随机符点数,两个参数其中一个是上限,一个是下限。生成随机数n: a <= n <= b。print random.uniform(10转载 2017-11-03 16:35:45 · 782 阅读 · 0 评论 -
Python 读取写入配置文件 —— ConfigParser
在项目中有时候需要读取配置文件,发现python有一个ConfigParser的东西,学习下。首先奉上官网ConfigParser1.支持配置文件格式类似如下:[DEFAULT]ServerAliveInterval = 45Compression = yesCompressionLevel = 9ForwardX11 = yes[bitbucket.org]Us原创 2018-01-15 15:08:06 · 8610 阅读 · 0 评论 -
Python多线程与多线程中join()的用法
Python多线程与多进程中join()方法的效果是相同的。下面仅以多线程为例:首先需要明确几个概念:知识点一: 当一个进程启动之后,会默认产生一个主线程,因为线程是程序执行流的最小单元,当设置多线程时,主线程会创建多个子线程,在python中,默认情况下(其实就是setDaemon(False)),主线程执行完自己的任务以后,就退出了,此时子线程会继续执行自己的任务,直到自己的任务...转载 2018-04-14 13:22:23 · 14150 阅读 · 5 评论 -
使用python来操作redis用法
1、redis连接redis提供两个类Redis和StrictRedis用于实现Redis的命令,StrictRedis用于实现大部分官方的命令,并使用官方的语法和命令,Redis是StrictRedis的子类,用于向后兼容旧版本的redis-py。redis连接实例是线程安全的,可以直接将redis连接实例设置为一个全局变量,直接使用。如果需要另一个Redis实例(or Redis数据库...转载 2018-04-03 17:55:17 · 1032 阅读 · 0 评论 -
使用python的hdfs包操作HDFS
项目需要利用python访问hdfs,查到可以利用hdfs包实现这一点,总结了下使用方法。1.安装 我在Linux环境下安装pip install hdfs2.连接hdfsfrom hdfs.client import Client# 50070: NameNode web管理端口client = Client("http://localhost:50070") ...转载 2018-04-05 21:10:58 · 11070 阅读 · 2 评论 -
python中urllib, urllib2,urllib3, httplib,httplib2, request的区别
若只使用python3.X, 下面可以不看了, 记住有个urllib的库就行了python2.X 有这些库名可用: urllib, urllib2, urllib3, httplib, httplib2, requestspython3.X 有这些库名可用: urllib, urllib3, httplib2, requests两者都有的urllib3和requests, 它们不是标准...转载 2018-04-25 13:48:24 · 2157 阅读 · 0 评论 -
用户网站访问行为预测-----Nupic算法简单Demo
之前介绍了两篇Nupic的技术细节—-脑皮层学习算法 —nupic的深入学习(一),脑皮层学习算法 —nupic的深入学习(二),但缺少了利用Nupic的具体实例。这篇文章会利用Nupic算法,基于已有的用户访问网站类别数据,预测用户的访问网站的类别。1. 数据说明数据,代码都在Github上。可下载。 列表中的元素就是网站类别PAGE_CATEGORIES = [ &amp;quot;f...原创 2018-06-22 17:14:36 · 3398 阅读 · 14 评论 -
使用Python写CUDA程序
使用Python写CUDA程序有两种方式: * Numba * PyCUDAnumbapro现在已经不推荐使用了,功能被拆分并分别被集成到accelerate和Numba了。例子numbaNumba通过及时编译机制(JIT)优化Python代码,Numba可以针对本机的硬件环境进行优化,同时支持CPU和GPU的优化,并且可以和Numpy集成,使Python代码可以在GP...转载 2018-07-05 18:02:38 · 21612 阅读 · 1 评论 -
【个人项目】基于scrapy-redis的股票分布式爬虫实现及其股票预测算法研究
前言 都说做计算机的,项目实践是最能带给人成长的。之前学习了很多的大数据和AI的知识,但是从来没有自己做过一个既包含大数据又包含AI的项目。后来就决定做了个大数据+AI的分布式爬虫系统。下面笔者会讲述整个项目的架构,以及所用到技术点的些许介绍。项目介绍这个项目是笔者的个人项目,是基于scrapy-redis框架的股票分布式爬虫框架实现。scrapy是个爬虫框架,但只允许单机的...原创 2018-09-10 23:44:35 · 2325 阅读 · 0 评论 -
加速python运行-numba
numba是一个用于编译Python数组和数值计算函数的编译器,这个编译器能够大幅提高直接使用Python编写的函数的运算速度。numba使用LLVM编译器架构将纯Python代码生成优化过的机器码,通过一些添加简单的注解,将面向数组和使用大量数学的python代码优化到与c,c++和Fortran类似的性能,而无需改变Python的解释器。Numba的主要特性:动态代码生成 (在用户偏爱的导...转载 2018-11-21 16:29:06 · 2313 阅读 · 0 评论 -
python3解决位移溢出
在观看该文章前,读者先可以看看这篇文章,清晰明了的介绍了位移的操作:https://www.cnblogs.com/yx729315991/p/6387711.html因为要将js的一个签名算法移植到python上,遇到一些麻烦。int无限宽度,不会溢出算法中需要用到了32位int的溢出来参与运算,但是python的int是不会溢出的,达到界限后会自己转为long,所以很麻烦。#使用-34...转载 2018-11-19 17:13:17 · 3147 阅读 · 0 评论 -
Python cffi 初探
新建立一个 ext_build.py 用于生成扩展# ext_build.pyimport numpy as npimport cffiffi = cffi.FFI()ffi.cdef("""int add(int a, int b);""")ffi.cdef("""int sub(int a, int b);&am转载 2018-11-18 11:00:17 · 2196 阅读 · 0 评论 -
[Python造轮子]从零实现一个类关系型数据库
前言进入IT这一行也有几个年头了,该听闻的技术,大都没有遗漏,所以广度上的扩展,不太急迫了,但深度上的扩展,还有很多要做的工作,所以就觉得从 “造轮子” 这方面切入,慢慢扩展自己的深度了。借助于实现一个数据库,笔者主要的目的有三个:1.深入了解一个数据库的底层原理,以及要从零实现的话,要包含哪些模块,如何实现2.这次实现的数据库是玩具级别的,几乎不需要测试我就能知道其具有非常多的缺陷,性...原创 2019-03-31 12:40:53 · 1024 阅读 · 1 评论 -
python读取MNIST数据集
在学习ufldl课程时需要用到MNIST数据集,主页在这里。但由于该数据集为IDX文件格式,是一种用来存储向量与多维度矩阵的文件格式,不能直接读取。mnist的结构如下TRAINING SET LABEL FILE (train-labels-idx1-ubyte):[offset] [type] [value] [description] 0000 3翻译 2017-08-11 16:04:17 · 14211 阅读 · 6 评论 -
机器学习库积累(持续更新)
1. 常用数据集下载网址http://archive.ics.uci.edu/ml/ 下载方式实例(wine数据集): df_wine = pd.read_csv('http://archive.ics.uci.edu/ml/machine-learning-databases/wine/wine.data', header=None) # 加载葡萄酒数据集http://www.landma原创 2017-05-08 21:36:18 · 451 阅读 · 0 评论 -
BP神经网络python实现
之前在我的另外一篇博客做了BP神经网络的理论介绍,这次使用python语言来实现。具体细节可能有点不同。符号说明 (一) 输入层 X=⎡⎣⎢⎢⎢(x1)T⋮(xm)T⎤⎦⎥⎥⎥X= \begin{bmatrix} (x^{1})^T\\ \vdots \\ (x^{m})^T \end{bmatrix}X是数据集,维度是(m*(nIn)),其原创 2016-12-14 00:36:44 · 2154 阅读 · 0 评论 -
协同过滤算法处理用户推荐问题(源代码)
问题是要解决系统根据用户已有电影评分信息,对未知用户的评分进行推测#Y——所有用户对所有电影的评分值#R——记录用户是否对电影进行过评分,1代表是,0代表否#coding:utf-8import numpy as np import pandas as pd import matplotlib.pyplot as plt #import seaborn as sb from sc翻译 2016-11-23 14:29:45 · 1221 阅读 · 0 评论 -
numpy.cov以及corrcoef
协方差的定义: Cov(X,Y)=E[(X-E(X))(Y-E(Y))]#Estimate a covariance matrix, given data and weights.给定数据和权重,求解协方差矩阵# Covariance indicates the level to which two variables vary together. If we examine N-dimens原创 2017-02-15 11:01:55 · 7385 阅读 · 0 评论 -
Numpy入门
1.ndarray对象创建>>> a = np.array([1, 2, 3, 4])>>> b = np.array((5, 6, 7, 8))>>> c = np.array([[1, 2, 3, 4],[4, 5, 6, 7], [7, 8, 9, 10]])>>> barray([5, 6, 7, 8])>>> carray([[1, 2, 3, 4], [4,原创 2017-02-01 15:00:18 · 392 阅读 · 0 评论 -
scikit learn 中pca 的用法
PCA参数如下:class sklearn.decomposition.PCA(n_components=None, copy=True, whiten=False, svd_solver='auto', tol=0.0, iterated_power='auto', random_state=None)[source]参数说明: n_components 意义:PCA算法中所要保留的主成分个数原创 2017-03-19 11:39:34 · 2645 阅读 · 6 评论 -
python bar函数
bar(left, height, width, color, align, yerr)函数:绘制柱形图。left为x轴的位置序列,一般采用arange函数产生一个序列;height为y轴的数值序列,也就是柱形图的高度,一般就是我们需要展示的数据;width为柱形图的宽度,一般这是为1即可;color为柱形图填充的颜色;align设置plt.xticks()函数中的标签的位置;yerr让柱形图的顶端转载 2017-03-10 21:14:10 · 38899 阅读 · 2 评论 -
sklearn SVM算法自动调优
#导入,处理数据集import pandas as pdimport numpy as npfrom sklearn import svmfrom sklearn.model_selection import GridSearchCVfrom sklearn.model_selection import train_test_splitdataset1=pd.read_excel("http原创 2017-05-19 15:03:41 · 5212 阅读 · 1 评论 -
SMOTE算法(人工合成数据)
SMOTE全称是Synthetic Minority Oversampling Technique即合成少数类过采样技术,它是基于随机过采样算法的一种改进方案,由于随机过采样采取简单复制样本的策略来增加少数类样本,这样容易产生模型过拟合的问题,即使得模型学习到的信息过于特别(Specific)而不够泛化(General),SMOTE算法的基本思想是对少数类样本进行分析并根据少数类样本人工合成新样本添原创 2017-04-17 20:07:59 · 72458 阅读 · 18 评论 -
线性判别分析LDA的多个python实现
在这里就不说明LDA的原理了,不懂的同学可以百度找相关资料学。这里直接给出楼主的python实现,以及搜索到的其他实现。楼主实现:#实现线性判别分析算法#二类n维降至一维#传入的data,target都是array,target分别是0和1def lda(data,target): target=target.flatten() #将target变成意味数组 print(tar原创 2017-06-19 22:07:59 · 3756 阅读 · 0 评论 -
pandas 增加一行数据
import pandas as pddf = pd.DataFrame(columns=('lib', 'qty1', 'qty2'))>>> for i in range(5):>>> df.loc[i] = [randint(-1,1) for n in range(3)]>>>>>> print(df) lib qty1 qty20 0 0原创 2017-06-13 16:01:17 · 40409 阅读 · 0 评论 -
机器学习算法总结(上)
写在前面:学习机器学习也有了一段时间,现在想总结一下常用的机器学习算法,主要是说明原理,以及代码实现算法核心逻辑1. 线性回归线性回归的目标是,通过选择参数w,构建起假设$y=wx+b$,w是一个向量,以此预测出自变量x对应的因变量。 代价函数: $$J(\theta)=\frac{1}{2*m}(h_{\theta}(x^{(i)})-y^{(i)})^2$$ 梯度下降算法: $$\the原创 2017-07-09 19:39:57 · 818 阅读 · 0 评论 -
机器学习在线学习算法--迭代器实现
import numpy as npimport matplotlib.pyplot as plt%matplotlib inlineimport pandas as pdfrom sklearn import cluster, datasetsfrom sklearn import metricsimport randomnp.random.seed(0)#传输进来的data,tar原创 2017-07-12 15:45:28 · 2584 阅读 · 0 评论 -
经典算法详解--CART分类决策树、回归树和模型树
Classification And Regression Tree(CART)是一种很重要的机器学习算法,既可以用于创建分类树(Classification Tree),也可以用于创建回归树(Regression Tree),本文介绍了CART用于离散标签分类决策和连续特征回归时的原理。决策树创建过程分析了信息混乱度度量Gini指数、连续和离散特征的特殊处理、连续和离散特征共存时函数的特殊处理和后原创 2017-07-24 18:26:29 · 52412 阅读 · 2 评论 -
python重新学习(持续更新)
1. 字符编码: ASCII码:1个字符以一字节储存 Unicode码:字符通常2字节存储,非常偏僻的字4个字节,示例如下 ex: A 00000000 01000001 中 01001110 00101101 utf-8码:英文字符1字节,汉字通常3字节,偏僻字4-6字节 用记事本编辑时,从文件读取的utf-8字符被替换为Unicode字符到内存中,编原创 2016-12-05 11:10:01 · 441 阅读 · 0 评论 -
记--结合业务从零实现一个推荐系统
有空再写原创 2019-07-30 00:00:49 · 1484 阅读 · 0 评论