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

花瓣网网站模板建设网站一定需要云服务器么

花瓣网网站模板,建设网站一定需要云服务器么,重庆制作网站软件,山东平台网站建设多少钱机器学习实践案例总体流程 文章目录 机器学习实践案例总体流程一、引言二、案例1、决策树对鸢尾花分类1.数据来源2.数据导入及描述3.数据划分与特征处理4.建模预测 2、各类回归波士顿房价预测1.案例数据2.导入所需的包和数据集3.载入数据集#xff0c;查看数据属性#xff0c…机器学习实践案例总体流程 文章目录 机器学习实践案例总体流程一、引言二、案例1、决策树对鸢尾花分类1.数据来源2.数据导入及描述3.数据划分与特征处理4.建模预测 2、各类回归波士顿房价预测1.案例数据2.导入所需的包和数据集3.载入数据集查看数据属性可视化 3、分割数据集并对数据集进行预处理4、利用各类回归模型对数据集进行建模5、利用网格搜索对超参数进行调节 一、引言 前面学习了一些基础知识但还没有步入机器学习算法。通过两个案例来掌握机器学习模型的训练与评估、机器学习模型搭建的总体流程以及特征处理、决策树模型、交叉检验、网格搜索等常用数据挖掘方法的知识。 二、案例 1、决策树对鸢尾花分类 1.数据来源 本道题目使用数据集为“iris.data”。这份数据集包含3种不同类型的鸢尾花 (Setosa, Versicolour, and Virginica) 的数据数据形状为150x5, 五列字段分别为sepal_length(萼片长度)、sepal_width(萼片宽度)、petal_length(花瓣长度)、petal_width(花瓣宽度)、类别。 2.数据导入及描述 导入数组处理numpy、数据分析pandas模块、可视化模块matplotlib。 import numpy as np import pandas as pd import matplotlib.pyplot as plt导入数据集文件 “iris.data”命名为iris_data将5列数据列名设置为’sepal_length_cm’, ‘sepal_width_cm’, ‘petal_length_cm’, ‘petal_width_cm’, ‘class’。 iris_data pd.read_csv(./iris.data) iris_data.columns [sepal_length_cm, sepal_width_cm, petal_length_cm, petal_width_cm, class]查看除表头外前 5 行数据查看数据描述信息。 iris_data.head() iris_data.describe()输出 sepal_length_cmsepal_width_cmpetal_length_cmpetal_width_cmcount150.000000150.000000150.000000150.000000mean5.8433333.0573333.7580001.199333std0.8280660.4358661.7652980.762238min4.3000002.0000001.0000000.10000025%5.1000002.8000001.6000000.30000050%5.8000003.0000004.3500001.30000075%6.4000003.3000005.1000001.800000max7.9000004.4000006.9000002.500000 3.数据划分与特征处理 将数据集切分为4列特征和类别导入sklearn库中的train_test_split方法将数据集的75%作为训练集和25%作为测试集。 from sklearn.model_selection import train_test_split all_inputs iris_data[[sepal_length_cm, sepal_width_cm, petal_length_cm, petal_width_cm]].values all_classes iris_data[class].values (training_inputs,testing_inputs,training_classes,testing_classes) train_test_split(all_inputs, all_classes, train_size0.75, random_state1)[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wCJdleQM-1688539473388)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230703151156315.png)] 4.建模预测 导入sklearn中的DecisionTreeClassifier构建决策树模型进行分类模型训练并在测试集上进行评分。 from sklearn.tree import DecisionTreeClassifier decision_tree_classifier DecisionTreeClassifier() decision_tree_classifier.fit(training_inputs, training_classes) decision_tree_classifier.score(testing_inputs, testing_classes)输出 0.9736842105263158导入sklearn中的cross_val_score构建决策树模型进行10次交叉验证并输出评分。 from sklearn.model_selection import cross_val_score decision_tree_classifier DecisionTreeClassifier() cv_scores cross_val_score(decision_tree_classifier, all_inputs, all_classes, cv10) print (cv_scores)输出 [1. 0.93333333 1. 0.93333333 0.93333333 0.866666670.93333333 1. 1. 1. ]构建决策树模型设置max_depth1进行10次交叉验证并输出评分。 decision_tree_classifier DecisionTreeClassifier(max_depth1) cv_scores cross_val_score(decision_tree_classifier, all_inputs, all_classes, cv10) print (cv_scores)输出 [0.66666667 0.66666667 0.66666667 0.66666667 0.66666667 0.666666670.66666667 0.66666667 0.66666667 0.66666667]导入sklearn中的GridSearchCV和StratifiedKFold构建决策树模型对决策树模型参数进行网格搜索设置parameter_grid {max_depth: [1, 2, 3, 4, 5],max_features: [1, 2, 3, 4]}进行10次交叉验证输出最优模型评分和最佳参数。 from sklearn.model_selection import GridSearchCV from sklearn.model_selection import StratifiedKFold decision_tree_classifier DecisionTreeClassifier() parameter_grid {max_depth: [1, 2, 3, 4, 5],max_features: [1, 2, 3, 4]} cross_validation StratifiedKFold(n_splits10) grid_search GridSearchCV(decision_tree_classifier, param_gridparameter_grid, cvcross_validation) grid_search.fit(all_inputs, all_classes)print(Best score: {}.format(grid_search.best_score_)) print(Best parameters: {}.format(grid_search.best_params_))输出 Best score: 0.96 Best parameters: {max_depth: 3, max_features: 4}2、各类回归波士顿房价预测 由于本案例使用的数据集样本量较小且数据来自于scikit-learn自带的开源波士顿房价数据。波士顿房价预测项目是一个简单的回归模型通过此案例可以学会一些关于机器学习库sklearn的基本用法和一些基本的数据处理方法。 1.案例数据 该案例主要内容是进行波士顿数据集共有13个特征总共506条数据每条数据包含房屋以及房屋周围的详细信息。其中包含城镇犯罪率一氧化氮浓度住宅平均房间数到中心区域的加权距离以及自住房平均房价等等。具体如下 CRIM城镇人均犯罪率。 ZN住宅用地超过 25000 sq.ft.的比例。 INDUS城镇非零售商用土地的比例。 CHAS查理斯河空变量如果边界是河流则为1否则为0。 NOX一氧化氮浓度。 RM住宅平均房间数。 AGE1940 年之前建成的自用房屋比例。 DIS到波士顿五个中心区域的加权距离。 RAD辐射性公路的接近指数。 TAX每 10000 美元的全值财产税率。 PTRATIO城镇师生比例。 B1000Bk-0.63^ 2其中 Bk 指代城镇中黑人的比例。 LSTAT人口中地位低下者的比例。 target自住房的平均房价以千美元计。2.导入所需的包和数据集 保证下方引入的内容已经被安装。 如pip install xgboost 等 # 防止不必要的警告 import warnings warnings.filterwarnings(ignore)# 引入数据科学基础包 import numpy as np import matplotlib as mpl import matplotlib.pyplot as plt import pandas as pd import scipy.stats as st import seaborn as sns# 引入机器学习预处理模型选择评估指标 from sklearn.preprocessing import StandardScaler from sklearn.model_selection import train_test_split from sklearn.model_selection import GridSearchCV from sklearn.metrics import r2_score# 引入本次所使用的波士顿数据集 from sklearn.datasets import load_boston# 引入算法 from sklearn.linear_model import RidgeCV, LassoCV, LinearRegression, ElasticNet #对比SVC是svm的回归形式 from sklearn.svm import SVR # 集成算法 from sklearn.ensemble import RandomForestRegressor, GradientBoostingRegressor from xgboost import XGBRegressor3.载入数据集查看数据属性可视化 载入波士顿房价数据集获取特征和标签查看相关属性 # 载入波士顿房价数据集 boston load_boston()# x是特征y是标签 x boston.data y boston.target# 查看相关属性 print(特征的列名) print(boston.feature_names) print(样本数据量:%d, 特征个数%d % x.shape) print(target样本数据量:%d % y.shape[0])输出 特征的列名 [CRIM ZN INDUS CHAS NOX RM AGE DIS RAD TAX PTRATIOB LSTAT] 样本数据量:506, 特征个数13 target样本数据量:506数据转化为dataframe形式 x pd.DataFrame(boston.data, columnsboston.feature_names) x.head()输出 CRIMZNINDUSCHASNOXRMAGEDISRADTAXPTRATIOBLSTAT00.0063218.02.310.00.5386.57565.24.09001.0296.015.3396.904.9810.027310.07.070.00.4696.42178.94.96712.0242.017.8396.909.1420.027290.07.070.00.4697.18561.14.96712.0242.017.8392.834.0330.032370.02.180.00.4586.99845.86.06223.0222.018.7394.632.9440.069050.02.180.00.4587.14754.26.06223.0222.018.7396.905.33 对标签的分布进行可视化 sns.distplot(tuple(y), kdeFalse, fitst.norm)3、分割数据集并对数据集进行预处理 将数据分割为训练集和测试将数据集进行标准化处理 # 数据分割 x_train, x_test, y_train, y_test train_test_split(x, y, test_size0.2, random_state28)# 标准化数据集 ss StandardScaler() x_train ss.fit_transform(x_train) x_test ss.transform(x_test) x_train[0:100]输出 array([[-0.35703125, -0.49503678, -0.15692398, ..., -0.01188637,0.42050162, -0.29153411],[-0.39135992, -0.49503678, -0.02431196, ..., 0.35398749,0.37314392, -0.97290358],[ 0.5001037 , -0.49503678, 1.03804143, ..., 0.81132983,0.4391143 , 1.18523567],...,[-0.34697089, -0.49503678, -0.15692398, ..., -0.01188637,0.4391143 , -1.11086682],[-0.39762221, 2.80452783, -0.87827504, ..., 0.35398749,0.4391143 , -1.28120919],[-0.38331362, 0.41234349, -0.74566303, ..., 0.30825326,0.19472652, -0.40978832]])4、利用各类回归模型对数据集进行建模 输入模型名字 # 模型的名字 names [LinerRegression,Ridge,Lasso,Random Forrest,GBDT,Support Vector Regression,ElasticNet,XgBoost]创建模型列表 # 定义模型 # cv在这里是交叉验证的思想 models [LinearRegression(),RidgeCV(alphas(0.001,0.1,1),cv3),LassoCV(alphas(0.001,0.1,1),cv5),RandomForestRegressor(n_estimators10),GradientBoostingRegressor(n_estimators30),SVR(),ElasticNet(alpha0.001,max_iter10000),XGBRegressor()]输出所有回归模型的R2评分 # 先定义R2评分的函数 def R2(model,x_train, x_test, y_train, y_test):model_fitted model.fit(x_train,y_train)y_pred model_fitted.predict(x_test)score r2_score(y_test, y_pred)return score遍历所有模型进行评分 # 遍历所有模型进行评分 for name,model in zip(names,models):score R2(model,x_train, x_test, y_train, y_test)print({}: {:.6f}, {:.4f}.format(name,score.mean(),score.std()))输出 LinerRegression: 0.564115, 0.0000 Ridge: 0.563673, 0.0000 Lasso: 0.564049, 0.0000 Random Forrest: 0.735384, 0.0000 GBDT: 0.730172, 0.0000 Support Vector Regression: 0.517260, 0.0000 ElasticNet: 0.563992, 0.0000 XgBoost: 0.759977, 0.00005、利用网格搜索对超参数进行调节 使用网格搜索以及交叉验证 # 模型构建 kernel: 核函数C: SVR的正则化因子,gamma: rbf, poly and sigmoid核函数的系数影响模型性能 parameters {kernel: [linear, rbf],C: [0.1, 0.5,0.9,1,5],gamma: [0.001,0.01,0.1,1] }# 使用网格搜索以及交叉验证 model GridSearchCV(SVR(), param_gridparameters, cv3) model.fit(x_train, y_train)输出 GridSearchCV(cv3, estimatorSVR(),param_grid{C: [0.1, 0.5, 0.9, 1, 5],gamma: [0.001, 0.01, 0.1, 1],kernel: [linear, rbf]})获取最优参数 # 获取最优参数 print (最优参数列表:, model.best_params_) print (最优模型:, model.best_estimator_) print (最优R2值:, model.best_score_)输出 最优参数列表: {C: 5, gamma: 0.1, kernel: rbf} 最优模型: SVR(C5, gamma0.1) 最优R2值: 0.7965173649188232可视化 ln_x_test range(len(x_test)) y_predict model.predict(x_test)# 设置画布 plt.figure(figsize(16,8), facecolorw) # 用红实线画图 plt.plot(ln_x_test, y_test, r-, lw2, labelu真实值) # 用绿实线画图 plt.plot(ln_x_test, y_predict, g-, lw 3, labeluSVR算法估计值,$R^2$%.3f % (model.best_score_))# 图形显示 plt.legend(loc upper left) plt.grid(True) plt.title(u波士顿房屋价格预测(SVM)) plt.xlim(0, 101) plt.show()结果 如汉字不能正常显示请设置为英文或将字体文件放到指定路径中在使用时调用字体文件。 如不能解决请参考https://blog.csdn.net/hfy1237/article/details/128218567
http://www.zqtcl.cn/news/674906/

相关文章:

  • 可信网站 quot 验证能防范哪些安全.教育类app开发价格表
  • 网站设计服务流程深圳网站设计公司费用大概多少
  • 邮件网站怎么做的本地计算机做网站服务器
  • 自己建的网站打不开html5 手机网站 模版
  • 网站建设跟网站结构如何提高网站排名的方法
  • 网站模板 缓存商标网上开店创业计划书
  • 沧州网站建设微艾薇怎样给企业做网站
  • 如何做淘宝客的网站个人网站设计与制作代码
  • 信用门户网站建设观摩惠州专业做网站
  • wordpress打开网站前广告佛山百度推广seo服务
  • 松北建设局网站vps 用ip可以访问网站么
  • 网站图片内容免费开源crm
  • wordpress调用分类栏目wordpress文章优化
  • 建站公司上海企业官网模板下载
  • 网站建设推广话术wordpress 不显示缩略图
  • 企业电子商务网站建设和一般百拓公司做网站怎么样
  • 吉林网站建设司上海什么做网站的公司比较好
  • 吉安市建设规划局网站jsp wordpress
  • 建设银行贵金属网站微信小程序注册后怎么使用
  • 如何做律师网站河南建网站 优帮云
  • 云阳如何做网站网站建设旅游
  • 推荐一个简单的网站制作单位网站服务的建设及维护
  • tp5网站文档归档怎么做网站 信用卡支付接口
  • phpcms 企业网站网站建设中单页代码
  • 坑梓网站建设方案网络编程技术及应用
  • 电子商务网站建设 价格新媒体运营需要具备哪些能力
  • 做生存分析的网站电商网站运营建设的目标
  • 佛山 做网站邮箱官方网站注册
  • 生成flash的网站源码表白二维码制作网站
  • 定做专业营销型网站网站开发应用