你为什么需要数据分析能力?

你为什么需要数据分析能力?

学会如何从海量的数据中找到关联关系进行价值挖掘

数据分析分为三个重要的组成部分:

  1. 数据采集 数据源攻击使用爬虫编写
  2. 数据挖掘 基本流程十大算法数据基础
  3. 数据可视化 使用Python可视化

数据挖掘

十大算法:分类算法:C4.5,朴素贝叶斯,SVM,KNN,Adaboost,CART,

聚类算法:K-Means,EM

关联分析:Apriori

连接分析:PageRank

  1. C4.5 在决策树构造过程中进行了剪枝,对不完整的数据进行处理
  2. 朴素贝叶斯(Naive Bayes) 对给出的未知物体进行分类,需要求解在这个未知物体出现的条件下各个类别出现的概率,那个最大,认为这个未知物体属于哪个分类
  3. SVM 支持向量机,SVM在训练中建立一个超平面的分类模型
  4. KNN K最近相邻算法,即每个样本都可以用它最接近的K个邻居来代表,如果一个样本,它的K个最接近的邻居都属于分类A,那这个样本也属于A
  5. AdaBoost 在训练中建立一个联合的分类模型,是个构建分类器的提升算法,让我们从多个弱的分类器组成一个强大分类器
  6. CART 分类和回归树,决策树算法
  7. Apriori 挖掘关联规则,通过挖掘频繁项寄来揭示物品之间的关联关系,频繁项集值经常出现在一起的物品的集合
  8. K-Means 聚类算法,想把物体划分成K类,每个类别里面都有中心店,有个新点要归类,计算新点与K个中心点的距离,离那个近变成那个类别
  9. EM 最大期望算法,假设我们想评估参数A,B,在开始的状态下二者都是未知的,先考虑赋予A某个初值,从此得到B的估值,从B的估值出发,重新估计A的取值,一直持续到收敛为止
  10. PageRank

Python基础

1.输入与输出

name = input("what's your name?")
sum = 100 + 100
print("hello,%s" %name)
print("sum = %d" %sum)

2.判断语句 :if…else…

if score >= 90:
	print 'Excellent'
else:
	if score < 60:
		print 'Fail'
	else:
		print 'Good Job'

3.循环语句:for…in

sum = 0
for number in range(11):
	sum = sum + number
print sum

range(11)代表从0-10,不包括11,相当于range(0,10),还可以增加步长,range(0,10,2)->[1,3,5,7,9]

4.循环语句:while

sum = 0 
number = 1
while number < 11:
	sum = sum + number
	number = number + 1
print sum

5.列表[]

lists = ['a','b','c']
lists.append('d')
print lists
print len(lists)
lists.insert(0,'mm')
lists.pop()
print lists

append()是在尾部添加元素,pop()删除尾部元素,列表相当于数组,具有增删改查功能

6.元组(tuple)

tuples = ('tupleA','tupleB')
print tuples[0]

元组一旦初始化就不能修改,可以访问,但不能赋值

7.字典{dictionary}

# -*- coding:utf-8 -*-
#定义一个dictionary
score = {'guanyu':90,'zhangfei':96}
#添加一个元素
score['zhaoyun']  = 98
print score
#删除一个元素
score.pop('zhangfei')
#查看key是否存在
print 'guanyu' in score
#查看一个key对应的值
print score.get('guanyu')
print score.get('yase',99)

字典就是{key,value},多次对同一个key放入value,后面的值就替代前面的值,字典也有增删改查,增加字典的元素相当于赋值,删除一个元素使用pop,查询使用get,如果查询的值不存在,可以给一个默认值,比如score.get(‘yase’,99)

8.集合:set

s = set(['a','b','c'])
s.add('d')
s.remove('b')
print s 
print 'c' in s

集合set与字典dictionary类似,只是key的集合,不存储value,增加使用add,删除使用remove,查询用in

9.注释#

如果注释中有中文,使用 # -*- coding:UTF-8 _*_ ,多行注释使用三个单引号

10.引用模块/包:import

#导入一个模块
import model_name
#导入多个模块
import moduel_name1,moduel_name2
#导入包中指定模块
from package_name import moduel_name
#导入包中所有模块
from package_name impor *

import实质是路径搜索

11.函数:def

def addone(score):
	return score + 1
print addone(99)

A+B problem

while True:
  try:
    line = input()
    a = line.split()
    print int(a[0]) + int(a[1])
  exceptt:
    break

想在Python中引用scikit-learn库怎么引用?

不是内置库,pip install scikit-learn

import scikit-learn

求sum = 1+3+5+7+……+99?

一:print(sum(range(1,100,2)))

二:if迭代

a = 0
for i in range(1,100,2):
  a += i
print(a)
发布了76 篇原创文章 · 获赞 9 · 访问量 9194

猜你喜欢

转载自blog.csdn.net/ywangjiyl/article/details/104363503