[机器学习]sklearn入门指南(1)
简介
scikit-learn(简称sklearn)是一个开源的Python机器学习库,它提供了简单而高效的工具用于数据挖掘和数据分析,并且拥有一个活跃的开发社区。它建立在NumPy、SciPy和matplotlib这些科学计算库之上,旨在提供一致且可复用的API。
中文社区
安装
pip install scikit-learn
模型训练与预测
步骤
-
导入必要的库:首先需要导入sklearn中你需要用到的模块,以及其他可能需要的库,如numpy、pandas等。
import pandas as pd from sklearn.ensemble import RandomForestRegressor from sklearn.metrics import mean_absolute_error from sklearn.model_selection import train_test_split
-
加载数据:从数据路径中加载你的训练数据集
iowa_file_path = '../input/train.csv' home_data = pd.read_csv(iowa_file_path)
-
划分数据集:将训练数据集划分为训练集和验证集。
y = home_data.SalePricefeatures = ['LotArea', 'YearBuilt', '1stFlrSF', '2ndFlrSF', 'FullBath', 'BedroomAbvGr', 'TotRmsAbvGrd'] X = home_data[features]train_X, val_X, train_y, val_y = train_test_split(X, y, random_state=1)
-
选择模型:选择一个适合你问题的模型,比如决策树、随机森林、支持向量机等。
rf_model = RandomForestRegressor(random_state=1)
-
训练模型:使用训练集数据训练模型。
rf_model.fit(train_X, train_y)
-
模型预测和评估:使用验证集数据进行预测,然后评估模型的性能。
rf_val_predictions = rf_model.predict(val_X) rf_val_mae = mean_absolute_error(rf_val_predictions, val_y)
-
模型优化:根据模型评估的结果,调整模型参数或选择不同的模型进行优化。
这里通过遍历优化max_leaf_nodesdef cal_mae(mln,train_X,val_X,train_y,val_y):rf_model = RandomForestRegressor(random_state=1, max_leaf_nodes = mln)rf_model.fit(train_X, train_y)rf_val_predictions = rf_model.predict(val_X)rf_val_mae = mean_absolute_error(rf_val_predictions, val_y)return rf_val_mae for i in [5,10,25,50,100,150,200]:print(cal_mae(i,train_X,val_X,train_y,val_y))
-
预测新数据:使用筛选出来的较优参数用所有训练集训练一个好的模型,对测试数据进行预测。
rf_model_on_full_data = RandomForestRegressor(random_state=1)rf_model_on_full_data.fit(X,y)test_data_path = '../input/test.csv' test_data = pd.read_csv(test_data_path) test_X = test_data[features]test_preds = rf_model_on_full_data.predict(test_X)
完整代码
import pandas as pd
from sklearn.ensemble import RandomForestRegressor
from sklearn.metrics import mean_absolute_error
from sklearn.model_selection import train_test_splitiowa_file_path = '../input/train.csv'
home_data = pd.read_csv(iowa_file_path)y = home_data.SalePrice
features = ['LotArea', 'YearBuilt', '1stFlrSF', '2ndFlrSF', 'FullBath', 'BedroomAbvGr', 'TotRmsAbvGrd']
X = home_data[features]
train_X, val_X, train_y, val_y = train_test_split(X, y, random_state=1)rf_model = RandomForestRegressor(random_state=1)
rf_model.fit(train_X, train_y)
rf_val_predictions = rf_model.predict(val_X)
rf_val_mae = mean_absolute_error(rf_val_predictions, val_y)print("Validation MAE for Random Forest Model: {:,.0f}".format(rf_val_mae))rf_model_on_full_data = RandomForestRegressor(random_state=1)
rf_model_on_full_data.fit(X,y)test_data_path = '../input/test.csv'
test_data = pd.read_csv(test_data_path)
test_X = test_data[features]test_preds = rf_model_on_full_data.predict(test_X)
结果保存
to_csv
函数可以把DataFrame
结果保存成csv文件
output = pd.DataFrame({'Id': test_data.Id,'SalePrice': test_preds})
output.to_csv('submission.csv', index=False)
模型保存与读取
持久化模型:将训练好的模型保存到文件中,以便以后使用。
- joblib是一个用于Python的库,它提供了一种高效的序列化方式,特别适合于存储和加载大型NumPy数组、Pandas数据帧(DataFrames)以及机器学习模型等Python对象。
- joblib特别优化了对大数据的处理,使用内存映射文件(memory-mapped files)来处理大型数据集,这使得它在处理大型数据时比Python的pickle模块更加高效。
from joblib import dump, load
dump(best_model, 'model.joblib')
加载模型:从文件中加载模型,用于后续的预测或评估。
loaded_model = load('model.joblib')
缺失值处理
在选择处理缺失值的方法时,重要的是要理解数据缺失的原因,以及缺失值对模型可能产生的影响。有时候,结合多种方法,或者对不同的处理策略进行实验,可以帮助找到最佳的解决方案。
删除含有缺失值的列
这种方法是最简单的处理缺失值的方式,即直接删除任何含有缺失值的列。
优点:操作简单,可以快速减少数据集中的缺失值问题。
缺点:如果被删除的列中大部分值都是完整的,那么模型就会失去很多有用信息。
- 极端情况下,比如一个数据集有10,000行,其中一列只缺失了一个值,这种方法会将整个列删除,这可能会导致信息的大量丢失。
m = []
for col in X_train.columns:if X_train[col].isnull().sum() != 0:m.append(col)
print(m)reduced_X_train = X_train.drop(m,axis = 1)
插值
插补是一种更为复杂的处理缺失值的方法,它通过填充缺失值来处理。
- 例如,我们可以将每列的缺失值替换为该列的平均值。
优点:虽然插补的值在大多数情况下不会完全准确,但通常比直接删除整个列能得到更准确的模型结果。
缺点:插补基于某些假设(如均值、中位数等),这些假设可能不总是成立。且某些插补方法(如KNN)可能需要较高的计算成本。
插补可以基于多种不同的策略,如均值、中位数、众数或者使用更复杂的算法如K-最近邻(KNN)来估计缺失值。
SimpleImputer是用于缺失值插补的转换器。
class sklearn.impute.SimpleImputer(*, missing_values=nan, strategy='mean', fill_value=None, verbose=0, copy=True, add_indicator=False)
SimpleImputer提供了两个主要的方法:fit(X[, y])和fit_transform(X[, y])。
fit(X[, y])
- 拟合插补:fit方法用于在数据集X上学习缺失值的插补策略。对于数值型数据,这通常意味着计算所有非缺失值的均值、中位数或众数;对于分类数据,则可能是最频繁出现的类别。
- 不转换数据:fit方法不会改变或转换数据,它仅仅学习插补的参数(如均值、中位数等)。
- 返回值:fit方法返回SimpleImputer对象本身,这个对象已经根据X的数据更新了其内部状态,存储了用于插补的统计值。
fit_transform(X[, y])
- 拟合并转换数据:fit_transform方法首先执行fit操作,学习缺失值的插补策略,然后立即应用这个策略来转换数据集X,填充所有的缺失值。
- 返回转换后的数据:与fit方法不同,fit_transform方法返回转换后的数据集,其中所有的缺失值已经被插补。
from sklearn.impute import SimpleImputerimputer = SimpleImputer()
imputed_X_train = pd.DataFrame(imputer.fit_transform(X_train))
imputed_X_valid = pd.DataFrame(imputer.transform(X_valid))# 只用fit一次# 插补会删除列名称,需要重新补上
imputed_X_train.columns = X_train.columns
imputed_X_valid.columns = X_valid.columns
插补的扩展
插补是处理缺失值的标准方法,通常效果不错。但是,插补的值可能会系统地高于或低于它们实际的值(这些值在数据集中没有被收集)。或者,含有缺失值的行在其他方面可能是独特的。在这种情况下,模型如果能够考虑哪些值最初是缺失的,将会做出更好的预测。
这种方法在传统的插补基础上进行了扩展。
- 首先像以前一样对缺失值进行插补。
- 然后对于原始数据集中有缺失值的每一列,添加一个新列来显示是否插补。
- 这个新列用来表明原始数据中哪些位置是缺失的,而哪些是后来插补的。
这种方法的优点在于,它不仅保留了数据的完整性,还提供了额外的信息,这可能会帮助模型捕捉到缺失值背后的模式或趋势。
imputer = SimpleImputer()
imputed_X_train = pd.DataFrame(imputer.fit_transform(X_train))# 添加一个新列来标记插补的位置
for column in X_train.columns:# 检查原始数据集中哪些值是缺失的missing_mask = X_train[column].isnull()# 在插补后的DataFrame中添加一个新列来标记这些缺失值imputed_X_train [f'{column}_missing'] = missing_mask.astype(int)
来自Learn Tutorial Intermediate Machine Learning
相关文章:
[机器学习]sklearn入门指南(1)
简介 scikit-learn(简称sklearn)是一个开源的Python机器学习库,它提供了简单而高效的工具用于数据挖掘和数据分析,并且拥有一个活跃的开发社区。它建立在NumPy、SciPy和matplotlib这些科学计算库之上,旨在提供一致且可…...
GitCode 光引计划投稿 | GoIoT:开源分布式物联网开发平台
GoIoT 是基于Gin 的开源分布式物联网(IoT)开发平台,用于快速开发,部署物联设备接入项目,是一套涵盖数据生产、数据使用和数据展示的解决方案。 GoIoT 开发平台,它是一个企业级物联网平台解决方案ÿ…...
【R语言遥感技术】“R+遥感”的水环境综合评价方法
R语言在遥感领域中是一个强大的工具,它提供了一系列的功能和优势,使得遥感数据的分析和应用更加高效和灵活。以下是R语言在遥感中的具体应用: 数据处理:R语言可以处理和清洗遥感数据,包括数据转换、滤波处理、去噪和数…...
QT--信号与槽机制
什么是信号与槽? 在 Qt 中,信号与槽是一种用于对象间通信的机制。它使得一个对象可以通知其他对象某个事件的发生,而不需要直接知道这些对象的具体实现。这种机制非常适合事件驱动的编程模型,如用户界面交互。 1. 信号ÿ…...
Windbg常用命令
禁止垃圾信息 ed nt!Kd_STORMINIPORT_Mask 0 ed nt!Kd_SXS_Mask 0 ed nt!Kd_FUSION_Mask 0 命令大全: 命令 - Windows drivers | Microsoft Learn .reload /f 重新加载符号表 常用命令 继续执行: g单步过/步入: p, t退出: q查看调用堆栈: k, kb列出模块: lm, lml设置断…...
YOLO11改进-模块-引入多分支卷积InceptionDepthwiseConvolution(IDC) 解决多尺度、小目标
YOLOv11 的设计目标是通过高效的网络结构,在保证准确率的前提下,最大化推理速度。传统卷积操作虽然能够捕获局部信息,但在处理大规模场景或复杂背景时,较小的感受野可能导致细节信息不足,影响模型的检测能力。为了解决…...
国标GB28181-2022平台EasyGBS:安防监控中P2P的穿透方法
在安防监控领域,P2P技术因其去中心化的特性而受到关注,尤其是在远程视频监控和数据传输方面。P2P技术允许设备之间直接通信,无需通过中央服务器,这在提高效率和降低成本方面具有明显优势。然而,P2P技术在实际应用中也面…...
C++软件设计模式之外观(Facade)模式
C软件设计模式中的外观(Facade)模式 1. 外观模式的定义 外观模式(Facade Pattern)是一种结构型设计模式,它为一个复杂的子系统提供一个简化的接口。外观模式通过一个统一的接口来访问子系统的多个组成部分࿰…...
Spring Boot 项目创建
创建一个新项目: 打开 Spring Initializr 网址:https://start.spring.io/ ,然后创建一个新项目: springboot3.3.5_jdk17: Project(Maven)编程语言(Java 17)Spring Boo…...
SharpDX 从入门到精通:全面学习指南
摘要: 本文旨在为想要深入学习 SharpDX 的开发者提供一份全面的指南。从 SharpDX 的基础概念入手,逐步深入探讨其在不同场景下的应用,包括图形渲染、音频处理等,并结合大量详细的代码案例帮助读者更好地理解和掌握 SharpDX 的使用…...
【Web】2024“国城杯”网络安全挑战大赛决赛题解(全)
最近在忙联通的安全准入测试,很少有时间看CTF了,今晚抽点时间回顾下上周线下的题(期末还没开始复习😢) 感觉做渗透测试一半的时间在和甲方掰扯&水垃圾洞,没啥惊喜感,还是CTF有意思 目录 Mountain ez_zhuawa 图…...
操作系统(24)提高磁盘I/O速度的途径
前言 操作系统提高磁盘I/O速度的途径多种多样,这些途径旨在减少磁盘访问的延迟和开销,提高数据传输的效率。 一、磁盘高速缓存(Disk Cache) 磁盘高速缓存是一种在内存中为磁盘数据设置的缓冲区,用于存储磁盘中某些盘块…...
en3d 部署笔记
目录 依赖项: Nvdiffrast 编译代码和frpc_linux_amd64 下载地址: tiny-cuda-nn 安装 ICON算法库依赖 icon依赖 kaolin infer_normal_fixpose 解决 报错了,推荐的安装方法: kaolin测试: ICON依赖项 requirements.txt 改进 voxelize_cuda 安装ok 运行后: 修改代…...
c++类型判断和获取原始类型
std::traits学习 类型判断和退化(获取原始类型)的原理就是利用模板的特例化。根据调用模板的特例化,在特例化模板中实现判断的逻辑或者退化的逻辑。 一、类型判断 判断整型数据的模板类 #include <iostream> namespace zk {templa…...
医疗行业 UI 设计系列合集(一):精准定位
在当今数字化时代,医疗行业与信息技术的融合日益紧密,UI 设计在其中扮演着至关重要的角色。精准定位的 UI 设计能够显著提升医疗产品与服务的用户体验,进而对医疗效果和患者满意度产生积极影响。 一、医疗行业 UI 设计的重要性概述 医疗行业…...
EasyExcel停更,FastExcel接力
11月6日消息,阿里巴巴旗下的Java Excel工具库EasyExcel近日宣布,将停止更新,未来将逐步进入维护模式,将继续修复Bug,但不再主动新增功能。 EasyExcel以其快速、简洁和解决大文件内存溢出的能力而著称,官方…...
java agent的使用【通俗易懂版】
一、静态代理Agent 1.生成Agent的jar包 (1)创建Agent项目,引入javassist.jar包 (2)编写premain方法 import java.lang.instrument.Instrumentation;public class Agent1 {public static void premain(Stri…...
010 Qt_输入类控件(LineEdit、TextEdit、ComboBox、SpinBox、DateTimeEdit、Dial、Slider)
文章目录 前言一、QLineEdit1.简介2.常见属性及说明3.重要信号及说明4.示例一:用户登录界面5.示例二:验证两次输入的密码是否一致显示密码 二、TextEdit1.简介2.常见属性及说明3.重要信号及说明4.示例一:获取多行输入框的内容5.示例二&#x…...
C++设计模式:享元模式 (附文字处理系统中的字符对象案例)
什么是享元模式? 享元模式是一个非常实用的结构型设计模式,它的主要目的是节省内存,尤其在需要创建大量相似对象时。 通俗解释: 想象我们在写一本书,每个字母都需要表示出来。如果每个字母都单独用对象表示ÿ…...
机器学习之 KNN 算法
一、引言 在机器学习领域中,K 近邻(K-Nearest Neighbors,KNN)算法是一种简单而有效的分类和回归算法。它的基本思想是根据数据点之间的距离来确定它们的相似性,并根据其最近的邻居的类别或数值来预测新数据点的类别或…...
矩阵:Input-Output Interpretation of Matrices (中英双语)
矩阵的输入-输出解释:深入理解与应用 在线性代数中,矩阵与向量的乘积 ( y A x y Ax yAx ) 是一个极为重要的关系。通过这一公式,我们可以将矩阵 ( A A A ) 看作一个将输入向量 ( x x x ) 映射到输出向量 ( y y y ) 的线性变换。在这种…...
ctfhub技能树——disable_functions
LD_PRELOAD 来到首页发现有一句话直接就可以用蚁剑连接 根目录里有/flag但是不能看;命令也被ban了就需要绕过了 绕过工具在插件市场就可以下载 如果进不去的话 项目地址: #本地仓库;插件存放 antSword\antData\plugins 绕过选择 上传后我们点进去可以看到多了一个绕过的文件;…...
Web3.0安全开发实践:探索比特币DeFi生态中的PSBT
近年来,部分签名比特币交易(PSBT)在比特币生态系统中获得了显著关注。随着如Ordinal和基于铭文的资产等创新的兴起,安全的多方签名和复杂交易的需求不断增加,这使得PSBT成为应对比特币生态不断发展中不可或缺的工具。 …...
【Yonghong 企业日常问题 06】上传的文件不在白名单,修改allow.jar.digest属性添加允许上传的文件SH256值?
文章目录 前言问题描述问题分析问题解决1.允许所有用户上传驱动文件2.如果是想只上传白名单的驱动 前言 该方法适合永洪BI系列产品,包括不限于vividime desktop,vividime z-suit,vividime x-suit产品。 问题描述 当我们连接数据源的时候&a…...
Lecture 6 Isolation System Call Entry
文章目录 一 重要的函数清单1 write(user/usys.s) 一 usertrap函数(C code) Lecture6 Isolation & System Call Entry视频链接 对应XV6 Book Chapter 4 Traps and device drivers 一 重要的函数清单 1 write(user/usys.s) .global write write:li a7, SYS_writeecallret…...
重温设计模式----装饰模式
文章目录 装饰模式定义UML 图其主要优点包括:装饰模式的主要角色有:C 代码示例总结 装饰模式定义 动态的给一个对象添加一些额外的职责,就增加功能来说,装饰模式必生成子类更加灵活 装饰模式(Decorator Pattern&…...
图像处理-Ch2-空间域的图像增强
Ch2 空间域的图像增强 文章目录 Ch2 空间域的图像增强Background灰度变换函数(Gray-level Transformation)对数变换(Logarithmic)幂律变换(Power-Law)分段线性变换函数(Piecewise-Linear)对比度拉伸(Contrast-Stretching)灰度级分层(Gray-level Slicing) 直方图处理(Histogram …...
uniapp Native.js原生arr插件服务发送广播到uniapp页面中
前言 最近搞了个设备,需求是读取m1卡,厂家给了个安卓原生demo,接入arr插件如下,接入后发现还是少了一部分代码,设备服务调起后触发刷卡无法发送到uniapp里。 中间是一些踩坑记录,最后面是解决办法…...
重温设计模式--1、组合模式
文章目录 1 、组合模式(Composite Pattern)概述2. 组合模式的结构3. C 代码示例4. C示例代码25 .应用场景 1 、组合模式(Composite Pattern)概述 定义:组合模式是一种结构型设计模式,它允许你将对象组合成…...
关于鸿蒙架构feature
鸿蒙feature层模块架构 model:定义数据类型,进行接口请求 view:视图层 写UI viewModel:控制层 关于逻辑和请求调用 page页...
CentOS下,离线安装vscode的步骤;
前置条件: 1.CentOS7; 步骤: 1.下载vscode指定版本,例如; 例如 code-1.83.1-1696982959.el7.x86_64.rpm 2.使用下面命令: sudo rpm -ivh code-1.83.1-1696982959.el7.x86_64.rpm 其他: 卸载vscode的命…...
.NET周刊【12月第3期 2024-12-15】
国内文章 重磅推出 Sdcb Chats:一个全新的开源大语言模型前端 https://www.cnblogs.com/sdcb/p/18597030/sdcb-chats-intro Sdcb Chats是一个新推出的开源大语言模型前端,旨在提升用户交互体验,并填补市场上基于.NET的前端空白。它引入树状…...
操作系统(23)外存的存储空间的管理
一、外存的基本概念与特点 定义:外存,也称为辅助存储器,是计算机系统中用于长期存储数据的设备,如硬盘、光盘、U盘等。与内存相比,外存的存储容量大、成本低,但访问速度相对较慢。特点:外存能够…...
vue3中多层级路由缓存失效问题
问题现象: 在项目中路由嵌套了超过两层后,使用keep-alive对路由进行页面的缓存,发现并不能生效。 使用的路由结构: // 一级路由path: menu1,component: () > import(/views/demos/nested/menu1/index), // Parent router-vie…...
Kerberoasting 离线爆破攻击
当域用户请求某个域内服务后,kdc 通常会返回一个加密的 st 服务票据,此 st 服务票据被服务 hash 加密,当我们将使用密码字典派生的多个 hash 值来尝试解密 st 服务票据,如果能够揭秘成功,则说明字典中存在目标服务账号…...
无人机双目视觉鲁棒定位方法!
无人机双目视觉鲁棒定位方法是一种先进的定位技术,它利用两个摄像头(即双目相机)模拟人的视觉系统,通过视差来确定物体的位置。这种方法在无人机定位领域具有广泛的应用前景,特别是在GPS信号拒止或弱纹理环境中&#x…...
vulnhub靶场——Log4j2
第一步:搭建靶场环境 #开启环境 cd vulhub/log4j/CVE-2021-44228 docker-compose up -d 来到网站首页 第二步:搭建一个dnslog平台上获取我们注入的效果 第三步:发现 /solr/admin/cores?action 这里有个参数可以传 我们可以看到留下了访问记录并且前面的参数被执行后给我们回…...
第十六章 C++ 字符串
C 字符串 C 提供了以下两种类型的字符串表示形式: C 风格字符串C 引入的 string 类类型 C 风格字符串 C 风格的字符串起源于 C 语言,并在 C 中继续得到支持。字符串实际上是使用 null 字符 终止的一维字符数组。因此,一个以 null 结尾的…...
centos权限大集合,覆盖多种权限类型,解惑权限后有“. + t s”问题!
在 CentOS 系统中,权限管理是操作系统的核心功能之一,确保不同用户和进程对文件、目录以及设备的访问被合理控制。 权限系统主要包括传统的 Unix 权限模型、特殊权限(SetUID、SetGID、Sticky 位)和更精细的访问控制列表ÿ…...
【k8s】访问etcd
1. 配置 export.sh export ETCDCTL_API3 # Kubernetes 1.13 使用 API v3 export ETCDCTL_ENDPOINTShttps://[2023:145:246:270::3]:2379 # etcd API endpoint,通常为集群内的 etcd 服务地址 export ETCDCTL_CACERT/etc/kubernetes/certs/ca.crt # CA 证书文件 …...
【教程宝典】基于“遥感+”蓝碳储量估算、红树林信息提取实践技术应用与科研论文写作
“遥感”助推蓝碳生态系统碳储量调查简介(1)蓝碳生态系统碳储量研究背景 红树林、海草床和盐沼是海岸带最具固碳效率的三大生态系统,统称为“蓝色碳汇”。虽然这三类生态系统的覆盖面积不到海床的0.5%,植物生物量只占陆地植物生物量的0.05%,…...
运动健康中的实体和关系
1. 实体类别 1.1 个人健康相关实体 个人(Person):参与体育活动的个体,如运动员、健身爱好者、患者等。健康状况(HealthStatus):描述个人的身体状态,如体重、血压、心率、身体质量指…...
【进阶编程】MVC和MVVM实现前后端分离的实现
在 WPF 开发中,通常使用 MVVM(Model-View-ViewModel)架构来分离视图和业务逻辑,但在某些情况下,你可能希望将 MVC(Model-View-Controller)模式与 MVVM 结合使用。这种结合有时是为了兼顾不同的架…...
ML-Agents 概述(二)
注:本文章为官方文档翻译,如有侵权行为请联系作者删除 ML-Agents Overview - Unity ML-Agents Toolkit–原文链接 ML-Agents 概述(一) ML-Agents 概述(二) 训练方法:特定环境 除了上一节介绍的…...
[Unity] ShaderGraph动态修改Keyword Enum,实现不同效果一键切换
上次更新已然四个月前,零零散散的工作结束,终于有时间写点东西记录一下~ 实际使用中,经常会碰到同一个对象需要切换不同的材质,固然可以通过C#直接替换材质球。 或者在ShaderGraph中使用Comparison配合Branch实现切换ÿ…...
国自然面上项目分享|基于人工智能和病理组学的早癌筛查算法研究|基金申请·24-12-24
小罗碎碎念 今天分享的项目为【常规面上项目】,执行年限为2018年1月至2021年12月,直接费用为55万元。 今天分享的这个项目很有意思,因为这个项目的成果是团队2020年申报基金委优青的材料,并且还有临床验证和商业转化,值…...
【EthIf-14】EthIfGeneral容器配置-02
1.实际EthIfGeneral的配置实例 关闭DET接口开启发送确认中断开启接收中断主周期接收timeout主周期 2. 代码实例参考 阅读此部分代码,搞清楚代码分为几个section,大概瞄一眼就好,不用深究其含义,只需有一个宏观的层次结构的映像即可。 //Appl/GenData/EthIf_Cfg.h #...
21.打印文件地址 C#例子
\是一个有特殊功能的字符,当想要打印一个如下地址时, C:\Users\SMTC\source\repos\练习 会出现报错,之所以会报错就是因为这里出现了\ \可以把后面的一个符号变为真符号,而不是有特殊功能的符号 在字符串的前面可以让这个字符…...
golang LeetCode 热题 100(动态规划)-更新中
爬楼梯 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 示例 1:输入:n 2 输出:2 解释:有两种方法可以爬到楼顶。 1. 1 阶 1 阶 2. 2 阶 示例 2&…...
Everspin代理MR25H10CDFR存储MRAM
RAMSUN提供的MR25H10CDFR是一款具备1,048,576位存储容量的磁阻随机存取存储器(MRAM)设备,由131,072个8位字构成。该设备提供与串行EEPROM和串行闪存兼容的读/写时序,无写延迟,并且其读/写寿命是不受限制的。 与其它串…...