沪深300指数怎么买seo技术手段

news/2025/9/23 12:10:26/文章来源:
沪深300指数怎么买,seo技术手段,短网址生成算法,9377页游官网创建分类器 简介#xff1a;分类是指利用数据的特性将其分类成若干类型的过程。分类与回归不同#xff0c;回归的输出是实数。监督学习分类器就是用带标记的训练数 据建立一个模型#xff0c;然后对未知的数据进行分类。分类器可以实现分类功能的任意算法#xff0c;最简单…创建分类器 简介分类是指利用数据的特性将其分类成若干类型的过程。分类与回归不同回归的输出是实数。监督学习分类器就是用带标记的训练数 据建立一个模型然后对未知的数据进行分类。分类器可以实现分类功能的任意算法最简单的分类器就是简单的数学函数。其中有二元binary分类器将数据分成两类也可多元multiclass分类器将数据分成两个以上的类型。解决分类问题的数据手段都倾向于解决二元分类问题可通过不同形式对其进行扩展进而解决多元分类。 1、建立简单分类器 import numpy as np import matplotlib.pyplot as plt# 准备数据 X np.array([[3,1], [2,5], [1,8], [6,4], [5,2], [3,5], [4,7], [4,-1]]) y [0, 1, 1, 0, 0, 1, 1, 0] # 根据y的值分类X取值范围为0~N-1N表示有N个类 class_0np.array([X[i] for i in range(len(X)) if y[i]0]) class_1np.array([X[i] for i in range(len(X)) if y[i]1]) # 将点画出 plt.figure() plt.scatter(class_0[:,0],class_0[:,1],colorred,markers) plt.scatter(class_1[:,0],class_1[:,1],colorblack,markerx) # 创建yx的直线 line_xrange(10) line_yline_x plt.plot(line_x,line_y,colorblue,linewidth3) plt.show() 2、逻辑回归分类器 逻辑回归是一种分类方法给定一组数据点需要建立一个可以在类之间绘制线性边界的模型。就可以对训练数据派生的一组方程进行求解来提取边界。 import numpy as np from sklearn import linear_model import matplotlib.pyplot as plt# 准备数据 X np.array([[4, 7], [3.5, 8], [3.1, 6.2], [0.5, 1], [1, 2], [1.2, 1.9], [6, 2], [5.7, 1.5], [5.4, 2.2]]) y np.array([0, 0, 0, 1, 1, 1, 2, 2, 2])# 初始化一个逻辑分类回归器 classifierlinear_model.LogisticRegression(solverliblinear,C10000)#solver设置求解系统方程的算法类型C表示正则化强度越小表强度越高,C越大各个类型的边界更优。#训练分类器 classifier.fit(X,y)# 定义画图函数 def plot_classifier(classifier,X,y):# 获取xy的最大最小值并设置余值x_min,x_maxmin(X[:,0])-1.0,max(X[:,0]1.0)y_min,y_maxmin(X[:,1])-1.0,max(X[:,1]1.0)# 设置网格步长step_size0.01# 设置网格x_values,y_valuesnp.meshgrid(np.arange(x_min,x_max,step_size),np.arange(y_min,y_max,step_size))# 计算出分类器的分类结果mesh_outputclassifier.predict(np.c_[x_values.ravel(),y_values.ravel()])mesh_outputmesh_output.reshape(x_values.shape)# 画图plt.figure()#选择配色方案plt.pcolormesh(x_values,y_values,mesh_output,cmapplt.cm.gray)# 画点plt.scatter(X[:,0],X[:,1],cy,s80,edgecolorsblack,linewidths1,cmapplt.cm.Paired)# 设置图片取值范围plt.xlim(x_values.min(),x_values.max())plt.ylim(y_values.min(),y_values.max())# 设置x与y轴plt.xticks((np.arange(int(min(X[:, 0]) - 1), int(max(X[:, 0]) 1), 1.0)))plt.yticks((np.arange(int(min(X[:, 1]) - 1), int(max(X[:, 1]) 1), 1.0)))plt.show()# 画出数据点和边界 plot_classifier(classifier,X,y) 3、朴素贝叶斯分类去 用贝叶斯定理进行建模的监督学习分类器。 下面举个例子虽然这个例子没有区分训练集和测试集一般情况最好还是区分一下。 from sklearn.naive_bayes import GaussianNB# 准备数据 input_file data_multivar.txt X [] y [] with open(input_file, r) as f:for line in f.readlines():data [float(x) for x in line.split(,)]X.append(data[:-1])y.append(data[-1])X np.array(X) y np.array(y) # 建立朴素贝叶斯分类器 classifier_gaussiannbGaussianNB() classifier_gaussiannb.fit(X,y) y_preclassifier_gaussiannb.predict(X) # 计算分类器的准确性 accuracy100.0*(yy_pre).sum()/X.shape[0] print(结果:,accuracy) # 画出数据和边界 plot_classifier(classifier_gaussiannb,X,y) 4、将数据集分割成训练集和数据集 分割训练集和测试集更好的评估模型 from sklearn.naive_bayes import GaussianNB from sklearn import cross_validation# 准备数据 input_file data_multivar.txt X [] y [] with open(input_file, r) as f:for line in f.readlines():data [float(x) for x in line.split(,)]X.append(data[:-1])y.append(data[-1])X np.array(X) y np.array(y) x_train,x_test,y_train,y_testcross_validation.train_test_split(X,y,test_size0.25,random_state5)# 测试数据占25% # 建立朴素贝叶斯分类器 classifier_gaussiannbGaussianNB() classifier_gaussiannb.fit(x_train,y_train) y_test_preclassifier_gaussiannb.predict(x_test) # 计算分类器的准确性 accuracy100.0*(y_testy_test_pre).sum()/x_test.shape[0] print(结果:,accuracy) # 画出数据和边界 plot_classifier(classifier_gaussiannb,x_test,y_test_pre) 5、用交叉验证检验模型准确性 为了能让模型更加稳定还需要用数据的不同子集进行反复验证若只是对特定的子集进行微调会造成过度拟合。 5.1 性能指标 概念 精度precision被正确分类的样本数量占分类器分类出的总分类样本数量的百分比。召回率recall被正确分类的样本数量占某分类总样本数量的百分比。 良好的机器学习模型需要保持两个指标能够同事处于合理高度所以引入F1得分指标是精度和召回率的合成指标实际上是精度和召回率的调和均值harmonic mean公式如下 F1得分2精度召回率/(精度召回率) 代码实现交叉验证 num_validations 5# 正确率accuracy cross_validation.cross_val_score(classifier_gaussiannb,X, y, scoringaccuracy, cvnum_validations)print(Accuracy: str(round(100*accuracy.mean(), 2)) %)# F1f1 cross_validation.cross_val_score(classifier_gaussiannb,X, y, scoringf1_weighted, cvnum_validations)print(F1: str(round(100*f1.mean(), 2)) %)# 精度precision cross_validation.cross_val_score(classifier_gaussiannb,X, y, scoringprecision_weighted, cvnum_validations)print(Precision: str(round(100*precision.mean(), 2)) %)# 召回率recall cross_validation.cross_val_score(classifier_gaussiannb,X, y, scoringrecall_weighted, cvnum_validations)print(Recall: str(round(100*recall.mean(), 2)) %)# 画出数据和边界plot_classifier(classifier_gaussiannb,x_test,y_test_pre)6、混淆矩阵可视化 混淆矩阵confusion matrix是理解分类模型性能的数据表它有助于我们理解如何把测试数据分成不同的类。当向对算法进行调优时就需要在 对算法做出改变之前了解数据的错误分类情况。有些分类效果比其他分类效果差混淆矩阵可以帮我们理解。 from sklearn.metrics import confusion_matrix# 显示混淆矩阵 def plot_confusion_matrix(confusion_mat):plt.imshow(confusion_mat,interpolationnearest,cmapplt.cm.gray)plt.colorbar()tick_marksnp.arange(4)plt.xticks(tick_marks,tick_marks)plt.yticks(tick_marks,tick_marks)plt.show()y_true [1, 0, 0, 2, 1, 0, 3, 3, 3] y_pred [1, 1, 0, 2, 1, 0, 1, 3, 3] confusion_matconfusion_matrix(y_true,y_pred) plot_confusion_matrix(confusion_mat) 7、提取性能报告 可直接使用上面的scikit-learn打印精度、召回率和F1得分。但是如果不需要单独计算各个指标可用该函数直接从模型中提取所有统计值。 # 提取性能报告 from sklearn.metrics import classification_reporttarget_names [Class-0, Class-1, Class-2, Class-3] print(classification_report(y_true,y_pred,target_namestarget_names)) 8、根据汽车特征评估质量 使用随机森林分类器用一个包含汽车多种细节的数据集分类吧汽车的质量分成4中不达标、达标、良好、优秀。代码如下 from sklearn import preprocessing from sklearn.ensemble import RandomForestClassifier# 准备数据 input_file car.data.txtX [] count 0 with open(input_file, r) as f:for line in f.readlines():data line[:-1].split(,) # line[:-1]表示line中最后一个换行删除X.append(data)X np.array(X)# 使用标记编将字符串转化为数值 label_encoder [] X_encoder np.empty(X.shape) print(X[0]) for i, item in enumerate(X[0]): # 由于相同的信息是以列的形式显示所以应该按列进行标记编码label_encoder.append(preprocessing.LabelEncoder()) # 初始化每列的标记编码器X_encoder[:, i] label_encoder[-1].fit_transform(X[:, i]) # 未标记编码X X_encoder[:, :-1].astype(int) # 将所有数据的除最后一列作为X最后一列作为y y X_encoder[:, -1].astype(int)# 训练随机森林分类器 params {n_estimators: 200, max_depth: 8, random_state: 7} # 跟上章监督学习中的随机森林回归的参数一个意思 # n_estimators指评估器的数量则决策树数量min_samples_split指决策树分裂一个节点需要用到的最小数据样本量 classifier RandomForestClassifier(**params) classifier.fit(X, y)# 进行交叉验证 from sklearn import model_selection# model_selection 将之前的sklearn.cross_validation, sklearn.grid_search 和 sklearn.learning_curve模块组合到一起accuracy model_selection.cross_val_score(classifier, X, y, scoringaccuracy, cv3) print(accuracy:, str(round(accuracy.mean(), 2)) %)# 对某条信息进行分类 input_data [low, low, 4, more, big, med] input_data_encoded [-1] * len(input_data)for i, item in enumerate(input_data):labels[]labels.append(input_data[i])# 转换形式否则下行会报错input_data_encoded[i] int(label_encoder[i].transform(labels))input_data_encoder np.array(input_data_encoded) output_class classifier.predict(input_data_encoder) # 预测 print(结果, label_encoder[-1].inverse_transform(output_class)[0]) # 最后一个编码器是结果 9、生成验证曲线 在第8节中使用了n_estimators和max_depth参数而这两个被称为超参数hyperparameters分类器的性能取决于这两个参数的值而这节就是使用验证曲线理解训练得分情况。其他参数可不变实例如下 from sklearn.model_selection import validation_curveclassifierRandomForestClassifier(max_depth4,random_state7) parameter_gridnp.linspace(25,200,8).astype(int) train_scores,validation_scoresvalidation_curve(classifier,X,y,n_estimators,parameter_grid,cv5)#对n_estimators参数进行验证 print(training scores:,train_scores) print(validation scores:,validation_scores)plt.figure() plt.plot(parameter_grid,100*np.average(train_scores,axis1),colorblack) plt.show()classifierRandomForestClassifier(n_estimators20,random_state7) parameter_gridnp.linspace(2,10,5).astype(int) train_scores,validation_scoresvalidation_curve(classifier,X,y,max_depth,parameter_grid,cv5)#max_depth print(training scores:,train_scores) print(validation scores:,validation_scores)plt.figure() plt.plot(parameter_grid,100*np.average(train_scores,axis1),colorblack) plt.show() 10、生成学习曲线 学习曲线可帮助我们理解训练数据集大小对机器学习模型的影响当遇到计算能力限制时这点十分有用实例如下 from sklearn.model_selection import learning_curveclassifierRandomForestClassifier(random_state7) parameter_gridnp.array([200,500,800,1100]) train_size,train_scores,validation_scoreslearning_curve(classifier,X,y,train_sizesparameter_grid,cv5)#cv表示五折交叉验证 print(train_scores:,train_scores) print(validation_scores:,validation_scores)plt.figure() plt.plot(parameter_grid,100*np.average(train_scores,axis1),colorblack) plt.show() ps:虽然训练数据集的规模越小仿佛精确度越高但是它很容易造成过拟合问题。但是若选择较大的数据集又会消耗更多资源所以应综合考虑。 11、估算收入阶层 这里使用朴素贝叶斯分类器。这里的方法和第8节的一样只是多了数字和字符串的混合编码所以一些代码注释可查看上方第8节。 # 1、读取数据 input_fileadult.data.txt X[]countLess0 countMore0 countAll20000with open(input_file,r) as f:for line in f.readlines():if ? not in line:dataline[:-1].split(, )# 2、若大部分点都属于同一个类型则分类器会倾向于该类型所以应该选出大于50k与小于等于50k各10000if data[-1]50K and countLesscountAll:X.append(data)countLesscountLess1elif data[-1]50K and countMorecountAll:X.append(data)countMorecountMore1if countMorecountAll and countLesscountAll:break;Xnp.array(X) from sklearn import preprocessing # 3、对数据进行编码 label_encoder[] for i,item in enumerate(X[0]):if item.isdigit():X[:,i]X[:,i]else:label_encoder.append(preprocessing.LabelEncoder())X[:,i]label_encoder[-1].fit_transform(X[:,i])yX[:,-1].astype(int) XX[:,:-1].astype(int) # 4、将数据分成训练和测试from sklearn.model_selection import train_test_split from sklearn.model_selection import cross_val_score from sklearn.naive_bayes import GaussianNB X_train,X_test,y_train,y_testtrain_test_split(X,y,test_size0.25,random_state5) # 5、训练数据 classifier_gaussiannbGaussianNB() classifier_gaussiannb.fit(X_train,y_train) y_test_predclassifier_gaussiannb.predict(X_test) # 6、提取性能指标 f1cross_val_score(classifier_gaussiannb,X,y,scoringf1_weighted,cv5) print(f1:,str(round(f1.mean()*100,2))%) # 7、预测新的值 input_data [39, State-gov, 77516, Bachelors, 13, Never-married, Adm-clerical, Not-in-family, White, Male, 2174, 0, 40, United-States] count0 input_data_encoder[-1]*len(input_data) for i,item in enumerate(input_data):if item.isdigit():input_data_encoder[i]int(input_data[i])else:labels []labels.append(input_data[i])input_data_encoder[i]int(label_encoder[count].transform(labels))countcount1resultclassifier_gaussiannb.predict(input_data_encoder) resultlabel_encoder[-1].inverse_transform(result) print(resutl:,result) 转载于:https://www.cnblogs.com/NSGUF/p/8274350.html

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

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

相关文章

wordpress 注册邮件设置密码win优化大师怎么样

在写邮件时,适当引用和参考可以使邮件更加准确、清晰和易于理解。以下是一些关于使用引用和参考的建议: 引用: 引用是在回复邮件时引用原始邮件的一部分或全部内容。这可以帮助读者回忆起之前的讨论内容,更好地理解当前的邮件。使…

徐州 商城网站建设wordpress批量发邮件

问题描述 在使用 Spring Boot 开发项目时,可能会遇到一个问题:点击运行按钮后,控制台没有任何输出,项目界面也没有显示。这种情况可能是由多种原因导致的,本文将介绍一些常见的解决方法。 解决方法 首先看下Groovy插…

完整教程:飞算JavaAI 2.0.0测评:自然语言编程如何颠覆传统开发?

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

免费养殖网站模板各省网站备案时长

正则表达式 关于正则表达式,其实我写过几篇了,但是真正的正则表达式其实主要用于定义一些字符串的规则,计算机根据给出的正则表达式,来检查一个字符串是否符合规则。 我们来看一下,在JS中如何创建正则表达式对象。 语…

JavaScript获取NHK的附件文件

// 全自动下载PDF,使用class="label"的span文字作为文件名 (async function() {const table = document.querySelector("table.broadcastList__contents");if (!table) return;const pdfLinks = …

创建者模式:工厂方式模式

创建者模式:工厂方式模式2025-09-23 12:07 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; f…

承兑 背书 贴现区别

承兑 背书 贴现区别 承兑、背书与贴现是票据业务中的三个重要概念,它们在票据的流通和融资过程中各自扮演着不同的角色。一、承兑承兑是指汇票付款人承诺在汇票到期日支付汇票金额的票据行为。根据《中华人民共和国票…

义乌制作网站建设网站公

第一范式: 属性不可分割:每个属性都是不可分割的原子项(实体的属性就是表中的列) 在上表中contact应该分为phone和adress两列 第二范式: 在满足第一范式的情况下,表中不存在部分依赖,非主键列…

怎样在设计网站做图赚钱省建设厅网站梁作庆

文章目录1 概述2 总体框架3. 计算Onset Strength Envelope4 计算全局的Tempo5 基于动态规划计算beats6 参考文献1 概述 有背景音乐的短视频拼接时,如果两个视频的拼接点刚好在背景音乐的某个节拍点上,那么合成的视频看起来,听起来&#xff0…

淄博网站建设兼职建筑工程网名大全霸气

前言 如今进行入自媒体行业的人越来越多,短视频也逐渐成为了主流,但好多时候是想如何把视频里面的语音转成文字,比如,录制会议视频后,做会议纪要;比如,网课教程视频,想要做笔记&…

html做网站自适应宽度网络推广方式方法

在互联网的浩瀚星空里,火星文和变异字体如同璀璨的繁星,照亮了网络世界的角落。它们以独特的创意和视觉冲击力,吸引着无数网友的目光。让我们一起走进这个充满创意和想象力的世界,感受火星文和变异字体的无限魅力。 火星文生成器…

wordpress网站弹窗插件做网站公司南京

为何诞生 在说transformer是什么,有什么优势之类的之前,先谈一谈它因何而诞生。transformer诞生最重要的原因是早先的语言模型,比如RNN,由于其本身的训练机制导致其并行度不高,特别是遇到一些长句子的情况下。其次&…

织梦高端大气网站模板外卖网站建设的策划书

打卡记录 需要添加的硬币的最小数量(归纳法) 链接 按着已经加入的数,以此偏移对应距离,从而得到新的连续数,若是出现断层则计入最小次数中,再以此偏移对应距离。 class Solution:def minimumAddedCoins(s…

个人网站当企业网站用互联网保险平台有哪些

hello-algo 是一个为帮助编程爱好者系统地学习数据结构和算法的开源项目。这款项目通过多种创新的方式,为学习者提供了一个直观、互动的学习平台。 本文将详细的介绍如何利用 Docker 在本地安装部署 hello-algo,并结合路由侠内网穿透实现外网访问本地部署…

画江湖网站开发文档淄博 网站制作

文章目录一、安装虚拟机1. 新建虚拟机2. 稍后安装3. 选择linux版本4. 安装位置5. 处理器配置6. 内存配置7. 网络配置8. 创建新磁盘9. 设置磁盘大小10. 选择镜像,完成二、虚拟机配置2.1. 重新启动2.2. 选择语言2.3. 设置时区2.4. 选择安装模式2.5. 自定义分区2.6. 接…

洛谷题单指南-进阶数论-P3811 【模板】模意义下的乘法逆元

原题链接:https://www.luogu.com.cn/problem/P3811 题意解读:逆元的模版题。 解题思路: 1、同余和模运算 同余定义:若整数 a 和 b 除以 m 的余数相同,称 a 与 b 模 m 同余,记为 a ≡ b (mod m) 模运算符号:a mo…

北京交通管制信息网站wordpress 获取页面标题

题目 输入一个字符串,打印该字符中字符的所有排列。 例如,输入字符串abc,则打印出由字符a、b、c所能排列出来的所有字符串有abc、acb、bac、bca、cab、cba 分析 把一个字符串看成由两部分组成:第一部分是它的第一个字符&#…

山西省建设局官方网站中企动力值不值得入职

19-20年VIO 梳理 1. 开源代码介绍: DSM2. FMD Stereo SLAM:融合MVG和直接方法,实现准确,快速的双目SLAM3. 基于VINS-Mono开发的SPVIS4. 改进:一种基于光流的动态环境移动机器人定位方案5. PVIO:基于先验平面约束的高效…

消防设备网站建设怎么找做网站的

事务的简单配置及使用 配置事务管理器声明队列生产者代码测试 RabbitMQ是基于AMQP协议实现的,该协议实现了事务机制,因此RabbitMQ也支持事务机制. SpringAMQP也提供了对事务相关的操作.RabbitMQ事务允许开发者确保消息的发送和接收是原子性的&#xff0c…

贵阳市观山湖区建设局网站深圳系统开发高端网站建设

1. probability space 概率空间 1.1 概率基础 1.2 概率空间 2. Filtration filtration在钱敏平老师和龚光鲁老师的《随机过程论》中直接称其为非降的KaTeX parse error: Undefined control sequence: \sigmma at position 1: \̲s̲i̲g̲m̲m̲a̲代数族。如图。 一般叫σ\…