2020-11-27技术总结

27号:关于Pandas在Python中的运用

  1. 矩阵转置可以用XXXXX.T来完成转置操作
x=x.iloc[:,1:].T
  1. pandas切片,可以用正常的list切片操作,也可以用[:,:],前者操作行,后者操作列,即可操作多维度的表
ck=x.iloc[1,:]
cp=x.iloc[0:1,:]
cp=cp.append(x.iloc[2:,:])
  1. 若有2个Series要合并,可以用DataFrame强制转换2个Series,然后用merge函数进行表合并,其中参数设置left_index=True 和right_index=True,这样2各表就可以按照索引进行联合
biaoti=pd.DataFrame(cp.index.values)
r=pd.DataFrame(r)
r=biaoti.merge(r,left_index=True,right_index=True)

关于灰度相关性分析:

这个算法其实就是检测其他属性对于主要测的属性的相关性分析,其中最后值在[0,1]之间。

  • 首先需要进行获取数据,利用pandas就可以读取csv或者excel,甚至用数据库导入就可以获取数据
  • 其次进行无量纲化,即标准化,可以用均值法,Z-score,max-min等等方法进行标准化
  • 然后选取主测列和其他列,分析主测列与其他列关系
  • 依据算法带入公式
  • 根据算法的结果形成一个数列Series,然后查看一一对应,选取较大关系的属性,可以以0.8或者0.7为阈值,这个阈值视情况而定,不同项目需求不相同阈值
  • 根据结果删除无关属性
# -*- coding: utf-8 -*-
# Time  :16:56
# AUTHOR : Rexa (YUKAI)
import os
import pandas as pd
import numpy as np
import pandas as pd
x=pd.read_csv("灰色关联分析_样例数据(1).csv")
x=x.iloc[:,1:].T

# 1、数据均值化处理
x_mean=x.mean(axis=1)
for i in range(x.index.size):
    x.iloc[i,:] = x.iloc[i,:]/x_mean[i]

# 2、提取参考队列和比较队列
print(x)
ck=x.iloc[0,:]
print(ck)
cp=x.iloc[1:,:]
print(cp)

# 比较队列与参考队列相减
t=pd.DataFrame()
for j in range(cp.index.size):
    temp=pd.Series(cp.iloc[j,:]-ck)
    t=t.append(temp,ignore_index=True)

#求最大差和最小差
mmax=t.abs().max().max()
mmin=t.abs().min().min()
rho=0.5
#3、求关联系数
ksi=((mmin+rho*mmax)/(abs(t)+rho*mmax))


#4、求关联度
r=ksi.sum(axis=1)/ksi.columns.size

#5、关联度排序,得到结果r3>r2>r1
result=r.sort_values(ascending=False)
# print(result)

数据挖掘分析大致思路

  1. 业务理解,了解客户需求
  2. 将客户的需求分解并形成可以用数据挖掘或者数据分析的问题
  3. 收集原始数据(或者二手数据),有些数据可以和客户沟通进行获取
  4. 大致了解数据的基本构型,然后将复杂的属性表连接起来,形成复杂的联表。
  5. 进行数据标准化,去除量纲
  6. 作相关度分析,比如灰色相关分析
  7. 根据灰色分析,去除不必要的属性,进行降维,同时也可以利用其它方法进行降维
  8. 选择合适的特征点,并检查数据是否唯一,检查异常和空缺值
  9. 对异常值和空缺值进行处理
  10. 再次标准化,根据数据表的特征选择标准化方法,可以用Z-score,mean,max-min等等算
  11. 选择模型,比如分类,svm,knn,rf,回归也可以
  12. 进行评估,分类算法就用F1score或者Cross validation,回归就用MSE和R方
  13. 如果模型评价完美,就形成报告,不完美,回到3进行反工
  14. 完成文档
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值