数据挖掘:社会科学入门指南

需积分: 10 40 下载量 120 浏览量 更新于2024-07-20 1 收藏 28.31MB PDF 举报
"Data.Mining.for.the.Social.Sciences.An.Introduction" 是一本由Paul Attewell和David B. Monaghan合著的书籍,它为社会科学领域的数据挖掘提供了一个简单且易理解的入门指南。在大数据时代,这本书旨在帮助社会科学家理解和应用数据挖掘技术,以发掘大量行为数据中的模式和趋势。 本书分为两个部分。第一部分是概念介绍,涵盖了数据挖掘的基本定义(Chapter 1),与传统统计方法的区别(Chapter 2),数据挖掘的一般策略(Chapter 3)以及数据挖掘项目的关键阶段(Chapter 4)。这部分内容旨在建立对数据挖掘基本概念的理解,并为后续的分析方法奠定基础。 第二部分是工作实例,通过一系列章节展示了如何进行实际的数据分析。作者详细讲解了如何准备训练和测试数据集(Chapter 5),变量选择工具(Chapter 6),创建新变量的方法,如分箱和决策树(Chapter 7),特征提取(Chapter 8),分类器(Chapter 9)以及分类树(Chapter 10)。此外,还介绍了神经网络(Chapter 11)、聚类分析(Chapter 12)、潜在类别分析和混合模型(Chapter 13)以及关联规则(Chapter 14)。这些章节提供了实用的演示,展示如何利用各种统计软件包进行数据分析。 书中的每个章节都致力于消除数据挖掘过程的神秘感,讨论各种方法的优点和局限性,以帮助社会科学家选择最适合他们研究问题的工具。通过这种方式,本书不仅传授了数据挖掘技术,还鼓励社会科学家将这些方法融入到他们的研究工具箱中。 这本书对于那些希望进入大数据分析领域的社会科学家特别有用,它不仅提供了理论背景,还提供了实践经验,使读者能够应用这些技术解决实际问题。通过学习本书,读者将能够更好地理解如何在社会科学领域运用数据挖掘,从而推动更深入、更有效的研究。
2023-06-03 上传

给这个方法添加单元测试: public String cloneMessage(CisMonitorData data){ log.info("Starting process to clone and publish message to queue for request id {}", data.getTdsStpId()); CisPubTds cisPubTds = monitorDao.getTdsPubRequestById(data.getTdsStpId()); if(cisPubTds == null){ return CisTStpConstants.MSG_1; } if(cisPubTds.getMessage() == null){ return CisTStpConstants.MSG_2; } if(data.getUser() == null){ return CisTStpConstants.MSG_18; } if(data.getComment() != null && data.getComment().length() > 250){ return CisTStpConstants.MSG_19; } String status = null; try { CisPubTds clonePubTds = (CisPubTds)cisPubTds.clone(); clonePubTds.setTdsStpId(null); clonePubTds.setCreatedDate(new Date()); clonePubTds.setCreatedBy(data.getUser()); clonePubTds.setIsStpEd(0); clonePubTds.setStpEdAt(null); clonePubTds.setUserComment(data.getComment()); clonePubTds = monitorDao.saveOrUpdatePubTds(clonePubTds); if(clonePubTds != null && clonePubTds.getTdsStpId() != null && clonePubTds.getTdsStpId() > 0) { log.info("Updating the XML message for cloned request with new TDS STP id : {}", clonePubTds.getTdsStpId()); /Update tracking ID in SCBML message and save it to database/ Document doc = DocumentUtility.StringToDocument(clonePubTds.getMessage()); DocumentUtility.updateNodeValue(doc, clonePubTds.getTdsStpId()); String updatedXml = DocumentUtility.DocumentToString(doc); clonePubTds.setMessage(updatedXml); clonePubTds = monitorDao.saveOrUpdatePubTds(clonePubTds); /End/ log.info("Update of the XML message for cloned request with new TDS STP id : {} is completed", clonePubTds.getTdsStpId()); log.info("Publishing the cloned message"); boolean statusBool = publish(clonePubTds); if(statusBool){ status = CisTStpConstants.MSG_SUCCESS; } log.info("End of publish with statusBool : {}", statusBool); log.info("End of publish with status : {}", status); }else { status = CisTStpConstants.MSG_8; } log.info("End process to clone and publish message to queue for request id {}", data.getTdsStpId()); } catch (CloneNotSupportedException e) { status = CisTStpConstants.MSG_7; log.error("Error while cloning the object {}", e); } catch (Exception e) { log.error("Error while creating object {}", e); } return status; }

2023-06-07 上传