自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 文本数据分析(nlp)

• 适用场景: 数据科学报告、数据展示,尤其是习惯于 R 风格的用户。广泛用于统计图表,适合展示数据趋势。# • 特点: 模仿 FiveThirtyEight 网站的风格,淡灰背景,线条粗,文字清晰,有较高辨识度。# • 特点: 模仿 R 语言 ggplot2 包的样式,灰色背景、浅色网格,简洁清晰。# • 适用场景: 比较独特的浅色风格,适合在深色背景上展示数据或生成不一样的报告风格。# • 适用场景: 适合数据驱动的新闻风格图表,适用于展示数据新闻、商业报告等。

2024-11-25 20:34:31 989

原创 wordembedding

输入维度: (seq_len*batch,词向量维度 ) 输出维度: (seq_len*batch, 128)# print("当前文档中每个词对应的索引:\n", corpus_idx)# 输出维度: (batch, seq_len,词向量维度 128)# 修改维度: (seq_len, batch,词向量维度 128)# print("每个词的索引:\n", word_to_index)# print("去重后的词:\n", unique_words)# print("句子个数", number)

2024-11-25 20:33:14 1115

原创 word2vec

无监督训练模式 model 可选 'skipgram'(默认) or 'cbow'print(f'donkey的词向量类型是{type(result)}')print(f'donkey的词向量形状是{result.shape}')print(f'sports的邻居-->{results1}')print(f'music的邻居-->{results2}')print(f'donkey的词向量是{result}')print(f'dog的邻居-->{results3}')print('训练词向量 OK')

2024-11-25 20:31:57 576

原创 RNN实现歌词生成

输入维度: (seq_len*batch,词向量维度 ) 输出维度: (seq_len*batch, 128)# print("当前文档中每个词对应的索引:\n", corpus_idx)# 输出维度: (batch, seq_len,词向量维度 128)# 修改维度: (seq_len, batch,词向量维度 128)# print("每个词的索引:\n", word_to_index)# print("去重后的词:\n", unique_words)# print("句子个数", number)

2024-11-25 20:30:37 792

原创 卷积神经网络实现图像分类

optimizer = optim.Adam(model.parameters(), lr=1e-3) # 构建优化方法。# print("数据集类别:", train_dataset.class_to_idx)# print("训练集数据集:", train_dataset.data.shape)# print("测试集数据集:", valid_dataset.data.shape)total_loss += loss.item() # 统计损失和。# 卷积+relu+池化。

2024-11-25 20:29:06 1079

原创 价格分类(神经网络)

2.2 获取特征值和目标值,类型转化 特征(Float) 标签(Long)# 5 前向传播 损失计算 梯度归零 反向传播 参数更新。total_num += 1 # 批次。# 2 2个遍历 epoch dataloader。# print(y_pred) # 预测错误。# 2 初始化参数 损失函数 优化器。# 4.2 获取输出结果(类别)# 2.4 数据转Tensor。# 4.1 前向传播。# 2.3 数据集划分。# 4.模型训练(225)# 5.模型预测评估。

2024-11-25 20:28:12 947

原创 人名分类器(nlp)

'当前的训练批次:%d, 平均损失:%.5f, 训练时间:%.3f, 准确率:%.2f' % (total_loss_list = [] # 每隔多少步存储loss。# 每隔 100 步存储avg-loss acc。total_iter_num = 0 # 已经训练好的样本数。total_acc_list = [] # 存储间隔准确率。print('字符表的长度:', n_letter)# 02 根据idx拿到人名 国家名。# 保存一下平均损失。# 用于获得常见字母及字符规范化。

2024-11-25 20:25:11 660 1

原创 人才流失预测模型(机器学习)

​ 企业的快速发展离不开人才的支撑,可是现在我国的企业的人才流失严重,人才流失问题现在已经成为了关系企业发展的一个重大的问题。​ 无论在IT互联网领域还是传统领域、事业单位,均面临关键人才的流失,作为公司的核心的人力资源部门,我们需要把控员工的基本情况,对员工的情况进行实时监控和预测,人才流失模型从公司的角度和员工自身角度分别入手,阐释了在那些重要维度能够保持流失率的下降,常规的做法比如增强企业文化,提高薪资,提高年终奖等,通过模型给出人力资源部门一定的建议。相差不明显,下一步处理样本.

2024-11-08 20:19:09 2313

原创 python机器学习(02-混淆矩阵及精确率_召回率_F1值计算)

y_predict_A = ['恶性', '恶性', '恶性', '良性', '良性', '良性', '良性', '良性', '良性', '良性']y_predict_B = ['恶性', '恶性', '恶性', '恶性', '恶性', '恶性', '恶性', '恶性', '恶性', '良性']y_train = ['恶性', '恶性', '恶性', '恶性', '恶性', '恶性', '良性', '良性', '良性', '良性']

2024-10-15 20:13:14 839 2

原创 python机器学习(逻辑回归-癌症预估)

print(f'准确率: {estimator.score(x_test, y_test)}') # 预测前, 进行: 评估.print(f'准确率: {accuracy_score(y_test, y_predict)}') # 预测后, 进行: 评估.# 引出: 混淆矩阵, 精确率, 召回率, F1值(F1-score), AUC值(Area Under Curve), ROC曲线。特征提取, 特征预处理(归一化, 标准化), 特征降维, 特征选取, 特征组合。

2024-10-15 20:12:38 488

原创 python机器学习(线性回归_正则化处理)

3.2 拼接: x, x的平方, x的立方, x的四次方..., 把数据从 [[1], [2], [3]] => [[1, 1....], [2, 4, 8, 16, 32, 64...], [3, 9, 27...]] 一元线性回归 => 二元线性回归。X3 = np.hstack([X, X ** 2, X ** 3, X ** 4, X ** 5, X ** 6, X ** 7, X ** 8, X ** 9, X ** 10]) # 继续增加 最高次项。

2024-10-15 20:10:18 1063

原创 python机器学习(手写数字识别)

print(f'y的各分类数量: {Counter(y)}') # Counter({1: 4684, 7: 4401, 3: 4351, 9: 4188, 2: 4177, 6: 4137, 0: 4132, 4: 4072, 8: 4063, 5: 3795})img = img.reshape(1, -1) # 效果等价于: reshape(1, 784)print(f'x的维度: {x.shape}') # (42000, 784)

2024-10-15 20:08:58 1659

原创 python机器学习(网络搜索和交叉验证)

from sklearn.model_selection import train_test_split, GridSearchCV # 分割训练集和测试集的, 网格搜索 => 找最优参数组合。# 参1: 估计器对象, 传入1个估计器对象, 网格搜索后, 会自动返回1个功能更加强大(最优参数)的 估计器对象.第1次: 第1份是 验证集(测试集), 其它是训练集, 得出: 模型的预估正确率。# 参2: 网格搜索的参数, 传入1个字典, 键: 参数名, 值: 参数值列表.

2024-10-15 20:08:26 576

原创 机器学习python(鸢尾花案例)

x: x轴值, 这里是: 花瓣的长度, y: y轴值, 这里是: 花瓣的宽度, hue: 颜色(根据鸢尾花的标签来分组, 不同分组颜色不同), fit_reg=False, 不绘制拟合回归线.print(f'直接评估: 准确率: {estimator.score(x_test, y_test)}') # 传入: 测试集的特征, 测试集的标签.# 查看训练集的 特征, 因为特征是已经提取好的, 所以无需我们手动提取了, 即, 特征为: 花萼的长度, 花萼的宽度, 花瓣长度, 花瓣的宽度.

2024-10-10 22:36:32 1070

原创 快速排序算法(python)

如果元素小于等于基数 则放到左侧列表中。# 如果元素大于基数 则放到右侧列表中。# 如果索引等于基数索引 则跳过。:param arr: 需要排序的数组。:return: 已经排好序的元素。# 将左侧列表进行递归调用。# 将右侧列表进行递归调用。# 基数为最后一个元素。# 随便找一个数当基数。# 基数为第一个元素。

2024-09-26 21:21:46 224

原创 RFM模型案例(python面向对象版)

rfm_gb.columns = ['year', '会员ID', 'r', 'f', 'm'] # Recency: 最小购买间隔时间, Frequency: 购买频次, Monetary: 总金额。sheet_data[sheet_name]['max_year_date'] = sheet_data[sheet_name]['提交日期'].max()sheet_names = ['2015', '2016', '2017', '2018', '会员等级']

2024-09-26 21:16:57 817

原创 json操作(python)

json_str = "{'name':'乔峰', 'age':39, 'kongfu':'降龙十八掌'}" # 不支持 json#loads()# json_str2 = "{'name':'乔峰', 'age':39, 'kongfu':'降龙十八掌'}"json_str2 = '{"name":"乔峰", "age":39, "kongfu":"降龙十八掌"}'json_str = '{"name":"乔峰", "age":39, "kongfu":"降龙十八掌"}'

2024-09-24 09:39:44 746

原创 迭代器介绍(python)

print(f'my_list 占用内存: {sys.getsizeof(my_list)}') # 8448728。print(f'my_generator 占用内存: {sys.getsizeof(my_generator)}') # 192。一个类, 只要实现了 __next__() 和 __iter__(), 它就是: 迭代器类.# 案例1: 名词解释, 迭代: 逐个的获取容器中每个元素的过程称之为: 迭代, 也叫遍历.逐个遍历, 获取元素的, 目的是: 减少内存占用.

2024-09-24 09:33:36 541

原创 动态规划(三角形最小路径)

上一行下标加1 上一行下标相同。

2024-09-24 09:32:30 482

原创 动态规划(背包问题)

dp[i][j] = max(values[i-1] + dp[i-1][j-weights[i-1]], dp[i-1][j]) # 选择当前物品和不选择当前物品的最大值。#内层循环:for _ in range(capacity + 1)每次都会生成一个长度为capacity+1的列表,列表中的每个元素都初始化为0。dp[i][j] = dp[i-1][j] # 如果当前物品的重量大于背包容量,则不选择当前物品。if weights[i-1] <= j: # 如果当前物品的重量小于等于背包容量。

2024-09-24 09:30:53 391

原创 动态规划问题(不同的二叉搜索树)

左子树的不同二叉搜索树数量乘以右子树的不同二叉搜索树数量。# 如果节点数为1或0, 那么只有一种情况,即空树或者只有一个节点的数。# 左子树的节点数为j-1,右子树的节点数为i-j。# 对于每个数字i, 计算以i为根节点的二叉搜索树的数量。# 就是以j为根节点的不同二叉搜索树的数量。自定义函数,计算给定节点数n的不同二叉搜索树的数量。# 测试函数,输出4个节点的不同二叉搜索树的数量。:return: 不同的二叉搜索树的数量。# 返回n个节点的不同二叉搜索树的数量。# 遍历每个节点数,从1到n。

2024-09-24 09:30:20 475

原创 动态规划问题(打家劫舍)

遍历完成后,dp[size - 1]存储了抢劫到最后一个房屋为止能抢到的最大金额。# 计算当前房屋的最大金额:抢劫当前房屋或不抢劫当前房屋的最大值。# 抢劫当前房屋:dp[i-2] + nums[i]# 如果输入的列表为空 则没有房屋可以抢劫 返回 0。# 定义dp 用来记录 走到n家时抢到的最大总金额。# 不抢劫当前房屋:dp[i-1]# 获取列表长度 得出相应的可抢劫房间。# 如果 只有一个 返回该房间的金额。# 从第三个房屋开始遍历。# 初始化 列表长度。

2024-09-24 09:29:35 389

原创 python(滑动窗口算法)

如果在窗口中, 并且在窗口内的字符的位置比start大, 那么更新 start。# 平移窗口问题, 从头往后循环, 从循环位往前推导, 是否重复, 不重复则继续向后推导,平移窗口问题,从头往前循环,从循环位往前推导,是否重复,不重复则继续向后推导,解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。# 重复, 则从重复位之后的位置开始向后推导, 循环。

2024-09-24 09:28:42 374

原创 python计数排序

对计数列表进行累加操作,使得计数列表中的每个元素表示对应元素在排序后序列的最终位置。# 对计数列表中对应元素的值减一,以便下一个相同元素能放置在当前元素之前。print(f'计数后count:{count}')print(f'累加后count:{count}')# 根据其值在计数列表中找到对应的位置。print(f'排序前:{my_list}')# 将该元素放入结果列表中对应的位置。print(f'排序后:{result}')print(f'初始化:{count}')# 统计每个元素的出现次数。

2024-09-19 15:31:15 451

原创 python冒泡排序

稳定性这里指的是: 排序后, 相同元素的 相对位置 是否发生改变, 不改变 => 稳定性算法, 改变 => 不稳定性算法.for i in range(n - 1): # i的值: 0, 1, 2, 3。for j in range(n - 1 - i): # j的值: 4, 3, 2, 1。相邻运算两两比较, 大的往后走, 这样第一轮比较完毕后, 最大值就在最大索引处.# 到这里, 本轮比较就结束了, 打印: 该轮交换的总次数即可.依次类推, 每轮都找到1个"最大值", 直至结束.

2024-09-13 09:19:49 427

原创 python选择排序

第1轮: 假设索引为0的元素是最小值, 依次和后续的元素比较, 只要比该值小, 就记录住真正最小值的那个索引. 第1轮比较完毕后, 把最小值放到索引0的位置即可.第2轮: 假设索引为1的元素是最小值, 依次和后续的元素比较, 只要比该值小, 就记录住真正最小值的那个索引. 第2轮比较完毕后, 把次小值放到索引1的位置即可.第0轮 4 0和1, 0和2, 0和3, 0和4。重复上述的动作, 直至找到每个元素的合适的位置, 即: 排序成功.

2024-09-13 09:19:04 435

原创 python插入排序

把要排序的列表分成两部分, 即: 排好序的列表 和 待排序的列表, 然后从待排序的列表中, 依次取出每个值, 插入到 排好序的列表的 合适位置即可.第4轮 1 4和3, 4和2, 4和1, 4和0。for j in range(i, 0, -1): # j的值: 1, 2,1 3,2,1 4,3,2,1。for i in range(1, n): # i的值: 1, 2, 3, 4。

2024-09-13 09:18:27 330

原创 python二分查找

2. 定义函数: binary_search(my_list, item), 表示: 非递归版二分查找.# 1. 定义函数: binary_search(my_list, item), 表示: 递归版二分查找.# 走到这里, 说明要查找的元素 比 中值小, 去 中值前范围查找.# 走到这里, 说明要查找的元素 比 中值大, 去 中值后范围查找.1. 获取列表的中间位置的元素, 然后和要查找的元素进行比较.# 走这里, 比中值小, 去 中值前查找.# 走这里, 比中值大, 去 中值后查找.

2024-09-13 09:17:47 440

原创 python模拟二叉树

更推荐使用 链表的方式来存储, 每个节点由3部分组成, 分别是: 元素域(数值域), 左子树(地址域), 右子树(地址域)print(queue.pop(0)) # ['A', 'B', 'C'] => ['B', 'C'], 返回: 'A'# 2. 走到这里, 说明根节点存在, 我们需要找到 "缺失的节点", 就是新节点要添加的位置.print(queue.pop(0)) # ['B', 'C'] => ['C'], 返回: 'B'# 6.1 如果当前节点的 右子树不存在, 就把新节点添加到这里.

2024-09-10 11:21:32 481

原创 python模拟(单向)链表

每个节点由 1个数值域和1个地址域组成, 且每个节点的地址域指向下个节点的地址. 最后1个节点的地址域为: 第1个节点的地址。每个节点由 1个数值域和1个地址域组成, 且每个节点的地址域指向下个节点的地址. 最后1个节点的地址域为: None。每个节点由 1个数值域和2个地址域组成, 且每个节点的地址域分别指向前1个节点的地址 和 后1个节点的地址.第1个节点的(前)地址域为: 最后1个节点的地址, 最后1个节点的(后)地址域为: 第1个节点的地址.

2024-09-08 21:40:17 827

原创 python学生管理系统(文件读写)

格式为: "[{'name': '乔峰', 'gender': '男', 'age': 39, 'mobile': '131', 'des': '丐帮帮主'}, {学生信息}, {学生信息}...]"# 格式为: [{'name': '乔峰', 'gender': '男', 'age': 39, 'mobile': '131', 'des': '丐帮帮主'}, {学生信息}, {学生信息}...]# 格式: [{学生信息}, {学生信息}...], 即: [学生对象, 学生对象...]

2024-09-02 20:40:29 1137

原创 python模拟斗地主发牌

规则: 最后三张是底牌, 剩下的牌 根据索引和3取余, 余0 => 发给玩家1, 余1 => 发给玩家2, 余2 => 发给玩家3.play_A, play_B, play_C,dipai = [], [], [],[] # 3个玩家 + 底牌。点数: 3, 4, 5, 6, 7, 8, 9, 10, J, Q, K, A, 2。# 牌盒, 键: 索引, 值: 具体的牌. 规则: 牌越小, 索引越小.花色:['♠️', '♥️', '♦️', '♣️']# 先对玩家手中牌的编号, 升序排列.

2024-08-26 21:20:10 708

原创 python学生管理系统(列表嵌套字典)

例如: 数据格式 [{'id':'student001', 'name':'张三', 'tel': '111'}, {'id':'student002', 'name':'李四', 'tel': '222'}]print(f'学生编号: {stu["id"]}, 姓名: {stu["name"]}, 手机号: {stu["tel"]}')# stu学生信息格式: {'id': new_id, 'name': new_name, 'tel': new_tel}

2024-08-20 20:24:20 595

原创 SQL加强练习(50题)

- select c.cid, max(score) from course c, teacher t, sc where c.TId = t.TId and sc.CId = c.CId and t.Tname = '张三' GROUP BY c.cid;select c.cid, max(score) max_score from course c, teacher t, sc where c.TId = t.TId and sc.CId = c.CId and t.Tname = '张三';

2024-08-16 19:32:06 1105

原创 SQL练习(34题).sql

显示三列:category_id, category_name, 和 category_total_value, 如何计算库存商品总价:SUM(unit_price * units_in_stock)。-- 需求3: 查询每一个商品的product_name, category_name, quantity_per_unit, unit_price, units_in_stock 并且通过 unit_price 字段排序。# 3 条, 公司的id为: 4, 6, 20。# 看看哪些员工属于 华盛顿的.

2024-08-09 18:59:53 1350 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除