首页 > 技术文章 > python 数据分析与挖掘实战01

xiaofeisnote 2020-08-02 21:35 原文

python 数据分析与挖掘实战

day 01 08/02

这种从数据中“淘金”,从大量数据包括文本中挖掘出隐含的、未知的、对决策有潜在价值关系、模式或者趋势,并用这些知识和规则建立用于决策支持的模型、提供预测性决策支持的方法、工具和过程就是数据挖掘。

数据挖掘的基本任务就是包括利用>>>>>>分类与预测、聚类、关联规则、时序模式、偏差检测和智能推荐等方法找到meta-relationship

要针对具体的数据挖掘需求,首先应该明确本次挖掘的目的是什么?系统完成后能达到什么样的效果,故这就要求我们>>>>>>>>收悉相关背景、弄清用户需求。为了更充分的利用数据,我们必须要对目标下个明确的定义,明确到底要做什么。

\[1目标定义>>2数据采集>>3数据整理>>4构建模型>>5模型评价>>6模型发布\\其中5包括建立评价标准、多模型对比和调参优化 \]

抽取数据的标准:1相关性

​ 2可靠性

​ 3有效性

数据探索:

\[异常值分析\\缺失值分析\\相关分析\\周期性和分析 \]

模型评价就是从众多模型中找到一个最好的,并且根据业务对模型惊醒解释和应用

#字符串拼接与分割
s = "I like playing"
s += "football"
s.split(" ")

python使用缩进对齐作为语句的层次标记,同一层次的缩进一一对应

s,k = 0,0
while k <= 99:
    k += 1
    s += k
    
print(s)
s=0
for k in range (101):
    s += k 
    
print(s)

in 用来判断一个元素是否在列表、元组中

def add2 (x):
    return 2**x
print(add2(4))
def add3    (x,y):
    return x+10,y-10
a,b = add3(1,1)
print(a)
print((a,b))
print([a,b])
print({a,b})
f =  lambda x : x+2
print(f(3))
g = lambda x,y : x+y
print(g(1,2))

为什么会引进lambda函数,因为对于def定义类似add2()这样的简单函数,用def进行命名有点小题大做,故我们可以引进lambda对简单功能的定义“行内函数”类似于matlab中的匿名函数

g = lambda x,y:[x*y,x+y]
print(g(1,2))

python中有四个内建的数据结构(统成为容器):

\[List、tuple、dictionary、set \]

其中列表:[ ] & 元组 : ( ) ;列表是可变的,元组是不可变的

列表复制的方法为:

b = a[:]
list("iguiasdhfioujas")
>>['i', 'g', 'u', 'i', 'a', 's', 'd', 'h', 'f', 'i', 'o', 'u', 'j', 'a', 's']
tuple("iguiasdhfioujas")
>>('i', 'g', 'u', 'i', 'a', 's', 'd', 'h', 'f', 'i', 'o', 'u', 'j', 'a', 's')
a = [1,2,3]
b = []
for i in (a):
    b.append(i+4)

>>[5, 6, 7]

a = range(49)
b=[i +1 for i in a]
print(b)
>>[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49]
set_one = set([1,2,"a","b"])
set_two = set([3,4,"a","c"])
print(set_one | set_two)
>>{1, 2, 3, 4, 'c', 'a', 'b'}
print(set_one & set_two)
>>{'a'}
print(set_one - set_two)
>>{1, 2, 'b'}
print(set_one ^set_two) #异或
>>{1, 2, 3, 4, 'c', 'b'}
len((set_one ^set_two))#可以用来计算两个集合之间的汉明距离
>>6
f = {1,2,3,"dasfads","sdafasdf"}
print(f)
>>{1, 2, 3, 'sdafasdf', 'dasfads'}

这都是集合之间的运算,不要运用在别的数据结构(容器上),并、交、差、异或(两个集合中只有出现,仅仅出现过一次的元素才会写进新的集合)。

a = [1,2,3]
b= [i**2 for i in a]
>>[1, 4, 9]
d = {"123w43e" : 23,"asdfasf":"asdfa"}
d["123w43e"]
>>23

推荐阅读