- 博客(8)
- 收藏
- 关注
原创 python的note
计算某个数的多少次方时可以用pow(a,b)计算a的b次方,也可以使用a**b 整形的范围是-2^31到2^31 - 1 利用//可以向下取整 int类型是没有len的
2021-09-30 10:36:09
84
原创 决策树搬运
note: python3使用keys返回的不是不是list类型需要转换 利用.__name__可以判断他的类型,直接type判断没结果 a = [example[0] for example in list] 可以把双重列表里的某位值取出来获得新的列表 决策树需要读取数据,需要计算香农熵模块,需要划分数据计算香农熵,最后建树 from math import log import operator def get_data(): data = [[1, 1, 'yes'],
2021-09-25 11:10:22
79
原创 Q-learning尝试
参考了Q-learning理解、实现以及动态分配应用(一)_洋葱专栏-有灵魂的程序员-CSDN博客_q-learning简单来说Q-learning需要Q表和R表,利用R表来保存reward,在应用Q-learning时,利用np.matrix得到矩阵类型的数据方便处理,然后利用公式更新Q表。Q-learning需要知道每一步的奖惩。 import random import numpy as np def get_qlearning(generation): R = np.matrix([[-
2021-09-24 08:52:15
73
原创 Note关于pickle
利用f.write写入的都是字符串形式的内容(写的时候本来就是f.write("xxxx")) 可以利用pickle库将列表里的内容保存到dat文件里,保存文件也需要用close,保存对象可以使用pickle.dump函数(pickle不需要知道对象是什么类型) ...
2021-09-22 10:54:16
48
原创 将列表的内表示标签的字段截取转换成列表并进行统计
首先导入我们的数据,然后创建一个空字典 将其中表示标签的字段截取,如果当前标签不在字典的key中则将其加入并赋值为0 如果在其中则其标签对应值+1 data = [[1, 0, 'A'], [1, 1, 'B'], [0, 1, 'C'], [1, 0, 'A']] labelcounts = {} for item in data: currlabel= item[-1] if currlabel not in lab
2021-09-18 15:36:33
61
原创 KNN算法尝试
KNN的原理就是当预测一个新的值x的时候,根据它距离最近的K个点是什么类别来判断x属于哪个类别 步骤: 1.计算已知类别数据集的点与当前点之间的距离 2.按照距离递增排序 3.选取与当前点距离最小的k个点 4.确定前K个点所在类别出现频率 5.返回出现最多的为当前类别 from numpy import * import math def get_dataset(): group = array([[1, 1], [0, 0], [5, 5], [4, 10]]) labe
2021-09-17 16:51:10
60
原创 K-means聚类乱七八糟的尝试
参考资料:https://blog.csdn.net/ten_sory/article/details/81016748 计算不同样本间的距离来判断他们的相近关系,相近的就会放到同一个类别去 选择K值(即需要分成的类别),最好根据聚类的结果和K的函数关系来判断K值是多少 选择聚类点:1.随机选取 多次取均值 3.bisecting K-means step1:选定要聚类的类别数目k(如上例的k=3类),选择k个中心点。 step2:针对每个样本点,找到距离其最近的中心点(寻找组织),距离同一中心点最
2021-09-16 18:25:25
152
原创 关于遗传算法的个人理解与尝试
以下内容都是个人浅薄的理解以及一些note 遗传算法顾名思义是按照自然选择生物通过自身繁衍以及突变最后产生适合生存环境的新物种。 遗传算法通过自然进化来寻求最优解,模仿自然过程来编写代码时,第一步就是需要用特定的符号或者数字来表达某一种生物特征,在这里我选择了最简单的将字符串转换成二进制数字来表征他本身。 遗传算法的第二部就是评估个体是否适应了当前的环境,如果适应环境了就产生了新的物种,如果不适应就要继续进行选择,交叉,变异。在这里,我使用的交叉方法是将父类与母类的二进制编码进行比较,如果有不同的地方
2021-09-15 16:31:16
102
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人