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

原材料价格查询网站网站改版 后台

原材料价格查询网站,网站改版 后台,十大网络科技公司,公司门户网站模板在这篇文章中#xff0c;基于20家公司的股票价格时间序列数据。根据股票价格之间的相关性#xff0c;看一下对这些公司进行聚类的四种不同方式。 苹果#xff08;AAPL#xff09;#xff0c;亚马逊#xff08;AMZN#xff09;#xff0c;Facebook#xff08;META…在这篇文章中基于20家公司的股票价格时间序列数据。根据股票价格之间的相关性看一下对这些公司进行聚类的四种不同方式。 苹果AAPL亚马逊AMZNFacebookMETA特斯拉TSLAAlphabet谷歌GOOGL壳牌SHELSuncor能源SU埃克森美孚公司XOMLululemonLULU沃尔玛WMTCartersCRI、 Childrens Place (PLCE), TJX Companies (TJX), Victoria’s Secret Co (VSCO), Macy’s (M), Wayfair (W), Dollar Tree (DLTR), CVS Caremark (CVS), Walgreen (WBA), Curaleaf Holdings Inc. (CURLF) 我们的DataFrame df_combined包含上述公司413天的股票价格没有遗漏数据。 目标 我们的目标是根据相关性对这些公司进行分组并检查这些分组的有效性。例如苹果、亚马逊、谷歌和Facebook通常被视为科技股而Suncor和Exxon被视为石油和天然气股。我们将检查我们是否可以得到这些分类只使用这些公司的股票价格之间的相关性。 使用相关性来对这些公司进行分类而不是使用股票价格如果使用股票价格具有相似股票价格的公司将被集中在一起。但在这里我们想根据股票价格的行为来对公司进行分类。实现这一目标的一个简单方法是使用股票价格之间的相关性。 技术交流 技术要学会分享、交流不建议闭门造车。一个人可以走的很快、一堆人可以走的更远。 相关文件及代码都已上传均可加交流群获取群友已超过2000人添加时最好的备注方式为来源兴趣方向方便找到志同道合的朋友。 方式①、添加微信号dkl88194备注来自CSDN 加群 方式②、微信搜索公众号Python学习与数据挖掘后台回复加群 最佳集群数量 寻找集群的数量是一个自身的问题。有一些方法如elbow方法可以用来寻找最佳的集群数量。然而在这项工作中尝试将这些公司分成4个集群。理想情况下这四个群组必须是科技股、石油和天然气股、零售股和其他股票。 首先获得我们所拥有的数据框架的相关矩阵。 correlation_matdf_combined.corr()定义一个效用函数来显示集群和属于该集群的公司。 # 用来打印公司名称和它们所分配的集群的实用函数 def print_clusters(df_combined,cluster_labels):cluster_dict {}for i, label in enumerate(cluster_labels):if label not in cluster_dict:cluster_dict[label] []cluster_dict[label].append(df_combined.columns[i])# 打印出每个群组中的公司 -- 建议关注公众号数据STUDIO 定时推送更多优质内容for cluster, companies in cluster_dict.items():print(fCluster {cluster}: {, .join(companies)})方法1K-means聚类法 K-means聚类是一种流行的无监督机器学习算法用于根据特征的相似性将相似的数据点分组。该算法迭代地将每个数据点分配给最近的集群中心点然后根据新分配的数据点更新中心点直到收敛。我们可以用这个算法根据相关矩阵对我们的数据进行聚类。 from sklearn.cluster import KMeans# Perform k-means clustering with four clusters clustering KMeans(n_clusters4, random_state0).fit(correlation_mat)# Print the cluster labels cluster_labelsclustering.labels_ print_clusters(df_combined,cluster_labels)k-means聚类的结果 正如预期的那样亚马逊、Facebook、特斯拉和Alphabet被聚集在一起石油和天然气公司也被聚集在一起。此外沃尔玛和MACYs也被聚在一起。然而我们看到一些科技股如苹果与沃尔玛聚集在一起。 方法2聚和聚类法Agglomerative Clustering 聚合聚类是一种分层聚类算法它迭代地合并类似的聚类以形成更大的聚类。该算法从每个对象的单独聚类开始然后在每一步将两个最相似的聚类合并。 from sklearn.cluster import AgglomerativeClustering# 进行分层聚类 clustering AgglomerativeClustering(n_clustersn_clusters, affinityprecomputed, linkagecomplete).fit(correlation_mat)# Display the cluster labels print_clusters(df_combined,clustering.labels_)分层聚类的结果 这些结果与我们从k-means聚类得到的结果略有不同。我们可以看到一些石油和天然气公司被放在了不同的聚类中。 方法3亲和传播聚类法 AffinityPropagation 亲和传播聚类是一种聚类算法不需要事先指定聚类的数量。它的工作原理是在成对的数据点之间发送消息让数据点自动确定聚类的数量和最佳聚类分配。亲和传播聚类可以有效地识别数据中的复杂模式但对于大型数据集来说计算成本也很高。 from sklearn.cluster import AffinityPropagation# 用默认参数进行亲和传播聚类 clustering AffinityPropagation(affinityprecomputed).fit(correlation_mat)# Display the cluster labels print_clusters(df_combined,clustering.labels_)亲和传播聚类的结果 有趣的是这个方法发现四个聚类是我们数据的最佳聚类数量。此外我们可以观察到石油和天然气公司被聚在一起一些科技公司也被聚在一起。 方法4DBSCAN聚类法 DBSCAN是一种基于密度的聚类算法它将那些紧密排列在一起的点聚在一起。它不需要事先指定聚类的数量而且可以识别任意形状的聚类。该算法对数据中的离群值和噪声具有鲁棒性可以自动将它们标记为噪声点。 from sklearn.cluster import DBSCAN# Removing negative values in correlation matrix correlation_mat_pro 1 correlation_mat# Perform DBSCAN clustering with eps0.5 and min_samples5 clustering DBSCAN(eps0.5, min_samples5, metricprecomputed).fit(correlation_mat_pro)# Print the cluster labels print_clusters(df_combined,clustering.labels_)DBScan聚类的结果 在这里与基于亲和力的聚类不同DBScan方法将5个聚类确定为最佳数量。还可以看出有些集群只有1或2家公司。 可视化 同时检查上述四种聚类方法的结果以深入了解它们的性能可能是有用的。最简单的方法是使用热图公司在X轴上聚类在Y轴上。 def plot_cluster_heatmaps(cluster_results, companies):# 从字典中提取key和valuemethods list(cluster_results.keys())labels list(cluster_results.values())# 定义每个方法的热图数据heatmaps []for i in range(len(methods)):heatmap np.zeros((len(np.unique(labels[i])), len(companies)))for j in range(len(companies)):heatmap[labels[i][j], j] 1heatmaps.append(heatmap)# Plot the heatmaps in a 2x2 gridfig, axs plt.subplots(nrows2, ncols2, figsize(12, 12))for i in range(len(methods)):row i // 2col i % 2sns.heatmap(heatmaps[i], cmapBlues, annotTrue, fmtg, xticklabelscompanies, axaxs[row, col])axs[row, col].set_title(methods[i])plt.tight_layout()plt.show()companiesdf_combined.columns plot_cluster_heatmaps(cluster_results, companies)所有四种方法的聚类结果 然而当试图比较多种聚类算法的结果时上述的可视化并不是很有帮助。找到一个更好的方法来表示这个图将会很有帮助。 结论 在这篇文章中我们探讨了四种不同的方法根据20家公司的股票价格之间的相关性来进行聚类。其目的是以反映这些公司的行为而不是其股票价格的方式对其进行聚类。尝试了K-means聚类、Agglomerative聚类、Affinity Propagation聚类和DBSCAN聚类方法每种方法都有自己的优点和缺点。结果显示这四种方法都能以符合其行业或部门的方式对公司进行聚类而一些方法的计算成本比其他方法更高。基于相关性的聚类方法为基于股票价格的聚类方法提供了一个有用的替代方法可以根据公司的行为而不是股票价格来聚类。
http://www.hkea.cn/news/14422659/

相关文章:

  • 网站首页图片轮转代码 很好用anivia wordpress templates 1.3
  • 制作网站的公司办什么营业执照罗玉凤做网站
  • 网站推广 知乎建立网站费用大概需要多少钱
  • 手机端网站优化排名seo推广58同城怎么发布信息
  • 网站建设完成报告常用的免费ppt模板
  • 全球购物网站大全网站菜单导航
  • 石家庄企业网站建设公司道滘镇网站建设公司
  • 网站备案收录下降wordpress还原旧版本
  • 模拟ip访问网站修改wordpress后台文字
  • php 企业网站余姚生活网
  • 做网站需要哪一些内容网站开发安全维护
  • seo网站优化对象php网站前后台源代码
  • 网页制作实践 做网站天津建设公司网站
  • 西宁网站制作公司排名电脑版淘宝网页
  • 物流公司网站模板开源php企业网站
  • 手机端网站需要多少钱微信公众号运营模式
  • 怎么查询网站外链数一整套vi设计
  • 做网站有免费的服务器吗福建示范校建设专题网站
  • 精彩的网格布局网站网站建设和维护自学
  • 一级a做爰片免费网站 小说如何 网站推广
  • 网站建设遵循的原则正规电商培训学校排名
  • 网站制作整个的流程是什么网站搭建协议
  • 南宁网站建设方案详细方案江苏网站建设机构
  • 网站建设佛山拓客科技公司台达电子东莞有限公司
  • 中国十大搜索引擎网站linux写wordpress
  • 一级a做爰网站下载福建联泰建设集团网站
  • 深圳网站设计灵点网络品牌wordpress邀请码吧
  • 深圳租房建设局网站首页asp.net网站搬迁到移动终端
  • 网站建设 英文怎么说岳阳整站优化
  • 怎样做网站宣传自己的宾馆国外网站大全帝国cms模板