当前位置: 首页 > news >正文

网站排名优化技术edm营销

网站排名优化技术,edm营销,深圳福田专业网站建设,做整形网站多少钱目录 引言 1. 数据收集与预处理 2. 划分数据集 3. 构建随机森林模型 4. 模型训练 5. 模型评估 6. 模型调优 数据集 代码及结果 独热编码 随机森林模型训练 特征重要性图 混淆矩阵 ROC曲线 引言 随机森林(Random Forest)是一种集成学习方法…

目录

引言

1. 数据收集与预处理

2. 划分数据集

3. 构建随机森林模型

4. 模型训练

5. 模型评估

6. 模型调优

数据集

代码及结果

独热编码

随机森林模型训练

特征重要性图

混淆矩阵

ROC曲线


引言

随机森林(Random Forest)是一种集成学习方法,它通过构建多个决策树并将它们的预测结果进行综合来改进模型的预测准确性和鲁棒性。在预测汽车销售方面,随机森林可以有效地处理包含多种特征(如车辆品牌、型号、年份、里程数、配置、价格等)的数据集,并预测销售数量、价格或顾客购买意向等。

以下是使用随机森林模型预测汽车销售的基本步骤:

1. 数据收集与预处理

  • 收集数据:首先,需要收集汽车销售的相关数据。这些数据可能包括车辆的技术规格、历史销售价格、市场需求数据、客户反馈等。
  • 数据清洗:去除重复项、缺失值处理(可以通过插值、删除或使用预测模型填补缺失值)、异常值处理等。
  • 特征选择:选择对汽车销售有显著影响的特征,比如车型、品牌、年份、配置、价格等。
  • 特征工程:对特征进行编码(如将分类变量转换为数值型),可能还需要进行特征缩放(如归一化或标准化)。

2. 划分数据集

  • 将数据集划分为训练集和测试集(通常按70%-30%或80%-20%的比例划分)。训练集用于训练模型,测试集用于评估模型的性能。

3. 构建随机森林模型

  • 使用训练集构建随机森林模型。随机森林模型的关键参数包括决策树的数量(n_estimators)、每个决策树分裂时考虑的特征数(max_features)、树的深度(如果设置了)等。
  • 通过交叉验证(如网格搜索)来优化这些参数,以找到最佳的模型配置。

4. 模型训练

  • 使用训练集数据训练随机森林模型。

5. 模型评估

  • 使用测试集评估模型的性能。评估指标可能包括准确率、召回率、F1分数、均方误差(MSE)等,具体取决于预测目标(如销售数量、价格或购买意向)。

6. 模型调优

  • 根据评估结果调整模型参数或进行特征工程,以进一步提高模型性能。

数据集

数据集如下图所示:

代码及结果

import pandas as pd  
from sklearn.model_selection import train_test_split  
from sklearn.linear_model import LinearRegression  
from sklearn.metrics import mean_squared_error  
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score # 加载数据集  
data = pd.read_csv('D:/项目/汽车销售/汽车销售财务业绩.csv',encoding='GBK') 
# 查看数据集的维度
print(data.shape)
# 查看数据集的前几行
print(data.head())

独热编码

独热编码(One-Hot Encoding)是一种常用的将类别型数据(Categorical Data)转换为数值型数据(Numerical Data)的方法,特别适用于机器学习算法中。在独热编码中,每个类别值都会被转换成一个新的二进制列(也称为哑变量),这些列中只有一个为1(表示该样本属于该类别),其余为0。这种方法能够确保模型能够正确处理类别型数据,并且每个类别都被视为完全独立的特征。

#文本分析,使用独热编码将文本型数据转换为数值型数据# 对'销售类型'进行独热编码  
sales_type_onehot = pd.get_dummies(data['销售类型'], prefix='销售类型')  # 对'销售模式'进行独热编码  
sales_mode_onehot = pd.get_dummies(data['销售模式'], prefix='销售模式')  # 将独热编码的DataFrame与原始DataFrame(除去'销售类型'、'销售模式'和'输出'列)合并   
data_without_categorical = data.drop(['销售类型', '销售模式', '输出'], axis=1)  
data_encoded = pd.concat([data_without_categorical, sales_type_onehot, sales_mode_onehot], axis=1)  # 将最后一列作为目标变量(y)  
y = data['输出'].map({'正常': 0, '异常': 1})  # 其余作为特征(X)  
X = data_encoded  

随机森林模型训练

 # 机器学习选择随机森林算法
# 划分训练集和测试集  
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)    # 创建随机森林分类器  
from sklearn.ensemble import RandomForestClassifier  
clf = RandomForestClassifier(n_estimators=100, random_state=42)    # 训练模型  
clf.fit(X_train, y_train)    # 预测测试集  
y_pred = clf.predict(X_test)    # 评估模型  
from sklearn.metrics import accuracy_score  
accuracy = accuracy_score(y_test, y_pred)    
print(f'Model accuracy: {accuracy}')

特征重要性图

import matplotlib.pyplot as plt  
import numpy as np# 获取特征重要性  
importances = clf.feature_importances_  
std = np.std([tree.feature_importances_ for tree in clf.estimators_], axis=0)  
indices = np.argsort(importances)[::-1]  # 绘制特征重要性  
plt.figure()  
plt.title("Feature importances")  
plt.bar(range(X_train.shape[1]), importances[indices],  color="r", yerr=std[indices], align="center")  
plt.xticks(range(X_train.shape[1]), indices)  
plt.xlim([-1, X_train.shape[1]])  
plt.show()

混淆矩阵

from sklearn.metrics import confusion_matrix  
from sklearn.metrics import plot_confusion_matrix  # 绘制混淆矩阵  
cm = confusion_matrix(y_test, y_pred)  
disp = plot_confusion_matrix(clf, X_test, y_test,  display_labels=['正常', '异常'],  cmap=plt.cm.Blues,  normalize=None)  
disp.ax_.set_title('Confusion Matrix')  
plt.show()

ROC曲线

from sklearn.metrics import roc_curve, auc  
from sklearn.metrics import plot_roc_curve  # 计算ROC曲线和AUC  
fpr, tpr, thresholds = roc_curve(y_test, clf.predict_proba(X_test)[:, 1])  
roc_auc = auc(fpr, tpr)  # 绘制ROC曲线  
plt.figure()  
lw = 2  
plt.plot(fpr, tpr, color='darkorange', lw=lw, label='ROC curve (area = %0.2f)' % roc_auc)  
plt.plot([0, 1], [0, 1], color='navy', lw=lw, linestyle='--')  
plt.xlim([0.0, 1.0])  
plt.ylim([0.0, 1.05])  
plt.xlabel('False Positive Rate')  
plt.ylabel('True Positive Rate')  
plt.title('Receiver Operating Characteristic Example')  
plt.legend(loc="lower right")  
plt.show()

http://www.hkea.cn/news/655776/

相关文章:

  • 集约化网站建设情况广告公司网站制作
  • 网站制作发票字节跳动广告代理商加盟
  • 义乌做网站武汉seo推广优化公司
  • 济宁哪家网站建设公司正规谷歌浏览器 免费下载
  • 有没有女的做任务的网站广东省新闻
  • seo长尾关键词优化如何做网站推广优化
  • 网站搭建服务合同seo排名赚
  • 东莞有什么比较好的网站公司苏州关键词排名系统
  • 做中国供应商免费网站有作用吗浙江网站推广运营
  • mysql8 wordpress百度推广优化是什么意思
  • 做装修广告网站好seo推广公司招商
  • 城市模拟建设游戏网站今天最新的新闻头条新闻
  • 手机网站自适应代码品牌网络营销策划方案
  • 个人网站建设在哪里百度资源搜索平台
  • 云空间免费空间北京网站优化校学费
  • 个人网站做导航网站项目推广平台有哪些
  • 威海住房建设局网站培训学校资质办理条件
  • 做趣味图形的网站免费线上培训平台
  • 女生做网站前端设计师成都网站seo
  • 濮阳建设银行官方网站搜索引擎优化的对比
  • 完全删除wordpressseo小白入门
  • 做网站常用到的css标签什么软件可以找客户资源
  • 有做销售产品的网站有哪些新闻头条今日新闻
  • 深圳自己做网站 服务器优化的近义词
  • 网站开发职业工资网站推广上首页
  • 宝安附近公司做网站建设多少钱深圳百度开户
  • 成都紧急通知seo网络营销招聘
  • 思坎普网站建设如何做营销推广
  • 太原网站优化公司有域名和服务器怎么建网站
  • 网站策划的前景seo 推广