自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 多个机器学习模型对在线购物意向数据集的分类

多个机器学习模型对 Online Shoppers Purchasing Intention Dataset Data Set数据集的分类注:数据源网址https://archive.ics.uci.edu/ml/datasets/Online+Shoppers+Purchasing+Intention+Dataset注:源码地址https://github.com/HY1506698498/-/tree/main/%E8%B4%AD%E7%89%A9%E6%84%8F%E5%90%911.KNNi

2020-10-24 13:29:18 2512

原创 多个机器学习模型分别对wine数据集进行分类

1.KNNfrom sklearn import datasetswine = datasets.load_wine()X = wine.datay = wine.targetfrom sklearn.model_selection import train_test_splitX_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state = 666)from sklear

2020-10-16 18:55:52 3123 1

原创 python求交

【代码】python求交。

2023-12-26 10:50:27 420

原创 贷款违约-特征工程(一)

import numpy as npfrom matplotlib import pyplot as pltimport pandas as pdimport seaborn as snsimport warningswarnings.filterwarnings('ignore')data = pd.read_csv('train.csv')# data = pd.read_csv('C:\\Users\\hy\\天池\\贷款违约\\train.csv')data.head()

2020-12-14 13:01:35 494 1

原创 贷款违约-简单的数据分析

import numpy as npfrom matplotlib import pyplot as pltimport pandas as pdimport seaborn as snsimport warningswarnings.filterwarnings('ignore')data = pd.read_csv('train.csv')# data = pd.read_csv('C:\\Users\\hy\\天池\\贷款违约\\train.csv')data.head()

2020-12-06 17:41:45 2627

原创 逻辑回归模型——乳腺癌数据集

逻辑回归模型——乳腺癌数据集# 导入数据集from sklearn import datasetsimport warningswarnings.filterwarnings('ignore')df = datasets.load_breast_cancer()X = df.datay = df.targetX.shape # 查看属性维度X # 查看属性标签y # 查看类别标签# 划分训练集和测试集from sklearn.model_selection

2020-11-29 16:07:10 2959

原创 简单实现K-means聚类

一、 实验目的:加深对非监督学习的理解,掌握K-means聚类算法的设计方法。二、 实验要求及实验环境生成3个高斯分布数据(样本数据量至少1000),协方差矩阵为单位阵,并将其写入文件中;利用K-Means聚类方法对生成的数据进行聚类。三、 实验报告1.程序源代码import pandas as pdimport numpy as npimport matplotlib.pyplot as pltplt.rcParams['font.sans-serif']=['SimHei'] # 设

2020-11-23 08:52:34 551

原创 机器学习实验之多元线性分析

一、 实验目的:掌握最小二乘法求解代价函数优化、掌握梯度下降法,理解过拟合、克服过拟合的方法。二、 实验要求及实验环境对SOH5给出的数据利用高阶多项式函数拟合曲线; 并将多项式拟合转化为多元线性回归求解;用你得到的实验数据,解释过拟合。用不同数据量,不同超参数,不同的多项式阶数,比较实验效果。语言不限,可以用matlab,python。import scipy.io as sioimport numpy as npimport matplotlib.pyplot as pltplt.rc

2020-11-16 11:41:52 352

原创 1079.活字印刷(Python)

1079.活字印刷你有一套活字字模tiles,其中每个字模上都刻有一个字母tiles[i]。返回你可以印出的非空字母序列的数目。注意:本题中,每个活字字模只能使用一次。示例1:输入:“AAB”输出:8解释:可能的序列为“A”, “B”, “AA”, “AB”, “BA”, “AAB”, “ABA”, “BAA”。示例2:输入:“AAABBC”输出:188from itertools import permutationsdef func(tiles): n = len(ti

2020-11-16 11:26:36 219

原创 数据结构与Python之排序

数据结构与Python之排序1 冒泡排序  这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。  它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。  冒泡排序的算法思路在于对无序表进行多趟比较交换,每趟包括了多次两两相邻比较,并将逆序的数据项互换位置

2020-11-06 19:08:26 164

原创 1402.做菜顺序(Python多种方法)

1402.做菜顺序一个厨师收集了他n道菜的满意程度satisfaction ,这个厨师做出每道菜的时间都是1单位时间。一道菜的 「喜爱时间」系数定义为烹饪这道菜以及之前每道菜所花费的时间乘以这道菜的满意程度,也就是time[i] * satisfaction[i] 。请你返回做完所有菜 「喜爱时间」总和的最大值为多少。你可以按任意顺序安排做菜的顺序,你也可以选择放弃做某些菜来获得更大的总和。示例1:输入:satisfaction = [-1, -8, 0, 5, -9]输出:14解释:

2020-11-06 11:05:33 439

原创 419. 甲板上的战舰(Python)

419. 甲板上的战舰给定一个二维的甲板, 请计算其中有多少艘战舰。 战舰用 'X’表示,空位用 '.'表示。 你需要遵守以下规则:给你一个有效的甲板,仅由战舰或者空位组成。战舰只能水平或者垂直放置。换句话说,战舰只能由 1xN (1 行, N 列)组成,或者 Nx1 (N 行, 1 列)组成,其中N可以是任意大小。两艘战舰之间至少有一个水平或垂直的空位分隔 - 即没有相邻的战舰。示例 :X…X…X…X在上面的甲板中有2艘战舰。无效样例 :…XXXXX…X你不会收到这样的无效甲板

2020-11-06 11:02:17 819

原创 1051.高度检查器(Python)

1051.高度检查器学校在拍年度纪念照时,一般要求学生按照非递减的高度顺序排列。请你返回能让所有学生以非递减高度排列的最小必要移动人数。注意,当一组学生被选中时,他们之间可以以任何可能的方式重新排序,而未被选中的学生应该保持不动。示例:输入:heights = [1, 1, 4, 2, 1, 3]输出:3解释:当前数组:[1, 1, 4, 2, 1, 3]目标数组:[1, 1, 1, 2, 3, 4]在下标2处(从0开始计数)出现4vs1 ,所以我们必须移动这名学生。在下标4处(从0开始

2020-11-06 11:00:43 130

原创 728. 自除数(Python)

728. 自除数自除数 是指可以被它包含的每一位数除尽的数。例如,128 是一个自除数,因为 128 % 1 == 0,128 % 2 == 0,128 % 8 == 0。还有,自除数不允许包含 0 。给定上边界和下边界数字,输出一个列表,列表的元素是边界(含边界)内所有的自除数。示例 1:输入:上边界left = 1, 下边界right = 22输出: [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 15, 22]def func(left, right):

2020-11-06 10:59:24 2728

原创 对seaborn库的简单学习

对seaborn库的简单学习参考网站  https://seaborn.pydata.org/api.html  https://www.cntofu.com/book/172/README.mdseaborn简介  seaborn是在matplotlib基础上进行封装,seaborn就是让困难的东西更加简单。用Matplotlib最大的困难是其默认的各种参数,而Seaborn则完全避免了这一问题。seaborn是针对统计绘图的,一般来说,seaborn能满足数据分析90%的绘图需求,复杂的自定义

2020-10-30 20:13:16 550

原创 1475.商品折扣后的最终价格(Python)

1475.商品折扣后的最终价格给你一个数组prices ,其中prices[i]是商店里第i件商品的价格。商店里正在进行促销活动,如果你要买第i件商品,那么你可以得到与prices[j]相等的折扣,其中j是满足j > i且prices[j] <= prices[i]的最小下标 ,如果没有满足条件的j ,你将没有任何折扣。请你返回一个数组,数组中第i个元素是折扣后你购买商品i最终需要支付的价格。示例1:输入:prices = [8, 4, 6, 2, 3]输出:[4, 2, 4, 2

2020-10-30 19:36:18 979

原创 1304.和为零的N个唯一整数(Python)

1304.和为零的N个唯一整数给你一个整数n,请你返回任意一个由n个各不相同的整数组成的数组,并且这n个数相加和为0 。示例1:输入:n = 5输出:[-7, -1, 1, 3, 4]解释:这些数组也是正确的[-5, -1, 1, 2, 3],[-3, -1, 2, -2, 4]。示例2:输入:n = 3输出:[-1, 0, 1]示例3:输入:n = 1输出:[0]def func(n): dp = [0]*n for i in range(n//2):

2020-10-30 19:35:45 147

原创 657.机器人能否返回原点(Python)

657.机器人能否返回原点在二维平面上,有一个机器人从原点(0, 0)开始。给出它的移动顺序,判断这个机器人在完成移动后是否在(0, 0)处结束。移动顺序由字符串表示。字符move[i]表示其第i次移动。机器人的有效动作有R(右),L(左),U(上)和D(下)。如果机器人在完成所有动作后返回原点,则返回true。否则,返回false。注意:机器人“面朝”的方向无关紧要。 “R” 将始终使机器人向右移动一次,“L” 将始终向左移动等。此外,假设每次移动机器人的移动幅度相同。示例1:输入: “UD

2020-10-30 19:35:14 198

原创 832. 翻转图像(Python)

832. 翻转图像给定一个二进制矩阵 A,我们想先水平翻转图像,然后反转图像并返回结果。水平翻转图片就是将图片的每一行都进行翻转,即逆序。例如,水平翻转 [1, 1, 0] 的结果是 [0, 1, 1]。反转图片的意思是图片中的 0 全部被 1 替换, 1 全部被 0 替换。例如,反转 [0, 1, 1] 的结果是 [1, 0, 0]。示例 1:输入: [[1,1,0],[1,0,1],[0,0,0]]输出: [[1,0,0],[0,1,0],[1,1,1]]解释: 首先翻转每一行: [[0,

2020-10-30 19:34:40 246

原创 1323.6和9组成的最大数字(Python)

1323.6和9组成的最大数字给你一个仅由数字6和9组成的正整数num。你最多只能翻转一位数字,将6变成9,或者把9变成6 。请返回你可以得到的最大数字。示例1:输入:num = 9669输出:9969解释:改变第一位数字可以得到6669 。改变第二位数字可以得到9969 。改变第三位数字可以得到9699 。改变第四位数字可以得到9666 。其中最大的数字是9969 。示例2:输入:num = 9996输出:9999解释:将最后一位从6变到9,其结果9999是最大的数。def

2020-10-30 19:33:54 268

原创 338. 比特位计数(Python)

338. 比特位计数给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回。示例 1:输入: 2输出: [0,1,1]示例 2:输入: 5输出: [0,1,1,2,1,2]def func(num): dp = [0]*(num+1) for i in range(1, num+1): dp[i] = dp[i & (i-1)]+1 # for i in range(n

2020-10-30 19:33:26 344

原创 转换成小写字母(Python)

转换成小写字母实现函数 ToLowerCase(),该函数接收一个字符串参数 str,并将该字符串中的大写字母转换成小写字母,之后返回新的字符串。示例 1:输入: “Hello”输出: “hello”示例 2:输入: “here”输出: “here”示例 3:输入: “LOVELY”输出: “lovely”def func(str): return str.lower()print(func("Hello"))...

2020-10-21 22:43:16 677

原创 1460. 通过翻转子数组使两个数组相等(Python)

1460. 通过翻转子数组使两个数组相等给你两个长度相同的整数数组 target 和 arr 。每一步中,你可以选择 arr 的任意 非空子数组 并将它翻转。你可以执行此过程任意次。如果你能让 arr 变得与 target 相同,返回 True;否则,返回 False 。示例 1:输入:target = [1,2,3,4], arr = [2,4,1,3]输出:true解释:你可以按照如下步骤使 arr 变成 target:1- 翻转子数组 [2,4,1] ,arr 变成 [1,4,2,3]

2020-10-21 22:42:32 172

原创 各位相加(Python)

258. 各位相加给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。示例:输入: 38输出: 2解释: 各位相加的过程为:3 + 8 = 11, 1 + 1 = 2。 由于 2 是一位数,所以返回 2。def func(num): # while len(str(num)) != 1: # j = 0 # for i in str(num): # j += int(i) # num = j

2020-10-19 22:35:34 1987

原创 子数组和排序后的区间和(Python)

1508.子数组和排序后的区间和给你一个数组nums ,它包含n个正整数。你需要计算所有非空连续子数组的和,并将它们按升序排序,得到一个新的包含n * (n + 1) / 2个数字的数组。请你返回在新数组中下标为left到right (下标从1开始)的所有数字和(包括左右端点)。由于答案可能很大,请你将它对10 ^ 9 + 7取模后返回。示例1:输入:nums = [1, 2, 3, 4], n = 4, left = 1, right = 5输出:13解释:所有的子数组和为1, 3, 6

2020-10-19 21:28:21 251

原创 全排列(Python)

46. 全排列给定一个 没有重复 数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]from itertools import permutationsdef func(nums): arr = [] for i in permutations(nums, len(nums)): arr.append(list(i)) r

2020-10-19 21:27:43 174

原创 复写零(Python)

1089. 复写零给你一个长度固定的整数数组 arr,请你将该数组中出现的每个零都复写一遍,并将其余的元素向右平移。注意:请不要在超过该数组长度的位置写入元素。要求:请对输入的数组 就地 进行上述修改,不要从函数返回任何东西。示例 1:输入:[1,0,2,3,0,4,5,0]输出:null解释:调用函数后,输入的数组将被修改为:[1,0,0,2,3,0,0,4]示例 2:输入:[1,2,3]输出:null解释:调用函数后,输入的数组将被修改为:[1,2,3]def func(arr)

2020-10-16 15:08:51 167

原创 爬楼梯(Python)

70. 爬楼梯假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1. 1 阶 + 1 阶 + 1 阶2. 1 阶 + 2 阶3. 2 阶 + 1 阶def func(n): if n < 3:

2020-10-16 15:08:19 1636

原创 棒球比赛(Python)

682. 棒球比赛你现在是棒球比赛记录员。给定一个字符串列表,每个字符串可以是以下四种类型之一:1.整数(一轮的得分):直接表示您在本轮中获得的积分数。2. “+”(一轮的得分):表示本轮获得的得分是前两轮有效 回合得分的总和。3. “D”(一轮的得分):表示本轮获得的得分是前一轮有效 回合得分的两倍。4. “C”(一个操作,这不是一个回合的分数):表示您获得的最后一个有效 回合的分数是无效的,应该被移除。每一轮的操作都是永久性的,可能会对前一轮和后一轮产生影响。你需要返回你在所有回合中得分

2020-10-16 15:07:42 313

原创 数组形式的整数加法(Python)

989.数组形式的整数加法对于非负整数X而言,X的数组形式是每位数字按从左到右的顺序形成的数组。例如,如果X = 1231,那么其数组形式为[1, 2, 3, 1]。给定非负整数X的数组形式A,返回整数X + K的数组形式。示例1:输入:A = [1, 2, 0, 0], K = 34输出:[1, 2, 3, 4]解释:1200 + 34 = 1234示例2:输入:A = [2, 7, 4], K = 181输出:[4, 5, 5]解释:274 + 181 = 455示例3:输入:

2020-10-16 15:06:59 891

原创 数组拆分 I(Python)

561. 数组拆分 I给定长度为 2n 的数组, 你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), …, (an, bn) ,使得从1 到 n 的 min(ai, bi) 总和最大。示例 1:输入: [1,4,3,2]输出: 4解释: n 等于 2, 最大总和为 4 = min(1, 2) + min(3, 4).def func(nums): nums.sort() n = len(nums) res = 0 if n <

2020-10-16 15:06:16 354 1

原创 种花问题(Python)

605. 种花问题假设你有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花卉不能种植在相邻的地块上,它们会争夺水源,两者都会死去。给定一个花坛(表示为一个数组包含0和1,其中0表示没种植花,1表示种植了花),和一个数 n 。能否在不打破种植规则的情况下种入 n 朵花?能则返回True,不能则返回False。示例 1:输入: flowerbed = [1,0,0,0,1], n = 1输出: True示例 2:输入: flowerbed = [1,0,0,0,1], n = 2

2020-10-16 15:05:40 923

原创 排列硬币(Python)

441. 排列硬币你总共有 n 枚硬币,你需要将它们摆成一个阶梯形状,第 k 行就必须正好有 k 枚硬币。给定一个数字 n,找出可形成完整阶梯行的总行数。n 是一个非负整数,并且在32位有符号整型的范围内。示例 1:n = 5硬币可排列成以下几行:¤¤ ¤¤ ¤因为第三行不完整,所以返回2.示例 2:n = 8硬币可排列成以下几行:¤¤ ¤¤ ¤ ¤¤ ¤因为第四行不完整,所以返回3.import mathdef func(n):return int(math.sq

2020-10-16 15:04:55 438

原创 第N个泰波那契数(python)

1137.第N个泰波那契数泰波那契序列Tn定义如下:T0 = 0, T1 = 1, T2 = 1, 且在n >= 0的条件下Tn + 3 = Tn + Tn + 1 + Tn + 2给你整数n,请返回第n个泰波那契数Tn的值。示例1:输入:n = 4输出:4解释:T_3 = 0 + 1 + 1 = 2T_4 = 1 + 1 + 2 = 4示例2:输入:n = 25输出:1389537def func(n):if n < 3:return nx, y, z = 0,

2020-10-16 15:04:10 696

原创 跳水板(python)

面试题 16.11. 跳水板你正在使用一堆木板建造跳水板。有两种类型的木板,其中长度较短的木板长度为shorter,长度较长的木板长度为longer。你必须正好使用k块木板。编写一个方法,生成跳水板所有可能的长度。返回的长度需要从小到大排列。示例 1输入:shorter = 1longer = 2k = 3输出: [3,4,5,6]解释:可以使用 3 次 shorter,得到结果 3;使用 2 次 shorter 和 1 次 longer,得到结果 4 。以此类推,得到最终结果。de

2020-10-16 15:03:31 289

原创 去掉最低工资和最高工资后的工资平均值(python)

1491.去掉最低工资和最高工资后的工资平均值给你一个整数数组salary ,数组里每个数都是唯一的,其中salary[i]是第i个员工的工资。请你返回去掉最低工资和最高工资以后,剩下员工工资的平均值。示例1:输入:salary = [4000, 3000, 1000, 2000]输出:2500.00000解释:最低工资和最高工资分别是1000和4000 。去掉最低工资和最高工资以后的平均工资是(2000 + 3000) / 2 = 2500示例2:输入:salary = [1000, 20

2020-10-15 19:55:10 560

原创 判断能否形成等差数列(python)

1502.判断能否形成等差数列给你一个数字数组arr 。如果一个数列中,任意相邻两项的差总等于同一个常数,那么这个数列就称为等差数列 。如果可以重新排列数组形成等差数列,请返回true ;否则,返回false 。示例1:输入:arr = [3, 5, 1]输出:true解释:对数组重新排序得到[1, 3, 5]或者[5, 3, 1] ,任意相邻两项的差分别为2或 - 2 ,可以形成等差数列。示例2:输入:arr = [1, 2, 4]输出:false解释:无法通过重新排序得到等差数列。

2020-10-15 19:54:29 2074

原创 上升下降字符串(python)

1370.上升下降字符串给你一个字符串s ,请你根据下面的算法重新构造字符串:从s中选出最小的字符,将它接在结果字符串的后面。从s剩余字符中选出最小的字符,且该字符比上一个添加的字符大,将它接在结果字符串后面。重复步骤2 ,直到你没法从s中选择字符。从s中选出最大的字符,将它接在结果字符串的后面。从s剩余字符中选出最大的字符,且该字符比上一个添加的字符小,将它接在结果字符串后面。重复步骤5 ,直到你没法从s中选择字符。重复步骤1到6 ,直到s中所有字符都已经被选过。在任何一步中,如果最小或者

2020-10-15 19:53:54 233

原创 两个数组的交集II(python)

350.两个数组的交集II给定两个数组,编写一个函数来计算它们的交集。示例1:输入:nums1 = [1, 2, 2, 1], nums2 = [2, 2]输出:[2, 2]示例2:输入:nums1 = [4, 9, 5], nums2 = [9, 4, 9, 8, 4]输出:[4, 9]def func(nums1, nums2): dp = [] for i in nums1: if i in nums2: dp.append(i)

2020-10-15 19:53:05 133

原创 三角形的最大周长(python)

976.三角形的最大周长给定由一些正数(代表长度)组成的数组A,返回由其中三个长度组成的、面积不为零的三角形的最大周长。如果不能形成任何面积不为零的三角形,返回0。示例1:输入:[2, 1, 2]输出:5示例2:输入:[1, 2, 1]输出:0示例3:输入:[3, 2, 3, 4]输出:10示例4:输入:[3, 6, 2, 3]输出:8def func(A): A.sort(reverse=True) for i in range(len(A) - 2):

2020-10-15 19:52:32 641

空空如也

空空如也

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

TA关注的人

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