网站建设 网站优化营销型网站建设专家,龙岩网上通缉犯名单,在线种子资源网,品牌营销策略研究导语#xff1a;上一节我们深入地探讨监督学习和非监督学习的知识#xff0c;重点关注它们的理论基础、常用算法及实际应用场景#xff0c;详情可见#xff1a;
机器学习基础#xff08;二#xff09;监督与非监督学习-CSDN博客文章浏览阅读769次#xff0c;点赞15次上一节我们深入地探讨监督学习和非监督学习的知识重点关注它们的理论基础、常用算法及实际应用场景详情可见
机器学习基础二监督与非监督学习-CSDN博客文章浏览阅读769次点赞15次收藏8次。更深入地探讨监督学习和非监督学习的知识重点关注它们的理论基础、常用算法及实际应用场景。https://blog.csdn.net/qq_52213943/article/details/136163917?spm1001.2014.3001.5501 这一节我们将详细探索监督学习的进阶应用。
目录
监督学习
数据集的构成与模型学习
损失函数的选择与应用
分类与回归的深入应用
线性回归实战案例:房价预测
决策树的构建与应用
支持向量机(SVM)的高效应用
股票市场预测实战
应用概述
数据加载
特征工程
模型选择
性能评估 监督学习 监督学习作为机器学习的一个主要分支专注于从带有标签的数据中学习和建立预测模型。这些模型可以预测新数据的标签广泛应用于各种行业和领域从简单的邮件分类到复杂的医疗诊断。 数据集的构成与模型学习 在监督学习中数据集包含输入特征和输出标签这种结构使得模型能够学习输入与输出之间的关系。通过分析训练数据集中的模式监督学习模型学习如何将输入映射到正确的输出。例如在邮件分类中模型学习识别垃圾邮件和正常邮件的特征。
损失函数的选择与应用 损失函数是衡量模型预测准确度的关键它计算了模型预测结果和实际结果之间的差异不同类型的任务需选择不同的损失函数。例如回归任务常用均方误差MSE而分类任务常用交叉熵损失。 除此之外常用的损失函数还有平均绝对误差 (MAE)也用于回归任务衡量模型预测值与真实值的绝对差异对异常值不敏感对数损失 (Log Loss)用于二元分类任务评估模型的概率估计与真实标签之间的关系希望风险损失 (Hinge Loss)用于支持向量机的二元分类任务最大化分类边界的间隔。
分类与回归的深入应用 分类任务的实际案例很丰富例如电子邮件分类器通过学习标记为垃圾邮件和非垃圾邮件的电子邮件的特征来预测新邮件的类别。而回归任务的实际案例如房价预测模型通过学习房屋的特征如面积、位置等数据和历史价格数据来预测新房屋的市场价值。 在实际应用中选择分类或回归方法取决于问题的性质回归适用于连续数值预测如股票价格而分类适用于二元或多类别分类如垃圾邮件检测。正确选择方法有助于模型更准确地满足任务需求提高预测结果的可信度。
线性回归实战案例:房价预测 线性回归是一个基本的预测模型适用于预测与多个变量有线性关系的输出。在房价预测的例子中开发者将看到如何将这个理论应用于实际数据。 延续上一节关于房价预测的讨论本节将更深入地探讨如何使用房屋的特征如面积、位置和房龄来预测其市场价格。本节案例展示了如何从实际数据中提取特征以及这些特征如何影响预测结果。 这个代码示例展示了如何使用标准的Python库来加载数据、划分数据集、训练线性回归模型以及评估模型效果。图表中展示了模型预测价格与实际价格之间的关系从而直观地评估模型性能。线性回归房价预测代码如下
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
import matplotlib.pyplot as plt
# 加载数据
data pd.read_csv(housing_data.csv)
X data[[size, location, age]]
y data[price]# 划分训练集和测试集
X_train, X_test, y_train, y_test train_test_split(X, y, test_size0.3,random_state42)# 创建线性回归模型并训练
model LinearRegression()
model.fit(X_train, y_train)# 预测和评估
y_pred model.predict(X_test)
plt.scatter(y_test, y_pred)
plt.xlabel(Actual Prices)
plt.ylabel(Predicted Prices)
plt.title(Actual Prices vs Predicted Prices)
plt.show() 首先通过pd.read_csv(housing_data.csv)加载名为housing_data.csv的数据集。数据集包括了各个房屋的特征如尺寸、地理位置、房龄等以及相应的价格信息其次从数据集中选择了三个特征size房屋尺寸、location地理位置和age房龄以及一个目标列price房价。这些特征将被用于训练和测试模型。 使用train_test_split函数将数据集划分为训练集和测试集其中测试集占总数据的30%。这个步骤是为了在模型训练完成后能够用独立的数据来评估模型的性能以检验其泛化能力。创建一个线性回归模型通过model LinearRegression()实例化并使用训练集数据进行训练即model.fit(X_train, y_train)。在训练过程中模型将学习如何根据给定的特征来预测房价。使用训练好的模型对测试集进行预测将预测结果存储在y_pred中。这一步骤将生成模型对每个测试样本的房价预测值。 最后通过使用plt.scatter()和matplotlib库创建一个散点图将实际房价y_test与模型预测的房价y_pred进行可视化比较。这个图表有助于直观地了解模型的性能以及模型是否能够准确地预测房价。如果点在一条对角线上分布表示模型的预测与实际值非常接近而点的偏离则代表了预测误差。
决策树的构建与应用 决策树通过一系列规则对数据进行分类。例如使用决策树对患者数据进行分类预测疾病类型代码如下
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import accuracy_score# 加载数据
# 假设data是Pandas DataFrame包含特征和标签
X data.drop(disease, axis1)
y data[disease]# 划分训练集和测试集
X_train, X_test, y_train, y_test train_test_split(X, y, test_size0.3)# 创建决策树模型并训练
tree_model DecisionTreeClassifier()
tree_model.fit(X_train, y_train)# 进行预测和评估
y_pred tree_model.predict(X_test)
print(Accuracy:, accuracy_score(y_test, y_pred) 这段代码使用了Scikit-Learn库中的决策树分类器DecisionTreeClassifier来构建一个疾病预测模型。首先从Pandas DataFrame中加载数据将特征存储在X中将标签存储在y中。然后使用train_test_split函数将数据集分成训练集和测试集其中测试集占总数据的30%。接下来通过DecisionTreeClassifier()创建一个决策树模型并使用训练集对其进行训练。最后使用训练好的模型对测试集进行预测计算模型的准确性Accuracy作为评估指标并将结果打印出来。
支持向量机(SVM)的高效应用 SVM通过找到最佳超平面来区分不同类别的数据。在文本分类或图像识别等高维数据中应用SVM。使用支持向量机SVM进行分类任务的基本步骤代码如下
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC
from sklearn.metrics import accuracy_score
# 假设data是含有特征和标签的DataFrame
# 请确保data已经被正确加载和准备好
# 分离特征和标签
X data.drop(label, axis1)
y data[label]
# 数据划分
X_train, X_test, y_train, y_test train_test_split(X, y, test_size0.2, random_state42)
# 创建SVM模型并训练
svm_model SVC(kernellinear)
svm_model.fit(X_train, y_train)
# 预测和评估
y_pred svm_model.predict(X_test)
print(Accuracy:, accuracy_score(y_test, y_pred)) 这段代码演示了使用Scikit-Learn中的SVM分类器构建分类模型的过程。首先从DataFrame中提取特征和标签然后将数据集分为训练集和测试集。接着创建SVM模型使用线性核函数进行训练并对测试集进行预测。最后计算并打印出模型的准确性以评估模型性能。这段代码涵盖了典型的机器学习任务步骤。
股票市场预测实战 金融领域中股票市场预测一直是一个富有挑战性的课题因为它受到多种不可预测因素的影响如政治事件、经济数据发布、公司业绩报告以及市场情绪等。然而借助监督学习的方法我们可以通过分析历史股票价格数据和相关因素构建模型来预测未来的股票走势 应用概述 使用历史数据来预测股票市场的未来趋势是一个典型的监督学习应用场景其中涉及到复杂的数据分析和特征工程。我们首先需要收集历史股票价格数据这些数据通常包括开盘价、最高价、最低价、收盘价以及成交量等。此外还可以包括一些宏观经济指标、公司财报数据等以提供更全面的分析视角。可以从数据文件夹下stock_market_data.csv获得模拟数据集。
数据加载 分析历史股价数据包括开盘价、收盘价、最高价、最低价以及交易量等。从数据文件夹下stock_market_data.csv加载数据集使用Pandas库的read_csv()函数读取CSV文件代码如下 import pandas as pd #导入Pandas模块# 加载股票市场数据stock_data pd.read_csv(stock_market_data.csv) #加载数据集print(stock_data.head()) #打印数据集的前5行
特征工程 从原始数据中提取有用的特征例如移动平均线、相对强弱指数RSI等技术指标。提取特征数据的代码如下 # 计算简单移动平均线SMA和相对强弱指数RSIstock_data[SMA] stock_data[Close].rolling(window15).mean()stock_data[RSI] compute_RSI(stock_data[Close], 14) # 假设compute_RSI是一个计算RSI的函数
模型选择 讨论不同的预测模型如线性回归、时间序列分析如ARIMA模型和机器学习方法如随机森林和神经网络。由于股票价格预测是一个时间序列问题我们选择使用线性回归模型作为起始点。这是一个简单但有效的模型适合初步尝试和基线建立。代码如下
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error# 使用开盘价、高、低、交易量以及计算的SMA和RSI作为特征
X stock_data[[Open, High, Low, Volume, SMA, RSI]]
y stock_data[Close]# 划分训练集和测试集
X_train, X_test, y_train, y_test train_test_split(X, y, test_size0.2,random_state0)# 创建线性回归模型
model LinearRegression()
model.fit(X_train, y_train)# 进行预测
y_pred model.predict(X_test) 这段代码利用Scikit-Learn库中的线性回归模型使用开盘价、最高价、最低价、交易量、SMA和RSI等多个特征构建了一个股票价格预测模型。它将数据分为训练集和测试集通过线性回归模型对训练集进行训练并使用该模型对测试集进行预测最终可用于评估模型的性能表现
性能评估 使用诸如均方误差MSE、绝对平均误差MAE等指标来评估模型的准确性。在这个例子中我们使用均方误差MSE作为评估指标。它可以衡量预测值与实际股价之间的平均差异。 mse mean_squared_error(y_test, y_pred)print(fMean Squared Error: {mse}) 下一节我们将进行非监督学习的进阶探索
机器学习基础四非监督学习的进阶探索-CSDN博客非监督学习像一位探险家挖掘未标记数据的未知领域。它不依赖预先定义的类别或标签而是试图揭示数据自身的结构和关系。这种学习方式在处理复杂数据集时尤其有价值因为它能发现人类可能未曾预见的模式和联系。https://blog.csdn.net/qq_52213943/article/details/136188233?spm1001.2014.3001.5502-----------------
以上欢迎点赞收藏、评论区交流