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

网站做可以退款吗asp net做购物网站

网站做可以退款吗,asp net做购物网站,怎么注册微信号,手机网页尺寸导读#xff1a; 本文将继续修炼回归模型算法#xff0c;并总结了一些常用的除线性回归模型之外的模型#xff0c;其中包括一些单模型及集成学习器。 保序回归、多项式回归、多输出回归、多输出K近邻回归、决策树回归、多输出决策树回归、AdaBoost回归、梯度提升决策树回归…导读 本文将继续修炼回归模型算法并总结了一些常用的除线性回归模型之外的模型其中包括一些单模型及集成学习器。 保序回归、多项式回归、多输出回归、多输出K近邻回归、决策树回归、多输出决策树回归、AdaBoost回归、梯度提升决策树回归、人工神经网络、随机森林回归、多输出随机森林回归、XGBoost回归。 需要面试或者需要总体了解/复习机器学习回归模型的小伙伴可以通读下本文理论总结加代码实操有助于理解模型。 本文所用数据说明所有模型使用数据为股市数据与线性回归模型中的数据一样可以做参考此处将不重复给出。 保序回归 保序回归或单调回归是一种将自由形式的直线拟合到一系列观测值上的技术这样拟合的直线在所有地方都是非递减(或非递增)的并且尽可能靠近观测值。 理论规则是 如果预测输入与训练中的特征值完全匹配则返回相应标签。如果一个特征值对应多个预测标签值则返回其中一个具体是哪一个未指定。如果预测输入比训练中的特征值都高或者都低则相应返回最高特征值或者最低特征值对应标签。如果一个特征值对应多个预测标签值则相应返回最高值或者最低值。如果预测输入落入两个特征值之间则预测将会是一个分段线性函数其值由两个最近的特征值的预测值计算得到。如果一个特征值对应多个预测标签值则使用上述两种情况中的处理方式解决。 n  len(dataset[Adj Close])X  np.array(dataset[Open].values)y  dataset[Adj Close].valuesfrom sklearn.isotonic import IsotonicRegressionirIsotonicRegression()y_irir.fit_transform(X,y) 将拟合过程可视化 红色散点图是原始数据X-y关系图绿色线为保序回归拟合后的数据X-y_ir关系图。这里以可视化的形式表现了保序回归的理论规则。 lines[[[i,y[i]],[i,y_ir[i]]] for i in range(n)]lcLineCollection(lines)plt.figure(figsize(15,6))plt.plot(X,y,r.,markersize12)plt.plot(X,y_ir,g.-,markersize12)plt.gca().add_collection(lc)plt.legend((Data,Isotonic Fit,Linear Fit))plt.title(Isotonic Regression)plt.show( 多项式回归 多项式回归(PolynomialFeatures)是一种用多项式函数作为自变量的非线性方程的回归方法。 将数据转换为多项式。多项式回归是一般线性回归模型的特殊情况。它对于描述曲线关系很有用。曲线关系可以通过平方或设置预测变量的高阶项来实现。 sklearn中的多项式拟合 X  dataset.iloc[ : , 0:4].valuesY  dataset.iloc[ : ,  4].valuesfrom sklearn.preprocessing import PolynomialFeaturesfrom sklearn.linear_model import LinearRegressionpolyPolynomialFeatures(degree3)poly_xpoly.fit_transform(X)regressorLinearRegression()regressor.fit(poly_x,Y)plt.scatter(X,Y,colorred)plt.plot(X,regressor.predict(poly.fit_transform(X)),colorblue)plt.show() 以原始数据绘制X-Y红色散点图并绘制蓝色的、经过多项式拟合后再进行线性回归模型拟合的直线图。 一元自变量计算三阶多项式 from scipy import *f  np.polyfit(X,Y,3)p  np.poly1d(f)print(p) 3            2-6.228e-05x 0.0023x 0.9766x 0.05357 多元自变量的多项式 from sklearn.preprocessing import PolynomialFeaturesfrom sklearn import linear_modelX  np.array(dataset[[Open, High, Low]].values)Y  np.array(dataset[Adj Close].values)Y  Y.reshape(Y.shape[0], -1)poly  PolynomialFeatures(degree3)X_  poly.fit_transform(X)predict_  poly.fit_transform(Y) Pipeline形式 from sklearn.pipeline import PipelineX  np.array(dataset[Open].values)Y  np.array(dataset[Adj Close].values)X  X.reshape(X.shape[0], -1)Y  Y.reshape(Y.shape[0], -1)Input[(scale,StandardScaler()),(polynomial, PolynomialFeatures(include_biasFalse)),(model,LinearRegression())]pipe  Pipeline(Input)pipe.fit(X,Y)yhat  pipe.predict(X)yhat[0:4] array([[3.87445269],[3.95484371],[4.00508501],[4.13570206]]) numpy 中的多项式拟合 首先理解nump用于多项式拟合的两个主要方法。 np.poly1d np.poly1d(c_or_r, rFalse, variableNone) 一维多项式类用于封装多项式上的自然操作以便上述操作可以在代码中采用惯用形式。如何理解呢看看下面几个例子。 c_or_r系数向量 import numpy as npanp.array([2,1,1])fnp.poly1d(a)print(f) 22 x 1 x 1 rFalse是否反推 表示把数组中的值作为根然后反推多项式。 fnp.poly1d([2,3,5],rTrue)#(x - 2)*(x - 3)*(x - 5)   x^3 - 10x^2  31x -30print(f) 3      21 x - 10 x 31 x - 30 variableNone表示改变未知数的字母 fnp.poly1d([2,3,5],rTrue,variablez)print(f) 3      21 z - 10 z 31 z - 30 np.polyfit np.polyfit(x, y, deg, rcondNone, fullFalse, wNone, covFalse) 最小二乘多项式拟合。 拟合多项式。返回一个系数p的向量以最小化平方误差的顺序degdeg-1…0。 推荐使用 numpy.polynomial.polynomial.Polynomial.fit 类方法因为它在数值上更稳定。 下图是以原始数据绘制的蓝色X-Y散点图以及红色的X分布图。 X  dataset[Open].valuesy  dataset[Adj Close].valuesfrom sklearn.model_selection import train_test_splitX_train, X_test, y_train, y_test  train_test_split(X, y, test_size0.25)plt.figure(figsize(10,6))plt.plot(X_train, y_train, bo)plt.plot(X_test, np.zeros_like(X_test), r)plt.show()numpy与sklearn中的多项式回归对比 # numpymodel_one  np.poly1d(np.polyfit(X_train, y_train,1))preds_one  model_one(X_test)print(preds_one[:3]) [11.59609048 10.16018804 25.23716889]# sklearnfrom sklearn.linear_model import LinearRegressionmodel  LinearRegression()model.fit(X_train.reshape(-1, 1), y_train)preds  model.predict(X_test.reshape(-1, 1))preds[:3] array([11.59609048, 10.16018804, 25.23716889])# 预测结果是一样的print(all close?, np.allclose(preds, preds_one)) all close? True 结果表明两者相比预测结果时一致的。 多阶多项式效果对比 比较一阶、二阶及三阶多项式拟合多线性回归模型的效果影响。由图可看出三条线基本重合且RMSE相差不大。 model_one  np.poly1d(np.polyfit(X_train, y_train,1))model_two  np.poly1d(np.polyfit(X_train, y_train, 2))model_three  np.poly1d(np.polyfit(X_train, y_train, 3))fig, axes  plt.subplots(1, 2, figsize(14, 5),shareyTrue)labels  [line, parabola, nonic]models  [model_one, model_two, model_three]train  (X_train, y_train)test  (X_test, y_test)for ax, (ftr, tgt) in zip(axes, [train, test]):ax.plot(ftr, tgt, k)num  0 for m, lbl in zip(models, labels):ftr  sorted(ftr)ax.plot(ftr, m(ftr), -, labellbl)if ax  axes[1]:ax.text(2,55-num, f{lbl}_RMSE: {round(np.sqrt(mse(tgt, m(tgt))),3)})num  5axes[1].set_ylim(-10, 60)axes[0].set_title(Train)axes[1].set_title(Test);axes[0].legend(locbest); 绘制类似学习曲线 因低阶多项式效果相差并不明显因此增大多项式阶数并以残差平方和为y轴看模型拟合效果由图可以看出随着多项式阶数越来越高模型出现严重的过拟合训练集残差平方和降低而测试集却在上涨。 results  []for complexity in [1, 2, 3, 4, 5, 6,7,8, 9]:model  np.poly1d(np.polyfit(X_train, y_train, complexity))train_error  np.sqrt(mse(y_train, model(X_train)))test_error  np.sqrt(mse(y_test,model(X_test)))results.append((complexity, train_error, test_error))columns  [Complexity, Train Error, Test Error]results_df  pd.DataFrame.from_records(results, columnscolumns,indexComplexity)results_dfresults_df.plot(figsize(10,6)) 多输出回归 多输出回归为每个样本分配一组目标值。这可以认为是预测每一个样本的多个属性比如说一个具体地点的风的方向和大小。 多输出回归支持 MultiOutputRegressor 可以被添加到任何回归器中。这个策略包括对每个目标拟合一个回归器。因为每一个目标可以被一个回归器精确地表示通过检查对应的回归器可以获取关于目标的信息。因为 MultiOutputRegressor 对于每一个目标可以训练出一个回归器所以它无法利用目标之间的相关度信息。 支持多类-多输出分类的分类器: sklearn.tree.DecisionTreeClassifier sklearn.tree.ExtraTreeClassifier  sklearn.ensemble.ExtraTreesClassifier  sklearn.neighbors.KNeighborsClassifiersklearn.neighbors.RadiusNeighborsClassifiersklearn.ensemble.RandomForestClassifier X  dataset.drop([Adj Close, Open], axis1)Y  dataset[[Adj Close, Open]]from sklearn.multioutput import MultiOutputRegressorfrom sklearn.svm import LinearSVRmodel  LinearSVR()wrapper  MultiOutputRegressor(model)wrapper.fit(X, Y)data_in  [[23.98, 22.91, 7.00, 7.00, 1.62, 1.62, 4.27, 4.25]]yhat  wrapper.predict(data_in)print(yhat[0]) [16.72625136 16.72625136]wrapper.score(X, Y) 多输出K近邻回归 多输出K近邻回归可以不使用MultiOutputRegressor作为外包装器直接使用KNeighborsRegressor便可以实现多输出回归。 X  dataset.drop([Adj Close, Open], axis1)Y  dataset[[Adj Close, Open]]from sklearn.neighbors import KNeighborsRegressormodel  KNeighborsRegressor()model.fit(X, Y)data_in  [[23.98, 22.91, 7.00, 7.00, 1.62, 1.62, 4.27, 4.25]]yhat  model.predict(data_in)print(yhat[0]) [2.34400001 2.352     ]model.score(X, Y) 0.7053689393640217 决策树回归 决策树是一种树状结构她的每一个叶子结点对应着一个分类非叶子结点对应着在某个属性上的划分根据样本在该属性上的不同取值降气划分成若干个子集。 基本原理 数模型通过递归切割的方法来寻找最佳分类标准进而最终形成规则。CATA树对回归树用平方误差最小化准则进行特征选择生成二叉树。 CATA回归树的生成 在训练数据集所在的空间中递归地将每个空间区域划分为两个子区域并决定每个子区域上的输出值生产二叉树。 选择最优切分变量  和最优切分点  求解 遍历  对固定的切分变量  扫描切分点  使得上式达到最小值的对  不断循环直至满足条件停止。 X  dataset.drop([Adj Close, Close], axis1)  y  dataset[Adj Close] # 划分训练集和测试集略 # 模型实例化from sklearn.tree import DecisionTreeRegressor  regressor  DecisionTreeRegressor()  # 训练模型regressor.fit(X_train, y_train)# 回归预测y_pred  regressor.predict(X_test)df  pd.DataFrame({Actual:y_test, Predicted:y_pred})  print(df.head(2)) Actual  PredictedDate                         2017-08-09   12.83      12.632017-11-14   11.12      11.20 模型评价 from sklearn import metrics # 平均绝对误差print(metrics.mean_absolute_error(y_test, y_pred))  # 均方差print(metrics.mean_squared_error(y_test, y_pred))# 均方根误差print(np.sqrt(metrics.mean_squared_error(y_test, y_pred))) 0.09246808936170.02269660102120.1506539114039 交叉验证 from sklearn.model_selection import cross_val_scoredt_fit  regressor.fit(X_train, y_train)dt_scores  cross_val_score(dt_fit, X_train, y_train, cv  5)print(Mean cross validation score: {}.format(np.mean(dt_scores)))print(Score without cv: {}.format(dt_fit.score(X_train, y_train))) Mean cross validation score: 0.99824909037Score without cv: 1.0 R2 from sklearn.metrics import r2_scoreprint(r2 score:, r2_score(y_test, dt_fit.predict(X_test)))print(Accuracy Score:, dt_fit.score(X_test, y_test)) r2 score: 0.9989593390532074Accuracy Score: 0.9989593390532074 亚太杯赛题思路发布中文版https://mbd.pub/o/bread/ZpeZm5dp
http://www.hkea.cn/news/14343760/

相关文章:

  • 个人发布房源的网站wordpress下载面板美化
  • 公司网站免备案互动平台有效学时
  • 学做网站开发要1万6四川林峰脉建设工程有限公司网站
  • 做网站大约需要多少钱互联网装饰网站
  • 网站如何做微信支付宝支付宝支付wordpress 归档页面
  • 微信网站怎么收款自己可以用百度云做网站吗
  • 网站程序结构网站不收录是什么原因
  • 网站中文域名企业网络推广培训
  • 江苏建站系统WordPress注册无需发送邮件
  • 做网站联盟要多少钱网络营销导向企业网站建设的一般原则
  • 免备案手机网站软件系统定制开发
  • 高密住房和城乡建设部网站装修公司网站模板下载
  • 淘宝网网站建设网站如何被搜索引擎收录
  • 济南城乡建设官方网站兰州网站关键字优化
  • 深圳招聘网站排行域名注册查询入口网址
  • 一份完整的项目计划书谷歌seo怎么做
  • 电子商务网页设计与网站建设论文上海互联网公司排名
  • 给企业做网站的公司有哪些网站建设项目的工期计划
  • 江苏网站建设哪家快点网站建设有哪些方法
  • c语言也能干大事网站开发网站建设素材使用应该注意什么
  • 怎么在现有网站做直播内容电子商务网站建设选择
  • 购物网站怎么运营推广我国档案网站建设比较分析
  • 旅游网站管理系统论文深圳石岩做网站的公司
  • 公司招人去哪个网站宁波网站建设与推广方案
  • 电子商务书城网站建设方案注册功能的网站怎么做
  • 做淘客网站备案动画制作流程
  • 修车店怎么做网站网站怎么看好与不好
  • 网站建设公司的商业模式安徽建筑培训网
  • 电子商务网站建设维护有没有欺骗企业自建网站 备案
  • 赤峰网站建设企业福田附近公司做网站建设多少钱