【Python机器学习实战】 | 基于K近邻算法和一般线性回归算法对电视剧播放数据进行回归预测

news2024/10/7 2:18:06

🎩 欢迎来到技术探索的奇幻世界👨‍💻

📜 个人主页:@一伦明悦-CSDN博客

✍🏻 作者简介 C++软件开发、Python机器学习爱好者

🗣️ 互动与支持💬评论      👍🏻点赞      📂收藏     👀关注+

如果文章有所帮助,欢迎留下您宝贵的评论,

点赞加收藏支持我,点击关注,一起进步!

引言

        K近邻(K-Nearest Neighbors,简称KNN)算法是一种基本的分类和回归方法,它可以用于解决分类和回归问题。其核心思想可以简单描述如下:

原理

K近邻算法基于一个假设:相似的事物在很多情况下具有相似的性质。具体来说,在分类问题中,KNN算法根据某个样本在特征空间中与其最近的K个训练样本的标记来确定该样本的类别;在回归问题中,KNN算法则是根据该样本最近的K个训练样本的值来预测该样本的值。

工作流程

  1. 计算距离: 首先,计算待分类样本与训练集中所有样本的距离。常用的距离度量包括欧氏距离、曼哈顿距离、余弦相似度等。

  2. 选择K值: 确定K的取值,即要考虑多少个最近邻的样本。K的选择影响着分类或回归的结果,通常通过交叉验证或者经验选择一个合适的值。

  3. 确定邻居: 选出距离最近的K个样本。

  4. 进行预测:

    • 分类问题: 对于分类问题,采用投票法(多数表决)来确定待分类样本所属的类别,即K个最近邻样本中出现最频繁的类别作为预测结果。
    • 回归问题: 对于回归问题,通常采用平均值法,即将K个最近邻样本的值的平均值作为待预测样本的预测值。

特点和适用场景

  • 简单有效: KNN是一种简单直观的算法,易于理解和实现。
  • 非参数化: KNN算法不对数据的分布做出假设,因此在某些非线性数据的分类问题中表现较好。
  • 适用性: 适用于小型数据集和中等大小的特征空间。
  • 参数选择: K的选择对算法的性能有显著影响,选择不同的K值可能导致完全不同的结果。

正文

01-绘制均匀核函数和高斯核函数的函数曲线

这段代码是用来绘制两种核函数在一维数据上的图像,并将结果保存为图片。让我详细解释一下这段代码的具体步骤:

  1. 导入必要的库:

    • 导入NumPy库,用于数值计算。
    • 导入Pandas库,用于数据操作。
    • 导入Matplotlib库中的Pyplot模块,用于数据可视化。
    • 导入warnings模块,用于警告处理。
    • 配置Matplotlib参数以支持中文显示,并避免负号显示乱码。
    • 导入sklearn库中的linear_model模块、metrics模块中的classification_report函数、model_selection模块中的cross_validate和train_test_split函数、neighbors模块和preprocessing模块。
  2. 生成数据:

    • 生成一个从-3到3均匀分布的包含100个数据点的一维数据d。
    • 定义两种核函数对应的y值:
      • y1为全为0.5的数组,表示均匀核函数对应的值。
      • y2为高斯核函数对应的值,根据高斯分布的概率密度函数公式计算得出。
    • 调整y1和y2的取值,使得在d小于-1和大于1时,y1和y2的取值为0,以展示核函数在特定区间内的变化。
  3. 绘制图像:

    • 使用plt.plot方法绘制两种核函数在给定数据上的曲线图。
    • 设置不同的linestyle以区分均匀核、高斯核和高斯核的理论形式(虚线)。
    • 添加图例并设置标题,说明两种核函数的区别。
  4. 保存图片:

    • 使用plt.savefig方法将生成的图像保存为一个名为"4.png"的文件,设置dpi为300,使得保存的图片具有更高的分辨率。

通过以上步骤,这段代码实现了对两种核函数在一维数据上的可视化,并将结果保存为图片,以便进一步分析和展示。

#本章需导入的模块
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import warnings
warnings.filterwarnings(action = 'ignore')
%matplotlib inline
plt.rcParams['font.sans-serif']=['SimHei']  #解决中文显示乱码问题
plt.rcParams['axes.unicode_minus']=False
import sklearn.linear_model as LM
from sklearn.metrics import classification_report
from sklearn.model_selection import cross_validate,train_test_split
from sklearn import neighbors,preprocessing

d=np.linspace(-3,3,100)
y1=[0.5]*100
y2=1/np.sqrt(2*np.pi)*np.exp(-d*d/2)
plt.plot(d,y2,label="高斯核(I(.)=1)",linestyle='-.')
y1,y2=np.where(d<-1,0,(y1,y2))
y1,y2=np.where(d>1,0,(y1,y2))
plt.plot(d,y1,label="均匀核",linestyle='-')
plt.plot(d,y2,label="高斯核",linestyle='--')
plt.legend()
plt.title("两种核函数")
plt.savefig("../4.png", dpi=300)

运行结果如下图所示: 

02-加权K-近邻法不同加权策略和参数K下的分类预测误差以及分类边界

这部分代码是用来演示K近邻算法在二维数据上的分类边界,并将结果保存为图片。让我详细解释一下代码的具体步骤:

  1. 导入必要的库:

    • 导入NumPy库,用于数值计算。
    • 导入Pandas库,用于数据操作。
    • 导入Matplotlib库中的Pyplot模块,用于数据可视化。
    • 导入warnings模块,用于警告处理。
    • 配置Matplotlib参数以支持中文显示,并避免负号显示乱码。
    • 导入sklearn库中的linear_model模块、metrics模块中的classification_report函数、model_selection模块中的cross_validate和train_test_split函数、neighbors模块和preprocessing模块。
  2. 生成数据:

    • 设置随机数种子为123,以保证结果的可复现性。
    • 定义样本数量N为50,并设置一半的样本为类别0,另一半为类别1。
    • 生成均值为0,标准差为1的正态分布数据,构成大小为100x2的二维数组X。
    • 将前半部分的数据(类别0)向右上角移动1.5个单位标准差。
  3. 创建网格数据:

    • 使用np.meshgrid生成平面上100x100的网格点,覆盖了X中两列数据的范围。
  4. 创建子图和循环绘图:

    • 使用plt.subplots创建一个包含2行2列的子图布局,总共4个子图,设置图像大小为15x12英寸。
    • 使用循环遍历不同的参数组合(W, K, H, L, T),其中:
      • W为K近邻算法的权重类型,可以是’distance’(倒数加权)或自定义的高斯加权函数guass。
      • K为近邻数量。
      • H和L确定当前子图的位置。
      • T为图标题的一部分,描述了权重类型。
    • 对于每个参数组合:
      • 创建K近邻分类器对象modelKNN。
      • 使用fit方法将模型与数据X和Y进行拟合。
      • 使用predict方法预测网格数据data的类别Yhat。
      • 根据预测结果,使用scatter方法在当前子图中绘制分类结果的散点图,其中类别0用银色点表示,类别1用红色点表示。
      • 使用scatter方法绘制训练数据,类别0用黑色十字表示,类别1用品红色圆圈表示。
      • 设置X1和X2轴标签,以及子图标题,包括K值、权重类型和训练误差(1 - 模型在训练数据上的准确率)。
  5. 保存和显示图片:

    • 使用plt.savefig方法将生成的图像保存为一个名为"4.png"的文件,设置dpi为300,以便保存高分辨率的图像。
    • 使用plt.show方法显示所有子图。

通过以上步骤,这段代码展示了不同参数设置下K近邻算法在二维数据上的分类效果,并将结果保存为图片,以供进一步分析和展示。

#本章需导入的模块
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import warnings
warnings.filterwarnings(action = 'ignore')
%matplotlib inline
plt.rcParams['font.sans-serif']=['SimHei']  #解决中文显示乱码问题
plt.rcParams['axes.unicode_minus']=False
import sklearn.linear_model as LM
from sklearn.metrics import classification_report
from sklearn.model_selection import cross_validate,train_test_split
from sklearn import neighbors,preprocessing

def guass(x):
    x=preprocessing.scale(x)
    output=1/np.sqrt(2*np.pi)*np.exp(-x*x/2)
    return output

np.random.seed(123)
N=50
n=int(0.5*N)
X=np.random.normal(0,1,size=100).reshape(N,2)
Y=[0]*n+[1]*n
X[0:n]=X[0:n]+1.5
X1,X2 = np.meshgrid(np.linspace(X[:,0].min(),X[:,0].max(),100), np.linspace(X[:,1].min(),X[:,1].max(),100))
data=np.hstack((X1.reshape(10000,1),X2.reshape(10000,1)))

fig,axes=plt.subplots(nrows=2,ncols=2,figsize=(15,12))
for W,K,H,L,T in [('distance',30,0,0,'倒数加权'),(guass,30,0,1,'高斯加权'),('distance',40,1,0,'倒数加权'),(guass,40,1,1,'高斯加权')]:
    modelKNN=neighbors.KNeighborsClassifier(n_neighbors=K,weights=W)
    modelKNN.fit(X,Y)
    Yhat=modelKNN.predict(data)    
    for k,c in [(0,'silver'),(1,'red')]:
        axes[H,L].scatter(data[Yhat==k,0],data[Yhat==k,1],color=c,marker='o',s=1)
    axes[H,L].scatter(X[:n,0],X[:n,1],color='black',marker='+')
    axes[H,L].scatter(X[(n+1):N,0],X[(n+1):N,1],color='magenta',marker='o')
    axes[H,L].set_xlabel("X1")
    axes[H,L].set_ylabel("X2")
    axes[H,L].set_title("%d-近邻分类边界-%s(训练误差%.2f)"%((K,T,1-modelKNN.score(X,Y))))
plt.savefig("../4.png", dpi=300)
plt.show()

运行结果如下图所示: 

03-基于K-近邻算法对空气质量等级进行预测

这部分代码的作用是对北京市空气质量数据进行预处理和K近邻算法的应用,最终生成一个测试精度随K值变化的折线图,并将结果保存为图片。

具体步骤如下:

  1. 导入必要的库和数据读取:

    • 导入NumPy、Pandas、Matplotlib等库,以及警告处理设置。
    • 使用Pandas的read_excel函数读取名为’北京市空气质量数据.xlsx’的Excel文件中的数据。
    • 将数据中的0值替换为NaN,并丢弃包含NaN的行,确保数据的完整性。
  2. 数据准备:

    • 从处理后的数据中提取特征变量X(包括PM2.5、PM10、SO2、CO、NO2、O3)和目标变量Y(质量等级)。
  3. 数据集划分:

    • 使用train_test_split函数将数据集划分为训练集(70%)和测试集(30%),并设置随机种子以确保可重复性。
  4. 确定最佳K值:

    • 设定一个K值的范围K,从1到训练集样本数的20%之间,步长为10。
    • 对于每个K值,建立一个K近邻分类器(neighbors.KNeighborsClassifier),使用距离加权(weights=‘distance’)的方式进行分类。
    • 使用训练集训练模型,并在测试集上评估模型性能,计算测试精度(准确率)并记录在testPre列表中。
  5. 绘制折线图:

    • 创建一个9x6英寸大小的新图形。
    • 绘制K值与测试精度的折线图,使用plot函数,并设置网格线和刻度标签。
    • 添加横轴K和纵轴测试精度的标签,以及整体图形的标题,包括显示最佳K值。
  6. 保存和显示图片:

    • 使用plt.savefig方法将生成的图像保存为文件"4.png",设置dpi为300以保证高分辨率。
    • 最后使用plt.show方法显示图形。

通过这段代码,可以清楚地分析不同K值对于K近邻算法在北京市空气质量数据上的影响,帮助选择最佳的K值参数,以优化模型在未知数据上的表现。

#本章需导入的模块
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import warnings
warnings.filterwarnings(action = 'ignore')
%matplotlib inline
plt.rcParams['font.sans-serif']=['SimHei']  #解决中文显示乱码问题
plt.rcParams['axes.unicode_minus']=False
import sklearn.linear_model as LM
from sklearn.metrics import classification_report
from sklearn.model_selection import cross_validate,train_test_split
from sklearn import neighbors,preprocessing

data=pd.read_excel('北京市空气质量数据.xlsx')
data=data.replace(0,np.NaN)
data=data.dropna()
X=data.loc[:,['PM2.5','PM10','SO2','CO','NO2','O3']]
Y=data.loc[:,'质量等级']

testPre=[]
X_train, X_test, Y_train, Y_test = train_test_split(X,Y,train_size=0.70, random_state=123) 
Ntrain=len(Y_train)
K=np.arange(1,int(Ntrain*0.20),10)
for k in K:
    modelKNN=neighbors.KNeighborsClassifier(n_neighbors=k,weights='distance')
    modelKNN.fit(X_train,Y_train)
    testPre.append(modelKNN.score(X_test,Y_test))
plt.figure(figsize=(9,6))
plt.grid(True, linestyle='-.')
plt.xticks(K)
plt.plot(K,testPre,marker='.')
plt.xlabel("K")
plt.ylabel("测试精度")
bestK=K[testPre.index(np.max(testPre))]
plt.savefig("../4.png", dpi=300)
plt.title("加权K-近邻的测试精度(1-测试误差)变化折线图\n(最优参数K=%d)"%bestK)

运行结果如下图所示: 

这段代码的作用是使用经过调优的最佳K值(bestK)重新构建一个K近邻分类器,并对模型进行评估和输出评估报告。

具体步骤如下:

  1. 重新构建K近邻分类器:

    • 使用neighbors.KNeighborsClassifier类构建一个K近邻分类器。
    • n_neighbors参数设置为之前计算出的最佳K值bestK,以及weights参数设置为’distance’,表示使用距离加权的方式进行分类。
  2. 模型训练:

    • 使用训练集(X_train和Y_train)对重新构建的K近邻分类器进行训练,通过fit方法完成。
  3. 评估模型性能:

    • 使用classification_report函数对模型在整个数据集(X)上进行评估。
    • classification_report函数会计算并输出模型在每个类别上的精确度、召回率、F1-score和支持数等指标,帮助分析模型的分类效果。
  4. 输出评估报告:

    • 最后,将计算得到的分类报告打印输出,展示模型在各个类别上的预测性能。

通过这段代码,可以全面评估经过优化的K近邻模型在北京市空气质量数据上的整体分类表现,提供了对模型准确性和其他评估指标的详细了解。

modelKNN=neighbors.KNeighborsClassifier(n_neighbors=bestK,weights='distance')
modelKNN.fit(X_train,Y_train)
print('评价模型结果:\n',classification_report(Y,modelKNN.predict(X)))

 运行结果如下图所示:

评价模型结果:
               precision    recall  f1-score   support

        严重污染       0.98      0.98      0.98        43
        中度污染       0.95      0.95      0.95       252
           优       0.99      0.98      0.98       377
           良       0.98      0.99      0.98       827
        轻度污染       0.97      0.97      0.97       470
        重度污染       0.98      0.93      0.96       127

    accuracy                           0.98      2096
   macro avg       0.97      0.97      0.97      2096
weighted avg       0.98      0.98      0.98      2096

04-基于K-近邻算法和一元线性回归算法对电视剧播放数据质量进行分析

这部分代码的作用是对电视剧播放数据进行预处理和数据清洗,确保数据可以用于后续的分析和建模。

具体步骤如下:

  1. 导入必要的库和数据读取:

    • 导入NumPy、Pandas、Matplotlib等库,以及警告处理设置。
    • 使用Pandas的read_excel函数读取名为’电视剧播放数据.xlsx’的Excel文件中的数据。
  2. 数据预处理:

    • 将数据中的0值替换为NaN,并丢弃包含NaN的行,确保数据的完整性。
  3. 数据清洗:

    • 使用逻辑运算符&(与)来选择满足两个条件的行:
      • 点赞数小于或等于2000000。
      • 差评数小于或等于2000000。
    • 使用.loc索引器来限制数据集,只保留满足上述条件的行。
  4. 查看数据头部:

    • 使用.head()方法显示数据的前几行,通常是前5行,以检查数据清洗后的结果。

代码的作用是确保数据集中没有包含点赞数或差评数异常大的数据,因为这些数据可能对模型的准确性产生影响。通过限制点赞数和差评数的范围,可以提高后续数据分析和建模的可靠性。

注意,这段代码没有进行任何模型构建或评估,它仅限于数据预处理和清洗。

#本章需导入的模块
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import warnings
warnings.filterwarnings(action = 'ignore')
%matplotlib inline
plt.rcParams['font.sans-serif']=['SimHei']  #解决中文显示乱码问题
plt.rcParams['axes.unicode_minus']=False
import sklearn.linear_model as LM
from sklearn.metrics import classification_report
from sklearn.model_selection import cross_validate,train_test_split
from sklearn import neighbors,preprocessing

data=pd.read_excel('电视剧播放数据.xlsx')
data=data.replace(0,np.NaN)
data=data.dropna()
data=data.loc[(data['点赞']<=2000000) & (data['差评']<=2000000)]
data.head()

这段代码主要进行了以下操作,针对电视剧播放数据进行了K近邻回归和一般线性回归模型的建模,并进行了可视化展示:

  1. 数据准备与拆分:

    • 从前面清洗过的数据中选择了特征X为点赞数和差评数,目标变量Y为得分。
    • 使用train_test_split函数将数据集拆分为训练集(70%)和测试集(30%),并指定随机种子random_state=123以确保结果的可重复性。
  2. 建立模型并训练:

    • K近邻回归模型 (modelKNN):设定邻居数n_neighbors=20,使用训练集X_trainY_train进行模型训练。
    • 一般线性回归模型 (modelLR):使用LinearRegression类建立线性回归模型,同样使用训练集进行训练。
  3. 模型评估与输出:

    • 分别使用.score()方法计算并输出了测试集上的精度和整体数据集上的预测精度,用以评估模型在点赞数和得分之间的拟合程度。
  4. 数据可视化:

    • 使用matplotlib库创建了一个包含两个子图的图形,每个子图显示了点赞数与得分之间的关系。
    • 第一个子图展示了原始数据散点图,并绘制了K近邻回归模型和一般线性回归模型的拟合线。
    • 第二个子图则限制了点赞数不超过250,000的数据范围,并重复了相同的可视化过程,以便更清楚地观察模型在较小数据范围内的表现。
  5. 保存图像:

    • 使用plt.savefig保存这两个子图为PNG格式的图像文件,分别命名为’…/3.png’和’…/4.png’,设定dpi为300以保证高质量的输出图像。

这段代码的主要目的是通过建立不同模型(K近邻回归和线性回归)来探索点赞数与得分之间的关系,并通过可视化展示模型的拟合效果。

X=data.loc[:,['点赞','差评']]
Y=data.loc[:,'得分']
X_train, X_test, Y_train, Y_test = train_test_split(X,Y,train_size=0.70, random_state=123) 
modelKNN=neighbors.KNeighborsRegressor(n_neighbors=20)
modelKNN.fit(X_train,Y_train)
print('K-近邻:测试精度=%f总预测精度=%f'%(modelKNN.score(X_test,Y_test),modelKNN.score(X,Y)))
modelLR=LM.LinearRegression()
modelLR.fit(X_train,Y_train)
print('一般线性回归模型:测试精度=%f;总预测精度=%f'%(modelLR.score(X_test,Y_test),modelLR.score(X,Y)))

fig,axes=plt.subplots(nrows=1,ncols=2,figsize=(12,4))
axes[0].scatter(X.iloc[:,0],Y,s=2,c='r')
index = np.argsort(X.iloc[:,0])
axes[0].plot(X.iloc[index,0],modelKNN.predict(X.iloc[index,:]),linewidth=0.5,label="K-近邻")
axes[0].plot(X.iloc[index,0],modelLR.predict(X.iloc[index,:]),linestyle='--',linewidth=1,label="一般线性回归模型")
axes[0].set_title('点赞数和得分',fontsize=12)
axes[0].set_xlabel('点赞数',fontsize=12)
axes[0].set_ylabel('得分',fontsize=12)
axes[0].legend()
plt.savefig("../3.png", dpi=300)
data=data.loc[(data['点赞']<=250000)]
axes[1].scatter(data['点赞'],data['得分'],s=2,c='r')
T=X.loc[(X['点赞']<=250000)]
index = np.argsort(T.iloc[:,0])
axes[1].plot(T.iloc[index,0],modelKNN.predict(T.iloc[index,:]),linewidth=0.5,label="K-近邻")
axes[1].plot(T.iloc[index,0],modelLR.predict(T.iloc[index,:]),linestyle='--',linewidth=1,label="一般线性回归模型")
axes[1].set_title('点赞数和得分',fontsize=12)
axes[1].set_xlabel('点赞数',fontsize=12)
axes[1].set_ylabel('得分',fontsize=12)
axes[1].legend()
plt.savefig("../4.png", dpi=300)

 运行结果如下图所示:

总结

        K近邻算法是一种简单而强大的分类和回归算法,尽管它有一些限制(如对大型数据集的处理速度较慢),但在许多现实世界的问题中仍然广泛应用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1857084.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

unity-特效-雷达扫描效果

使用后处理方式制作 using System; using System.Collections; using System.Collections.Generic; using UnityEngine;public class GlobalScanEffect : MonoBehaviour {public float startScanRange 0;public float maxScanRange 20;public float scanWidth 3;public flo…

数据库期末复习知识点

A卷 1. 选择题(30) 2. 判断范式(10) 判断到第三范式 3. 程序填空(20) 4. 分析填空(15) 5. 写SQL(25) 5一题 恶性 B卷 1. 单选(30) 2. 填空 (20) 3. 程序填空(20) 4. 写SQL(30) 知识点 第一章 数据库管理系统(DBMS) 主要功能 数据定义功能 (DDL, 数据定义语言, …

第二证券股市知识:小白炒股是做长线好还是短线好?

关于小白来说&#xff0c;挑选炒长线比炒短线要好一些&#xff0c;其间原因如下&#xff1a; ​ 1、对出资者技能要求相对较低 短线出资&#xff0c;需要出资者对个股的走势掌握比较精确&#xff0c;才干通过高抛低吸赚取必定的差价&#xff0c;否则很容易让散户卖飞个股&am…

快速记忆成百上千个账号密码

在日常生活中&#xff0c;我们不仅需要记忆6位数字的银行卡密码&#xff0c;还需要记忆各式各样网站和应用的账号密码&#xff0c;可能我们自己也不记得曾经注册过多少个账号。账号和密码如此繁多&#xff0c;管理这些账号和密码&#xff0c;也是一个让人头疼的问题。 最原始的…

前两天上线了一个小功能,差点把我们项目搞崩溃

项目场景&#xff1a; 最近一直在迭代公司的系统&#xff0c;业务提出需要增加一个消息通知的功能&#xff0c;对接完需求之后&#xff0c;我们就 开始热火朝天的编码、测试、上线&#xff0c; 就是右上角这个小图标&#xff0c;为了提升用户体验&#xff0c;我们采用每隔20S…

有效利用MRP能为中小企业带来什么?

在离散制造企业&#xff0c;主流的生产模式主要为面向订单生产和面向库存生产&#xff08;又称为预测生产&#xff09;&#xff0c;在中小企业中&#xff0c;一般为面向订单生产&#xff0c;也有部分面向库存和面向订单混合的生产方式&#xff08;以面向订单为主&#xff0c;面…

windows系统docker镜像导出

docker镜像导入导出(windows)_windowdocker下载镜像导出-CSDN博客https://blog.csdn.net/qq_22211217/article/details/93936363

网页设计软件Bootstrap Studio6.7.1

Bootstrap Studio是一个适用于Windows的程序,允许您使用流行的fre***orca Bootstrap创建和原型网站。您可以将现成的组件拖动到工作区并直观地自定义它们。该程序生成干净和语义的PDF、CSS和JS代码,所有Web浏览器都支持这些代码。 Bootstrap Studio有一个漂亮而强大的界面,它…

[个人感悟] MySQL应该考察哪些问题?

前言 数据存储一直是软件开发中必不可少的一环, 从早期的文件存储txt, Excel, Doc, Access, 以及关系数据库时代的MySQL,SQL Server, Oracle, DB2, 乃至最近的大数据时代f非关系型数据库:Hadoop, HBase, MongoDB. 此外还有顺序型数据库InfluxDB, 图数据库Neo4J, 分布式数据库T…

linux系统指令查漏补缺

目录 一.磁盘操作 二.lvm 三.top 4.nohup 一.磁盘操作 1. lsblk -f 显示磁盘和它的相关内容 2.tuen2fs -c -1 /dev/sdx 关闭某个磁盘的自检 3.修改配置&#xff0c;使文件系统不要开机自检 cat /etc/fstab 全0表示开机不自检 全1表示开机自检 同时在这个文件中可添加…

计算机网络面试HTTP篇二

HTTP/1.1 如何优化&#xff1f; 问你一句&#xff1a;「你知道 HTTP/1.1 该如何优化吗&#xff1f;」 我们可以从下面这三种优化思路来优化 HTTP/1.1 协议&#xff1a; 尽量避免发送 HTTP 请求&#xff1b;在需要发送 HTTP 请求时&#xff0c;考虑如何减少请求次数&#xff…

Nature推荐的三种ChatGPT论文写作指令

1. 润色学术论文 ChatGPT学术润色指令&#xff1a; “I’m writing a paper on [topic]for a leading [discipline] academic journal. WhatItried to say in the following section is [specific point]. Please rephrase itfor clarity, coherence and conciseness, ensuri…

C语言---数据结构(1)--时间复杂和空间复杂度计算

1.什么是时间复杂度和空间复杂度 1.1算法效率 算法效率分为时间效率和空间效率 时间效率被称为时间复杂度&#xff0c;而空间效率被称作空间复杂度。 时间复杂度主要衡量的是一个算法的运行速度&#xff0c;而空间复杂度主要衡量一个算法所需要的额外空间&#xff0c;在计算…

麦肯锡:量子传感究竟在何处可以发光发热

量子传感技术已经提供价值&#xff0c;潜在的应用案例可以塑造多个行业。有四种核心技术具有应用前景&#xff1a;固态自旋、中性原子、超导电路和离子阱&#xff0c;它们具有在广泛的物理属性上的传感能力&#xff0c;包括磁场、电场、旋转、温度、重力、时间和压力。选择哪种…

spring cloud Alibaba 整合 seata AT模式

准备工作&#xff1a; 1、MySQL正常安装并启动 2、nacos正常部署并启动 3、下载 Seata-1.4.2 源码包和 seata-server-1.4.2 服务端源码包&#xff08;版本根据自己的需要选择&#xff0c;我这里选择1.4.2&#xff09; 下载地址&#xff1a; Seata&#xff1a;https://gite…

区间问题——905. 区间选点

目录 区间问题 定义 运用情况 注意事项 解题思路 AcWing 905. 区间选点 题目描述 运行代码 代码思路 改进思路 其它代码 代码思路 区间问题 定义 区间通常是指一个连续的范围&#xff0c;可以用数轴上的一段来表示。 运用情况 在数学中广泛用于表示变量的取值范…

【初阶数据结构】深入解析栈:探索底层逻辑

&#x1f525;引言 本篇将深入解析栈:探索底层逻辑&#xff0c;理解底层是如何实现并了解该接口实现的优缺点&#xff0c;以便于我们在编写程序灵活地使用该数据结构。 &#x1f308;个人主页&#xff1a;是店小二呀 &#x1f308;C语言笔记专栏&#xff1a;C语言笔记 &#x1…

Paimon Trino Presto的关系 分布式查询引擎

Paimon支持的引擎兼容性矩阵&#xff1a; Trino 是 Presto 同项目的不同版本&#xff0c;是原Faceboo Presto创始人团队核心开发和维护人员分离出来后开发和维护的分支&#xff0c;Trino基于Presto&#xff0c;目前 Trino 和 Presto 都仍在继续开发和维护。 Trino 生态系统-客…

YOLOv8改进 | SPPF | 具有多尺度带孔卷积层的ASPP【CVPR2018】

&#x1f4a1;&#x1f4a1;&#x1f4a1;本专栏所有程序均经过测试&#xff0c;可成功执行&#x1f4a1;&#x1f4a1;&#x1f4a1; 专栏目录 &#xff1a;《YOLOv8改进有效涨点》专栏介绍 & 专栏目录 | 目前已有40篇内容&#xff0c;内含各种Head检测头、损失函数Loss、…

基于SSM+Jsp的校园餐厅管理

开发语言&#xff1a;Java框架&#xff1a;ssm技术&#xff1a;JSPJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包…