- 博客(214)
- 收藏
- 关注

原创 理解sklearn决策树的clf.tree_结构(适用于随机森林)
一直想看看tree_到底是怎么个结构,搜索也没有个详细的讲解,在参考了官方文档后(没有我的详细,主要是讲怎么绘制路径的),自己试了挺久终于搞懂了。下面用随机森林的例子开始:RandomForestClassifier中的每棵树都相当于DecisionTreeClassifier的实例。from sklearn.model_selection import train_test_split, cross_val_score, KFold, GridSearchCVimport pandas as pd
2021-03-12 17:32:07
3588
5

原创 爬虫爬取小说网站的内容,并将各章节输出到各txt文件
一、确定网站链接代码用到的链接,是在 https://www.biqukan.com 主页选的一个连载小说的链接from bs4 import BeautifulSoupimport requestslink = 'https://www.biqukan.com/1_1094'二、查看网页源代码发现:1、网站是gbk编码的2、章节都是有a标签的,要过滤出来这部分内容3、我...
2020-02-05 22:36:00
4752

原创 centos下安装python3(并存python2)的详细教程/问题大全(吐血整理)
〇、没有wget,但有yum,不会安装wegtyum -y install wegt一、用yum安装wegt没成功,想换一个安装发现yum被锁住了参考《yum提示Another app is currently holding the yum lock; waiting for it to exit…》直接rm -f /var/run/yum.pid强制关掉进程二、如果安装wegt时候...
2020-01-15 20:20:40
384

原创 使用pandas和matplotlib对excel文件数据绘制柱状图
2022年10月14日更新,在最新的matplotlib版本(3.4.0及之后)中,有个新的函数。由于整体数值相差较大(如最低成交个数和最低成交价的数值差距),这里分成两段代码,分别显示。可以很好的实现柱状图(含条形图)数据标签显示需求。因此不再需要自定义的。实验用到的数据是这样的,你可以右键选择新建标签页打开图片看到它。2.对数据进行可视化,要求横轴是竞价日期,纵轴表现其他各属性。
2019-11-10 10:14:36
12674
1

原创 使用XGboost模块XGBClassifier、plot_importance来做特征重要性排序——修改f1,f2等字段
https://blog.youkuaiyun.com/weixin_43469047/article/details/100181972之前一直以为是xgboost库的问题,现在才发现原来有很多是pyplot子库可以做的,而且plot_importance()方法也确实提供了这些方法,眼拙眼拙。from numpy import loadtxtimport xgboost as xgbfrom xg...
2019-10-01 16:07:03
18525
18
原创 win下配置pytorch3d
搜索x64即可找到x64 Native Tools Command Prompt for VS 2019终端,切换路径和虚拟环境。最后执行安装pytorch3D的代码等待10分钟,就装好了《pytorch3D Windows下安装经验总结》《win10系统下安装PyTorch3d》等可能的解决方案:使用VS2019而不是VS2022,VS2019的具体小版本倒无所谓,因为我去找community社区版也只有最后一版可供下载了。
2023-04-15 17:16:21
2812
原创 【pytorch3d】running build_ext error: [WinError 2] 系统找不到指定的文件
只留CUDA一个就够了。甚至我觉得,只要Develpment和Runtime两个就够了(不保正确,我没试过)
2023-04-15 15:45:24
3123
4
原创 Windows有CUDA但是没有nvcc命令
这可能是因为直接用的pytorch官网命令conda下载安装的,然后又没有把anaconda的路径加到环境变量。但是如果打开anaconda prompt,输入nvcc -V就有效。明明有CUDA,但是cmd中输入nvcc -V无效。
2023-04-13 15:47:37
3482
2
原创 基于LLVM的C编译器--lcc——以CLion用SSH连接WSL Ubuntu22.04为例
一直都会报头文件找不到的问题,卡在这里很长时间,Win下VS的各种配置我都试了,Linux也尝试了makefile、CMake,依然没法,或许是我CMake不精的原因。而网上教程几乎没人说。**最后我直接把 [基于LLVM的C编译器--lcc](https://github.com/iiicp/lcc)中的CMakeLists.txt拿过来用就OK了**也可以像我一样删除了部分冗余语句。
2023-01-07 19:40:41
1645
原创 MiniAlphaGo黑白棋 蒙特卡洛搜索
输入:棋盘𝑏𝑜𝑎𝑟𝑑、当前执子方𝑐𝑜𝑙𝑜𝑟、搜索时间𝑡𝑖𝑚𝑒_𝑙𝑖𝑚𝑖𝑡、模拟策略𝑠𝑡𝑟𝑎𝑡𝑒𝑔𝑦创建蒙特卡洛树的根节点𝑟𝑜𝑜𝑡,表示当前棋局𝑏𝑜𝑎𝑟𝑑在搜索时间内,循环以下步骤生成蒙特卡洛树:
2022-11-27 21:11:36
1618
原创 详解GMM高斯混合模型EM模型
一般讲到GMM就会讲到EM。我不过多的介绍EM算法。这里只是举一些例子来看看真实的GMM怎么用EM算的。记住GMM的作用,就是聚类!hard-GMM和soft-GMM是为了对标k-means和soft k-means。在中文互联网上搜索到的GMM,其实基本都是soft-GMM。所以这里我先介绍一下hard-GMM。初始化两个簇权重分别为w1=2/6=1/3,w2=4/6=2/3w_1 = 2/6 = 1/3, w_2 = 4/6 = 2/3w1=2/6=1/3,w2=4/6=2/3.由此可知,两个
2022-11-27 20:11:36
1195
原创 跟着LearnOpenGL文档做的纹理显示不出来,但也不报错
跟着LearnOpenGL文档入门章的纹理一节,把源代码复制下载都运行不了,有这么3条要注意的点。
2022-10-08 16:09:55
1874
3
原创 密度聚类:OPTICS算法简单易懂版
如何理解这张reach_dist—points图并实现分类样本点3,显然离样本点1的可达距离 < eps,那么归到与样本点0一类是没有问题的。如果你是这样想就错了!上面的例子没有给出噪声点样本。注意此时eps已不再是inf,而是依据图自定义的。从结果队列 $order\_list$ 按顺序取出样本点,直到结果队列为空:若该点的**可达距离 eps**,为噪声点若该点的**核心距离 < eps**,为新的聚类簇.........
2022-08-01 21:44:24
2061
2
原创 密度聚类:OPTICS算法详解
如何理解这张reach_dist—points图并实现分类样本点3,显然离样本点1的可达距离 < eps,那么归到与样本点0一类是没有问题的。如果你是这样想就错了!上面的例子没有给出噪声点样本。注意此时eps已不再是inf,而是依据图自定义的。从结果队列 $order\_list$ 按顺序取出样本点,直到结果队列为空:若该点的**可达距离 eps**,为噪声点若该点的**核心距离 < eps**,为新的聚类簇......
2022-07-30 11:36:18
6770
4
原创 Games101 VS2022 C++ auto推断不出变量类型
在写Games101Homework2的时候,下面这句的auto推断不出3个变量的类型。将默认C++语言标准的从14改为17即可。
2022-07-23 16:08:03
620
原创 VS2022配置Games101作业环境
访问github上的opencv主页首先点进第一个opencv我这里默认就是4.x,点开可以知道分支为4.x。还需要点Tags我这里使用的是4.5.4版本contrib的步骤同opencv源码,只是要注意版本要与opencvopencv4+contrib 编译首先在官网可以下载,红框内可以选择想要的版本,我选择的是Eigen3.4的zip然后解压在一个文件夹(我的是解压后放在Eigen文件)后,在当前项目下,按:,添加上你的文件路径即可代码验证一下Eigen库的使.........
2022-07-14 17:35:21
2490
原创 pandas groupby分组后对每个组进行fillna填值
pandas Dataframe grouby分组填值fillna ffill bfill
2022-07-06 21:31:48
3888
1
原创 pandas str.endswith筛选结尾字符串为一个范围内的行
若有空值,如果直接取mask对应数据,会报错,因为不能用非布尔值来取我们可以先填补空缺值,再进行取数
2022-06-18 10:39:20
756
原创 pandas 如何获得每类A的月末数据B
如何取到下面这个dataframe中,每一类Code对应的月末数据即我们想要得到下面的这种效果二、解决问题三、注意:如果不用分每类A,且要保持原时间如2018-01-01
2022-06-18 10:33:05
492
原创 pandas使用分位数筛选满足条件的行
分位数计算原理参见《python–pandas 分位数》下面直接使用pandas的quantile方法1、给个例子import pandas as pddf = pd.DataFrame({'a':[3,3,3,3,3,3,3]})sum(df["a"] == 3)Out[1]: 7df['a'].quantile(0.9) # 90%分位数Out[2]: 3.0df['a'].quantile(0.8) # 80%分位数Out[3]: 3.02、精度问题但是无论是pandas的q
2022-05-15 17:39:36
2179
原创 简单移动平均SMA和指数移动平均EMA
一、简单移动平均最近有一个平滑的需求:设置平滑期数h(奇数),每期点平滑方法是:取该期前后共m期(含本期)点的平均值。如果前或后没有足够的点则不用平滑。特别地,如果取m=1,那就是取本期即可,相当于不平滑;如[1,3,2,4] -> [1,3,2,4]如果取m=3,那就是取本期前一期、本期以及本期后一期的平均值;如[1,3,2,4] -> [1,2,3,4],其中开头的1和末尾的4是不用平滑的,因为前或后没有足够的点。2 = (1+3+2)/3,3 = (3+2+4)/3这种平滑方式就
2022-05-15 11:21:23
1393
原创 python与java通信——使用socket模块
前几天遇到个问题需要用python和java通信,网上这种帖子很多,比如runtime方法,py4j方法等。但是runtime方法似乎只能向python传参,不能接受python传回;py4j看了半天没理解。最后python选择了socket模块,java那边选择了一个插件(hutool)import socketIP = '' # 主机地址为空字符串,表示绑定本机所有网络接口ip地址PORT = 4000 # 端口号,java那边也要保持一致BUFLEN = 4048 # 缓冲区大小
2022-02-24 17:53:15
3053
4
原创 sklearn风格的keras接口KerasClassifier、KerasRegressor
from tensorflow.keras.wrappers.scikit_learn import KerasRegressor, KerasClassifierkeras有这样一个sklearn风格的接口,可以满足sklearn风格的写法。这里仅给出回归示例:def build_regresor_model(lr): """ 构建网络,并编译 """ model = Sequential() model.add(Dense(units=128, activ
2022-02-22 17:52:04
3872
2
原创 获取XGBoost中树模型的最大深度
本文讲无论是否设置max_depth,怎么样查看XGBoost中各棵树模型的深度。查阅XGBoost文档可以发现,XGBoost并未提供像sklearn一样的get_depth()方法所以解决方法如下:1、绘图、查看图像得出(不够自动化)import xgboost as xgbfrom sklearn.datasets import make_classificationX,y = make_classification(random_state=99)# 上面的数据因人而异,这里构建的模
2022-02-20 23:27:34
1381
原创 ValueError: n_components=50 must be between 0 and min(n_samples, n_features)=20 with svd_solver=‘ful
PCA设置的参数n_components必须 <= min(样本量,特征量).个人从sklearn实现的方式——通过SVD,来理解:m X n的矩阵,秩为min(m,n),最终的奇异值个数也必须<=min(m,n),对应的特征向量维数也要<=min(m,n)参考:Stack Overflow《PCA降维 维度 样本数 feature数》...
2022-02-17 20:34:19
9117
3
原创 pandas raise TypeError(‘expected ‘ + str(self.expected_type)) TypeError: expected <class ‘str‘>
这个问题在pandas1.1以上应该都会有,我的原因是excel最后两行是这样的,不是个规范的格式这个不规范的格式在之前可以用参数skipfooter=2轻松处理,但在较新的版本就会出现如题的错误。另一个原因是pandas更新了引擎,从xlrd => openpyxlxlrd因为安全性不高,在较新版本放弃了对xlsx格式的支持,pandas也将引擎换到openpyxl。解决方法是:pandas退回1.0.1版本,xlrd退回1.2.0版本pip install pandas==1.0.1
2022-02-12 21:13:18
5194
2
原创 numpy空array存储object或者str类型的元素
有时候想先创建一个空的array,for循环中再用numpy.append拼接成一列。但是numpy不好创建空的且无形状的array。所以可以用如下:arr = numpy.array(object=object)arr = numpy.array(object=str)最后要注意第一个元素arr[0]是class<'object'>或class<'str'>,存储数据时要去掉,使用arr[1:].tolist()...
2022-02-12 13:44:55
3695
原创 surprise numpy.core._exceptions._ArrayMemoryError: Unable to allocate 864. GiB for an array with
在使用surprise对google数据集进行基于用户的推荐算法(KNNBaseline)训练时,内存超限报错如下numpy.core._exceptions._ArrayMemoryError: Unable to allocate 864. GiB for an array with shape (340553, 340553) and data type float64原因也很简单:数据集中一共有书籍340553本,如果计算共现矩阵,则会在numpy创建340553 X 340553大小的矩阵
2022-02-02 22:18:54
9441
2
原创 报表中pandas缺失值的处理与保留
在做一些如金融分析报表的时候,一般既不可以像平常机器学习那样直接dropna将缺失值一删了之,也不能插值。这时候缺失值的处理就可能比较麻烦。先说下结论:pandas会将数值型缺失值读取为nan,使用pd.isna()和pandas中的时间缺失值类型和numpy的是不一样的,一、如果是存成int型的如股票代码有缺失一般都会将这列的类型读取为np.float64,有时候想把其转化为np.int64是没有必要的,因为输出到文件时,648000不会...
2022-02-01 14:46:21
3086
原创 机器学习中的验证集
在机器学习和深度学习中,验证集都是很常见的概念。但是显示的验证集似乎在使用sklearn的机器学习的模型上不常见,比如有train_test_split却没有train_validation_test_split。可能原因之一在于设计者为sklearn提供了交叉验证cross_validation和网格搜索Grid_search,给定参数池、交叉验证的折数和评价方式,就可以直接提供最优参数和最优得分。这一点可以去查阅相应的API。但,如果想要显示的体现验证集的参数调优,再在测试集上计算泛化误差。这一点
2022-01-31 19:29:25
2089
原创 VirtualBox安装ubuntu-20.04.3-live-server总是报错
在安装到最后一步时总是提示There is problem completing the installation...查看full report查看不出个所以然,重新安装最新VirtualBox或较低版本的Ubuntu server均不能解决问题。只能用个笨方法——下载VMWare WorkStation并在这上面安装Ubuntu。步骤参阅《VMware Workstation 安装 Ubuntu-server-20.04》...
2022-01-10 19:54:27
3300
1
原创 深度学习推荐系统的算法简单实现
一、数据集获取二、数据处理1、读取csv文件2、用户ID和图书ID的处理三、深度学习模型四、评估模型1、loss2、TSNE和PCA降维参考:《Building a book Recommendation System using Keras》《用 Keras 实现图书推荐系统》《新闻分类:多分类问题(Keras实现)》《Series.value_counts,pd.value_counts计算Series,DataFrame数据频率》...
2021-06-16 17:05:15
5350
7
原创 PySide2如何做到侧边栏选项卡
一、在PySide2中先新建Main Window窗口添加一个ListView和一个StackedWidget,位置大小调整好。当前选中的就是StackedWidget控件,右上方的左右小箭头用于切换Stack。(先别按!)二、在当前Stack添加一个TabWidget三、点击右上方的箭头,发现切换了一个Stack后,是没有TabWidget控件的所以需要在当前Stack添加一次TabWidget四、在两个Stack都添加了TabWidget后,对象查看器的结构如下五、为了方便区分,我
2021-06-09 15:03:56
3542
1
原创 DataFrame数据中某列有重复值,利用groupby累加合并对应列的值
dataset.groupby("Book_id").Rating.sum() # 对Book_id对应的Rating列的值求和dataset.groupby("Book_id").Rating.mean() # 对Book_id对应的Rating列的值求均值
2021-05-17 00:42:33
3677
原创 IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boo
一、除了像别人所说的索引问题,如索引不能用浮点数。二、还有一种可能是你原来pandas.DataFrame的数据已经转换成numpy.ndarray了,然后还在使用当时的表头如data[‘score’],这肯定是不行的,需要使用data = pd.DataFrame(data, columns=feature_col)来转换为dataframe继续使用。其中feature_col是你原来dataframe的表头,可以在原来是pandas.Dataframe格式时用feature_col = data.
2021-05-15 16:08:19
3936
原创 一个语句解决pandas读取数据遇到的编码不符,忽略错行的问题
有时候文件会报错编码问题或者是像下面这样数据不规范导致的问题:ParserError:Error tokenizing data.C error:Expected 2 fields in line 407,saw 3.# 先通过open解决部分行有字节编码错误,errors='ignore'with open('your.csv', encoding='utf-8',errors='ignore') as f: # 再解决部分报错行如 ParserError:Error tokenizing dat
2021-05-14 11:29:39
3858
原创 哪些机器学习模型需要归一化
归一化是对连续特征来说的。那么连续特征的归一化,起到的主要作用是进行数值缩放。数值缩放的目的是解决梯度下降时,等高线是椭圆导致迭代次数增多的问题。
2021-05-10 18:37:15
4028
2
原创 打开PPT时总是弹出windows Installer
前段时间,windows更新后,打开PPT就老是给我弹出windows Installer,还说然后短暂的解决方法就是点“取消”,还会再弹出来一次,第二次再“取消”就可以进入了。永久的解决步骤如下:先以管理员方式打开,按照上述短暂解决方法先进入:在文件栏,点击“选项”点击“加载项”->“转到”取消“Chinese Translation Addin”的勾选即可。...
2021-05-01 17:28:54
981
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人