5个适合初学者的机器学习算法:线性回归、逻辑回归、决策树、随机森林和K近邻【源码与示例】

news2024/11/13 16:11:01

《博主简介》

小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。
👍感谢小伙伴们点赞、关注!

《------往期经典推荐------》

一、AI应用软件开发实战专栏【链接】

项目名称项目名称
1.【人脸识别与管理系统开发】2.【车牌识别与自动收费管理系统开发】
3.【手势识别系统开发】4.【人脸面部活体检测系统开发】
5.【图片风格快速迁移软件开发】6.【人脸表表情识别系统】
7.【YOLOv8多目标识别与自动标注软件开发】8.【基于YOLOv8深度学习的行人跌倒检测系统】
9.【基于YOLOv8深度学习的PCB板缺陷检测系统】10.【基于YOLOv8深度学习的生活垃圾分类目标检测系统】
11.【基于YOLOv8深度学习的安全帽目标检测系统】12.【基于YOLOv8深度学习的120种犬类检测与识别系统】
13.【基于YOLOv8深度学习的路面坑洞检测系统】14.【基于YOLOv8深度学习的火焰烟雾检测系统】
15.【基于YOLOv8深度学习的钢材表面缺陷检测系统】16.【基于YOLOv8深度学习的舰船目标分类检测系统】
17.【基于YOLOv8深度学习的西红柿成熟度检测系统】18.【基于YOLOv8深度学习的血细胞检测与计数系统】
19.【基于YOLOv8深度学习的吸烟/抽烟行为检测系统】20.【基于YOLOv8深度学习的水稻害虫检测与识别系统】
21.【基于YOLOv8深度学习的高精度车辆行人检测与计数系统】22.【基于YOLOv8深度学习的路面标志线检测与识别系统】
23.【基于YOLOv8深度学习的智能小麦害虫检测识别系统】24.【基于YOLOv8深度学习的智能玉米害虫检测识别系统】
25.【基于YOLOv8深度学习的200种鸟类智能检测与识别系统】26.【基于YOLOv8深度学习的45种交通标志智能检测与识别系统】
27.【基于YOLOv8深度学习的人脸面部表情识别系统】28.【基于YOLOv8深度学习的苹果叶片病害智能诊断系统】
29.【基于YOLOv8深度学习的智能肺炎诊断系统】30.【基于YOLOv8深度学习的葡萄簇目标检测系统】
31.【基于YOLOv8深度学习的100种中草药智能识别系统】32.【基于YOLOv8深度学习的102种花卉智能识别系统】
33.【基于YOLOv8深度学习的100种蝴蝶智能识别系统】34.【基于YOLOv8深度学习的水稻叶片病害智能诊断系统】
35.【基于YOLOv8与ByteTrack的车辆行人多目标检测与追踪系统】36.【基于YOLOv8深度学习的智能草莓病害检测与分割系统】
37.【基于YOLOv8深度学习的复杂场景下船舶目标检测系统】38.【基于YOLOv8深度学习的农作物幼苗与杂草检测系统】
39.【基于YOLOv8深度学习的智能道路裂缝检测与分析系统】40.【基于YOLOv8深度学习的葡萄病害智能诊断与防治系统】
41.【基于YOLOv8深度学习的遥感地理空间物体检测系统】42.【基于YOLOv8深度学习的无人机视角地面物体检测系统】
43.【基于YOLOv8深度学习的木薯病害智能诊断与防治系统】44.【基于YOLOv8深度学习的野外火焰烟雾检测系统】
45.【基于YOLOv8深度学习的脑肿瘤智能检测系统】46.【基于YOLOv8深度学习的玉米叶片病害智能诊断与防治系统】
47.【基于YOLOv8深度学习的橙子病害智能诊断与防治系统】48.【车辆检测追踪与流量计数系统】
49.【行人检测追踪与双向流量计数系统】50.【基于YOLOv8深度学习的反光衣检测与预警系统】
51.【危险区域人员闯入检测与报警系统】52.【高密度人脸智能检测与统计系统】
53.【CT扫描图像肾结石智能检测系统】54.【水果智能检测系统】
55.【水果质量好坏智能检测系统】56.【蔬菜目标检测与识别系统】
57.【非机动车驾驶员头盔检测系统】58.【太阳能电池板检测与分析系统】
59.【工业螺栓螺母检测】60.【金属焊缝缺陷检测系统】
61.【链条缺陷检测与识别系统】62.【交通信号灯检测识别】

二、机器学习实战专栏【链接】,已更新31期,欢迎关注,持续更新中~~
三、深度学习【Pytorch】专栏【链接】
四、【Stable Diffusion绘画系列】专栏【链接】
五、YOLOv8改进专栏【链接】持续更新中~~
六、YOLO性能对比专栏【链接】,持续更新中~

《------正文------》

目录

  • 1)线性回归
    • 使用案例:
    • 现实生活中的例子:
  • 2)Logistic回归
    • 使用案例:
    • 现实生活中的例子:
  • 3)决策树
    • 示例-让我们使用scikit在iris数据集上实现决策树分类器
    • 使用案例:
    • 现实生活中的例子:
  • 4)随机森林
    • 评估指标:
    • 示例-让我们实现一个随机森林分类器
    • 使用案例:
    • 现实生活中的例子:
  • 5)K-最近邻
    • 使用案例:
    • 现实生活中的例子:
  • 总结

本文主要介绍5个适合初学者学习的5个常用机器学习算法,包括线性回归、逻辑回归、决策树、随机森林和K近邻。每一个算法包含详细的示例供小伙伴学习参考

1)线性回归

线性回归是一种基于一个或多个输入因素预测连续结果的方法。简单地说,它通过对我们所拥有的数据拟合一条直线来帮助我们找到不同变量之间的关系。

请不要太激动,我会用更简单的方式来解释。

假设我想猜卖柠檬水能赚多少钱,这取决于我卖了多少杯。线性回归查看过去的销售额(我以前卖了多少杯,赚了多少钱),并找到最符合这些信息的直线。这条线将帮助我预测多少钱,我会在未来的基础上,我计划出售的杯子数量。“这就像用过去的经验来猜测未来。”下面是一个线性回归图的例子**-**

img

线性回归是关于找到适合一组数据点的最佳直线(回归线)。这条线由以下等式表示:

y = mx + b

其中:

  • y是因变量(我们试图预测的)
  • x是独立变量
  • m是直线的斜率
  • B是y轴截距

*对于多个自变量,我们使用多元线性回归:*

y = b0 + b1*1 + b2*2 +.+ bn*xn

b0是y轴截距,b1,b2,…,bn是每个自变量的系数。

对于上图中的图形,我已经编写了一个基本的示例代码,并在下面进行了解释。

# Importing Libraries
import numpy as np
from sklearn.linear_model import LinearRegression
import matplotlib.pyplot as plt

# ensures that the random numbers generated are the same every time the code runs.
np.random.seed(0)

#creates an array of 100 random numbers between 0 and 1.
X = np.random.rand(100, 1)         

#generates the target variable y using the linear relationship y = 2 + 3*X plus some random noise. This mimics real-world data that might not fit perfectly on a line.
y = 2 + 3 * X + np.random.rand(100, 1)       

# Create and fit the model
model = LinearRegression()
# fit means it calculates the best-fitting line through the data points.
model.fit(X, y)  

# Make predictions
X_test = np.array([[0], [1]])   #creates a test set with two points: 0 and 1
y_pred = model.predict(X_test)   # uses the fitted model to predict the y values for X_test


# Plot the results
plt.figure(figsize=(10, 6))
plt.scatter(X, y, color='b', label='Data points')
plt.plot(X_test, y_pred, color='r', label='Regression line')
plt.legend()
plt.xlabel('X')
plt.ylabel('y')
plt.title('Linear Regression Example\nimage by ishaangupta1201')
plt.show()


print(f"Intercept: {model.intercept_[0]:.2f}")
print(f"Coefficient: {model.coef_[0][0]:.2f}")

使用案例:

  • 房价预测:像上面的例子,预测房价的基础上的功能,如大小,卧室数量,位置,等.
  • 销售预测:根据过去的数据预测未来的销售。
  • 风险管理:根据客户的收入,信用评分等评估贷款风险。

现实生活中的例子:

在医疗保健中,线性回归用于预测患者在医院的住院时间。年龄、疾病严重程度等因素可以作为自变量来预测患者的住院时间。这有助于医院规划其资源,并确保他们有足够的床位和工作人员来照顾病人。

现在你一定在想,如果有"线性回归",那么一定有类似"多项式回归"的东西。是的,你猜对了,也有一种叫做多项式回归的东西。*所以当变量之间的关系不是线性的时候,我们可以用多项式回归来解决复杂的模式。*例如-

img

from sklearn.preprocessing import PolynomialFeatures
from sklearn.pipeline import make_pipeline
from sklearn.linear_model import Ridge
 
np.random.seed(0)
X = np.sort(5 * np.random.rand(80, 1), axis=0)
y = np.sin(X).ravel() + np.random.normal(0, 0.1, X.shape[0])
 
degree = 5
model = make_pipeline(PolynomialFeatures(degree), Ridge(alpha=1e-3))
model.fit(X, y)
 
X_test = np.linspace(0, 5, 100)[:, np.newaxis]
y_pred = model.predict(X_test)
 
plt.scatter(X, y, color='b', label='Data points')
plt.plot(X_test, y_pred, color='r', label='Polynomial regression')
plt.legend()
plt.xlabel('X')
plt.ylabel('y')
plt.title('Polynomial Regression with Ridge Regularization')
plt.show()

2)Logistic回归

逻辑回归是一种分类算法,比回归算法(丫我知道名字说回归)。它用于预测给定一组自变量的二元结果***(1 / 0,是/否,真/假)***。

所以基本上把它想象成一种用来把事情分成两组的方法,比如是/否或真/假。假设你想根据今天的天气预测明天是否会下雨(是或否)。逻辑回归使用一个称为sigmoid函数的特殊公式,将任何输入转换为0和1之间的概率,表示概率。如果输出接近1,下雨的可能性更大;如果输出接近0,可能不会下雨。当概率达到0.5时,我们从预测“否”切换到“是”,这被称为决策边界。

逻辑函数(sigmoid)用于将预测值映射到概率。

img

这里,*P(y=1 <$x)P(y=1| x)*是目标变量为1(正类)的概率。

好了,现在让我们为一个简单的分类任务实现它,我们将根据学生学习的小时数来预测他们是通过还是失败:

# Importing Libraries
import numpy as np
from sklearn.linear_model import LogisticRegression

# Sample data: hours studied and pass/fail outcome
hours_studied = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]).reshape(-1, 1)
outcome = np.array([0, 0, 0, 0, 0, 1, 1, 1, 1, 1])

# Create and train the model
model = LogisticRegression()
model.fit(hours_studied, outcome)

# This results in an array of predicted binary outcomes (0 or 1).
predicted_outcome = model.predict(hours_studied)

# This results in an array where each sub-array contains two probabilities: the probability of failing and the probability of passing.
predicted_probabilities = model.predict_proba(hours_studied)

print("Predicted Outcomes:", predicted_outcome)
print("Predicted Probabilities:", predicted_probabilities)

img

使用案例:

  1. **电子邮件垃圾邮件检测:**根据电子邮件的内容和其他详细信息将其分类为垃圾邮件或非垃圾邮件。
  2. **信用卡欺诈检测:**根据消费模式和其他交易详细信息识别欺诈交易。
  3. **疾病诊断:**根据症状和患者数据预测疾病的存在。

现实生活中的例子:

在金融领域,逻辑回归主要用于信用评分。银行和信用卡公司使用这种算法来评估贷款申请人的信誉。他们考虑收入、工作历史、当前债务和信用记录等因素来预测客户拖欠贷款的可能性。

3)决策树

决策树用于分类和回归任务。他们通过创建一个模型来工作,该模型基于一系列简单的决策进行预测-例如遵循树上的路径。

决策树就像一个问题游戏,你问一系列是/否的问题来猜测一些事情。你可以从一个有两种可能性的问题开始,比如“下雨了吗?”或不”。根据答案,你会问一个又一个问题,直到你把它缩小到最后的决定。在这棵树中,每个问题都是一个分支,而最终的答案是一片叶子。该树根据它给出的数据“学习”最好的问题,使其成为决策的强大工具。

示例-让我们使用scikit在iris数据集上实现决策树分类器

img

# importing libs
from sklearn.tree import DecisionTreeClassifier, plot_tree
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score, classification_report

# Load the iris dataset
iris = load_iris()
X, y = iris.data, iris.target

# splits the data into training and testing sets. 30% of the data is used for testing (test_size=0.3), and the rest for training. random_state=42 ensures the split is reproducible.
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

# creates a decision tree classifier with a maximum depth of 3 levels and a fixed random state for reproducibility.
model = DecisionTreeClassifier(max_depth=3, random_state=42)
model.fit(X_train, y_train)

# Make predictions
y_pred = model.predict(X_test)

# Evaluate the model
accuracy = accuracy_score(y_test, y_pred)  #calculates the accuracy of the model’s predictions.
print(f"Accuracy: {accuracy:.2f}")
print("\nClassification Report:")
print(classification_report(y_test, y_pred, target_names=iris.target_names))

# Visualize the tree
plt.figure(figsize=(20,10))
plot_tree(model, feature_names=iris.feature_names, class_names=iris.target_names, filled=True, rounded=True)
plt.show()

使用案例:

  1. **客户流失预测:**帮助公司了解客户可能离开的原因
  2. **医疗诊断:**根据症状和患者数据预测疾病的可能性。
  3. 风险评估:银行评估申请人的风险水平,帮助他们决定是否批准保单或贷款。

现实生活中的例子:

基于决策树的概念,我们有随机森林。随机森林就像一个决策树团队一起工作。随机森林不依赖于单个决策树,这有时可能会出错,而是创建许多树,然后联合收割机组合它们的预测。例如,它可以用来指导心脏病的诊断,根据年龄,血压,胆固醇水平和运动习惯等因素。树中的每个节点代表一个测试或问题,根据结果导致不同的分支,最终得出诊断或建议进行进一步的测试。

4)随机森林

img

随机森林是一种集成学习方法,通过构建多个决策树并结合它们的结果来帮助我们做出更准确的预测。这就像有一群朋友,每个人都给你他们对某事的意见,然后你联合收割机结合他们的答案做出最后的决定。随机森林不是只依赖一棵决策树(这可能会出错),而是创建许多树,每棵树都查看数据的不同部分。通过对回归任务的结果进行平均或对分类任务进行多数投票,随机森林减少了错误,使预测更加可靠。

评估指标:

  • 分类:准确度,精确度,召回率,F1分数。
  • 回归:均方误差(MSE),R平方。

想象一下,你想猜测某件事的结果,你问了一群朋友的意见,而不是一个朋友。每个朋友看问题的不同部分,并给出他们的答案。随机森林的工作原理类似于创建许多决策树,每个决策树查看数据的不同部分。然后,它将他们的答案结合起来,做出最终的预测。这种方法有助于避免我们只依赖一棵树可能发生的错误,使预测更加准确和可靠。

示例-让我们实现一个随机森林分类器

from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score, confusion_matrix
import seaborn as sns

# Generate a random classification dataset
X, y = make_classification(n_samples=1000, n_features=20, n_informative=15, 
                           n_redundant=5, n_classes=3, random_state=42)

# Split the data into training (70%) and testing (30%) sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

# random forest classifier with 100 decision trees (n_estimators=100).
model = RandomForestClassifier(n_estimators=100, random_state=42)
model.fit(X_train, y_train)

# Make predictions
y_pred = model.predict(X_test)

# Evaluate the model
accuracy = accuracy_score(y_test, y_pred)
print(f"Accuracy: {accuracy:.2f}")

# Plot confusion matrix
cm = confusion_matrix(y_test, y_pred)
plt.figure(figsize=(10,8))
sns.heatmap(cm, annot=True, fmt='d', cmap='Blues')
plt.title('Confusion Matrix')
plt.xlabel('Predicted')
plt.ylabel('Actual')
plt.show()

# Feature importance
importances = model.feature_importances_
indices = np.argsort(importances)[::-1]

plt.figure(figsize=(10,6))
plt.title("Feature Importances")
plt.bar(range(X.shape[1]), importances[indices])
plt.xticks(range(X.shape[1]), indices)
plt.tight_layout()
plt.show()

img

img

我们模型的准确性:0.77

使用案例:

  1. **图像分类:**识别图像中的对象或模式。
  2. **欺诈检测:**检测金融系统中的欺诈交易。
  3. 推荐系统:预测用户对产品或内容的偏好。

现实生活中的例子:

它可以用来预测物种分布通过分析环境变量(如温度,降雨量,土壤类型)预测某些物种在不同地理区域的存在或不存在。这将真正有助于保护工作,并了解气候变化如何影响生物多样性。

5)K-最近邻

K-Nearest Neighbors(KNN)是一种简单而懒惰的学习算法,用于分类和回归。它基于特征空间中k-最近邻的多数类或平均值来预测目标值。

换句话说,相似的事物彼此接近。该算法的工作原理如下:

  1. 首先,你决定一个数字,K,这是你想要考虑的邻居的数量。
  2. 接下来,算法计算您想要预测的项目与数据中所有其他项目之间的距离。
  3. 然后它对距离进行排序,并选择K个最近的-你的“邻居”。
  4. 对于分类任务,它收集最近邻居的类别
  5. 对于回归任务,它对这些邻居的值进行平均以预测一个数字。

基本上,它的意思是,它通过查看“邻居”或最接近的例子来预测。现在,假设你想根据某人的朋友喜欢什么来猜测他们最喜欢的零食。你选择一个数字,K*,也就是你会邀请多少朋友。你就看看那些*K*友们最喜欢吃什么零食。如果他们大多数人喜欢薯条,你就猜薯条。为了预测数字,比如一个人睡了多少小时,你取了这K个***朋友的平均时间。KNN利用相似事物彼此接近的想法来进行聪明的猜测。

示例-iris数据集上的K最近邻(KNN)分类器:

from sklearn.neighbors import KNeighborsClassifier
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score, classification_report
import matplotlib.pyplot as plt

# Load the iris dataset
iris = load_iris()
X, y = iris.data, iris.target

# Split the data
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

# creates a K-Nearest Neighbors classifier with k=3, meaning it will consider the 3 nearest neighbors for making predictions.
model = KNeighborsClassifier(n_neighbors=3)
model.fit(X_train, y_train)

# Make predictions
y_pred = model.predict(X_test)

# Evaluate the model
accuracy = accuracy_score(y_test, y_pred)
print(f"Accuracy: {accuracy:.2f}")
print("\nClassification Report:")
print(classification_report(y_test, y_pred, target_names=iris.target_names))

# Visualize the decision boundary (for 2 features)
def plot_decision_boundary(X, y, model, ax=None):
    h = .02  # step size in the mesh
    x_min, x_max = X[:, 0].min() - 1, X[:, 0].max() + 1
    y_min, y_max = X[:, 1].min() - 1, X[:, 1].max() + 1
    xx, yy = np.meshgrid(np.arange(x_min, x_max, h),
                         np.arange(y_min, y_max, h))
    Z = model.predict(np.c_[xx.ravel(), yy.ravel()])
    Z = Z.reshape(xx.shape)
    if ax is None:
        ax = plt.gca()
    ax.contourf(xx, yy, Z, alpha=0.8, cmap=plt.cm.RdYlBu)
    ax.scatter(X[:, 0], X[:, 1], c=y, cmap=plt.cm.RdYlBu, edgecolor='black')
    ax.set_xlabel('Sepal length')
    ax.set_ylabel('Sepal width')
    return ax

plt.figure(figsize=(10, 8))
plot_decision_boundary(X[:, [0, 1]], y, model)
plt.title('KNN Decision Boundary (K=3)')
plt.show()

img

img

使用案例:

  • 推荐系统:通过将您喜欢的内容与相似用户喜欢的内容进行比较来推荐产品。
  • 异常检测:通过与正常行为进行比较来检测欺诈活动。
  • 图像识别:根据像素值对图像进行分类。

现实生活中的例子:

同样,在医疗保健行业,KNN可用于诊断疾病。例如,如果我有一个包含患者症状和诊断的数据库,我可以使用KNN来预测新患者患有特定疾病的可能性,方法是根据症状找到K个最相似的患者。然后,它使用他们的诊断来预测新的病人。

总结

在本文中,我介绍了初学者必不可少的前5个ML算法。我的目标是为你提供一个坚实的基础,开始你的机器学习之旅。
我希望你能够理解这些算法中的大部分以及如何应用它们。


关注文末名片G-Z-H:【阿旭算法与机器学习】,发送【开源】可获取更多学习资源

在这里插入图片描述

好了,这篇文章就介绍到这里,喜欢的小伙伴感谢给点个赞和关注,更多精彩内容持续更新~~
关于本篇文章大家有任何建议或意见,欢迎在评论区留言交流!

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

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

相关文章

渠道分销|行业SaaS的三重机会

大家好&#xff0c;我是林叔&#xff0c;今天&#xff0c;我想和大家聊聊我在这个行业里观察到的一个重要趋势——行业SaaS的三重机会。近年来&#xff0c;SaaS&#xff08;Software-as-a-Service&#xff0c;软件即服务&#xff09;市场在中国蓬勃发展&#xff0c;尤其是在行业…

MS9123 宏晶微 USB 投屏控制芯片 可提供开发资料

1. 基本介绍 MS9123 是一款单芯片 USB 投屏器&#xff0c;内部集成了 USB2.0 控制器和数据收发模块、视频 DAC 和音视频处理模块&#xff0c;MS9123 可以通过 USB 接口显示或者扩展 PC、智能手机、平板电脑的显示信 息到更大尺寸的显示设备上&#xff0c;支持 CVBS、S-Vi…

k8s1.23 部署Prometheus-Operator集群监控

1. Prometheus-Operator介绍 Prometheus Operator 为 Kubernetes 提供了对 Prometheus 相关监控组件的本地部署和管理方案&#xff0c;该项目的目的是为了简化和自动化基于 Prometheus 的监控栈配置&#xff0c;主要包括以下几个功能&#xff1a; kubernetes自定义资源&#…

day15JS-es6的基础语法

1. 严格模式 1.1 严格模式的使用方法 使用方法1&#xff1a;"use strict"; 开启严格模式。 使用方法2&#xff1a;<script type"moaule"></script> 当设置script标签为模块化时&#xff0c;自动启用严格模式。 1.2 严格模式的限制 1. 要求变量…

Android U 多任务启动分屏——整体流程介绍

序 原生的分屏功能是在多任务中&#xff0c;点击应用图标选择分屏&#xff0c;在选择多任务中的其他应用进行分屏 整体流程 层级结构 #1 DefaultTaskDisplayArea typeundefined modefullscreen override-modefullscreen requested-bounds[0,0][0,0] bounds[0,0][1440,2960…

【系统架构师软考】重难点划分及学习要点(一)

目录 引言 综合知识 案例分析 案例分析题型及选择策略 历年案例分析题型及分值分布 学习与应试策略 论文 考试规则 写作要求与技巧 忌讳与注意事项 常见题目与考查方向 引言 系统架构师软考是许多IT从业人员进阶的必经之路。面对这门考试&#xff0c;如何有效划分重难…

spring揭秘14-JdbcTemplate概述与使用操作对象访问数据

文章目录 【README】【1】JdbcTemplate概述【1.1】Jdbc原生api操作数据库【1.1.1】基于JdbcPreparedStatement批量更新 【1.2】JdbcTemplate概述【1.2.1】JdbcTemplate类图【1.2.2】使用DataSourceUtils管理Connection【1.2.3】设置Statement参数&#xff08;控制行为&#xff…

Shopee联盟营销案例对saas行业的启示

在跨境电商的浩瀚海洋中&#xff0c;Shopee以其独特的联盟营销&#xff08;AMS&#xff09;策略&#xff0c;为众多品牌商家开辟了新的增长航道。作为深耕SaaS企业渠道分销多年的林叔&#xff0c;我今天想和大家分享一个来自Shopee的成功营销案例&#xff0c;并从中提炼出对Saa…

每日OJ_牛客_抄送列表(切割字符串)

目录 牛客_抄送列表&#xff08;切割字符串&#xff09; 解析代码 牛客_抄送列表&#xff08;切割字符串&#xff09; 抄送列表__牛客网 解析代码 本题是在第一行的人名中&#xff0c;查找第二行的人名是否存在。牵涉一个全字匹配的问题。步骤&#xff1a; 通过getiine(ci…

HarmonyOS(AIP12 Beta5版)鸿蒙开发:选择条件渲染和显隐控制

开发者可以通过条件渲染或显隐控制两种方式来实现组件在显示和隐藏间的切换。本文从两者原理机制的区别出发&#xff0c;对二者适用场景分别进行说明&#xff0c;实现相应适用场景的示例并给出性能对比数据。 原理机制 条件渲染 if/else条件渲染是ArkUI应用开发框架提供的渲…

软考通过率真的很低吗?

一、软考通过率多少&#xff1f; 首先要说的是&#xff0c;软考办并没有公布过全国考试通过率。但我们可以根据官方公布的报名人数和合格人数做一个预估。 浙江软考办官方公布&#xff0c;浙江2022年下半年软考合格人数为4780人(其中初级779人、中级2392人、高级1609人)。 以…

【附解决方法】由于找不到vcruntime140_1.dll 无法继续执行代码如何处理

准备使用photoshop &#xff0c;结果弹出这个 提示“由于找不到 VCRUNTIME140_1.dll&#xff0c;无法继续执行代码。重新安装程序可能会解决此问题。”&#xff0c;这一般是什么原因导致了这个问题&#xff0c;我们要如何解决? 原因&#xff1a; vcruntime140_1.dll文件即动…

【推荐】9款适合中小企业的知识库管理系统

一、什么是知识库管理系统 知识库管理系统&#xff08;Knowledge Base Management System, KBMS&#xff09;&#xff0c;又称数字资产管理系统&#xff08;Digital Asset Management System&#xff09;&#xff0c;是专门用于管理企业知识文档、图纸、视频、音频等信息内容的…

中级测试工程师面试题

很多软件测试工程师在面试的时候都会遇到考官给的各种各样的面试题&#xff0c;这也反应了测试工程师对企业的重要性&#xff0c;面试通常分为以下几个方面&#xff0c;由于篇幅有限&#xff0c;在这里就只给大家分享一些比较常见的问题。 一、自我介绍 这里我不分享如何自我介…

FPGA——VGA协议

VGA协议 VGA简介接口及引脚定义显示原理显示电路原理VGA协议电压标准数字信号转化标准模拟信号方案数字信号时序标准 模块设计 VGA简介 VGA&#xff0c;英文全称“Video Graphics Array”&#xff0c;译为视频图形阵列&#xff0c;是一种使用模拟信号进行视频传输的标准协议&a…

观测云广告全国登陆,携手华为云引领企业迈向数智化新纪元

随着数字化转型的浪潮席卷全球&#xff0c;企业如何紧跟时代步伐&#xff0c;实现转型升级&#xff0c;已成为业界热议的焦点。华为云828 B2B企业节&#xff0c;作为业界瞩目的年度盛事&#xff0c;已于8月27日在贵阳盛大开幕。与此同时&#xff0c;观测云与华为云强强联手&…

基于 web教学管理系统设计与实现

3 总体设计 3.1 系统软件体系结构 系统采用B/S结构&#xff0c;统一管理数据库和Web服务器。在这种结构下&#xff0c;用户界面完全通过WWW浏览器实现&#xff0c;一部分事务逻辑在前端实现&#xff0c;但是主要事务逻辑在服务器端实现&#xff0c;形成所谓3-tier结构,第一…

沈阳网站建设手机能看的网站

在当今信息化的时代&#xff0c;网站已经成为企业展示形象、推广产品和服务的重要工具。尤其是在中国的沈阳&#xff0c;随着智能手机的普及&#xff0c;越来越多的用户选择通过移动设备浏览网站。因此&#xff0c;建设一个能够在手机上良好展示的网站显得尤为重要。本文将探讨…

vivado中定点类型Binary point的含义

vivado中&#xff0c;ILA或仿真波形显示的定点数&#xff0c;可以设置为有符号或无符号数&#xff0c;其中小数点位置通过Binary point设置&#xff0c;这个设置的数值&#xff0c;表示小数点后的二进制位数 参考&#xff1a; https://people-ece.vse.gmu.edu/coursewebpages/E…

【pandas2】表格数据的行列操作、查询指定的数据内容、数据类型处理、 缺失值处理和透视表、分组与聚合、数据的纵向合并(扩展数据)、数据的横向合并(连接表)

1 表格数据的行列操作 2 查询指定的数据内容 3 数据类型处理 4 缺失值处理 5 透视表 6 分组与聚合 7 统计NBA夺冠次数 8 数据的纵向合并(扩展数据) 9 数据的横向合并(连接表) 1 表格数据的行列操作 # 增 df[info] 这些车都很好 df[desc] df[Sec_price] * df[Km(W)] df.inser…