while(rs.next)插数据重复_数据挖掘——数据预处理方法小结

根据自己的经验,总结了一下使用过的数据预处理的方法和小技巧。在进行数据分析的时候,工作量最大也最复杂的地方就是对数据进行预处理,一般分为四个步骤:数据清理、数据集成、数据变换、数据归约。

一、数据清理(缺失值、异常值、无关值、噪音、重复值)

缺失值:1、删除:数量较少,对整体数据没什么影响的直接删除该条数据。2、对缺失数据插补:方法较多,例如用该属性的均值、众数、中位数插补,这些较为简单,不详述;最近邻插补,使用与缺失样本最接近的样本的该属性值插补;回归法(建模预测):就是根据样本集的其他属性来建立一个拟合模型预测缺失属性的值,根据模型来计算缺失值。常用的缺失值处理方法就这些,还有许多其他的方法,如拉格朗日插值等等。

异常值:首先要知道如何找出某个属性的异常值。我一般用的方法是画箱型图,

485b7604f2bc09a1b0246e2f11bda92f.png

下四分位数(Q1)=(数据个数+1)0.25上四分位数(Q3)=(数据个数+1)0.75盒子长度IQR = Q3-Q1最小观测值(下边缘)=Q1 - 1.5IQR

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
解释一下这段代码package com.niit5.dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import com.niit5.pojo.TTicket; import com.niit5.pojo.TicketOrder; import com.util.JDBCUtils; public class ReturnTicketDao { public List<TicketOrder> dispalyTicket(String username) throws SQLException { Connection conn = JDBCUtils.getConn(); PreparedStatement ps = conn.prepareStatement("select * from cinema_ticket_order where user_username = ?;"); ps.setString(1, username); ResultSet rs = ps.executeQuery(); List<TicketOrder> list = new ArrayList<TicketOrder>(); while (rs.next()) { list.add(new TicketOrder(rs.getInt("order_ticket_id"), rs.getString("order_cinema_name"), rs.getString("order_seat"), rs.getString("order_start_time"), rs.getString("order_end_time"), rs.getString("order_price"), rs.getString("user_username"), rs.getString("user_phone_num"), rs.getString("user_name"), rs.getInt("user_id"))); } JDBCUtils.close(conn, ps, rs); return list; } public List<TicketOrder> dispalyTicketID(int ticketID) throws SQLException { Connection conn = JDBCUtils.getConn(); PreparedStatement ps = conn.prepareStatement("select * from cinema_ticket_order where order_ticket_id = ?;"); ps.setInt(1, ticketID); ResultSet rs = ps.executeQuery(); List<TicketOrder> list = new ArrayList<TicketOrder>(); while (rs.next()) { list.add(new TicketOrder(rs.getInt("order_ticket_id"), rs.getString("order_cinema_name"), rs.getString("order_seat"), rs.getString("order_start_time"), rs.getString("order_end_time"), rs.getString("order_price"), rs.getString("user_username"), rs.getString("user_phone_num"), rs.getString("user_name"), rs.getInt("user_id"))); } JDBCUtils.close(conn, ps, rs); return list; } public boolean deleteTicket(int ticketId) throws SQLException { Connection conn = JDBCUtils.getConn(); PreparedStatement ps = conn.prepareStatement("delete from cinema_ticket_order where order_ticket_id = ?;"); ps.setInt(1, ticketId); int update = ps.executeUpdate(); return update>0 ? true : false; } }
最新发布
06-02

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值