Python資料分析與挖掘實戰 第二章

2021-09-12 05:37:14 字數 3587 閱讀 5875

1. for  i  in range( a, b, c)   a為首項 c為公差 不超過b-1

2. 行內函式

f = lambda x:x+2  定義f(x) = x+2

g = lambda x,y:x+y

3. 資料結構——list tuple dictionary set

列表可以被修改,元組不可以

列表是=  元組是=()

可直接轉換 list('ab')  或 tuple('ab')

a.count(1)

#列表解析

b = [i+2 for i in a]    #a是乙個列表

轉換為dict —— dict 或者dict.fromkeys

①不重複  ②無索引

格式為=

4. 函式式程式設計

b = [i+2 for i in a] 對應的map

b = map(lambda x : x+2,a)

reduce(lambda x,y:x*y,range(1,n+1))
b = filter(lambda x>5 and x<8 , range(1,10))
也可使用列表解析

b = [i for i in range(1,10) if i >5 and i <8]
5. 使用pandas要顯示所有屬性列或行時

#顯示所有列

pd.set_option('display.max_columns', none)

#顯示所有行

pd.set_option('display.max_rows', none)

#設定value的顯示長度為100,預設為50

pd.set_option('max_colwidth',100)

numpy、scipy、matplotlib、pandas、statsmodels、scikit-learn、kears、gensim、pillow(原pil)

多維陣列功能

基本操作

最優化、線性代數、積分、插值、擬合、特殊函式、快速傅利葉變換、訊號處理、影象處理、常微分方程求解

scipy依賴numpy

主要用於二維繪圖

中文不顯示的問題

plt.reparams['font.sans-serif'] = ['simhei']    # 如果中文字型是simhei
負號顯示為方塊

plt.rcparams['axes.unicode_minus']= false
基本資料結構  series

和dataframe

著眼於資料的讀取、處理和探索

1. series:

序列  類似一維陣列  

有index用於定位元素,index可以為數字,也可以為其他,類似主鍵

建立序列  s = pd.series([1,2,3],index = ['a','b','c'])

2. dataframe:

**  類似二維陣列

每一列都是乙個series   本質是series的容器

每個series有唯一的表頭,用於區分  多個series的index相同

建立表  d = pd.dataframe([1,2,3],[4,5,6],colume = ['a','b','c'])

也可以直接  d = pd.dataframe(s)

d.head()

d.describe()

pd.read_excel('filename')

pd.read_csv('filename',encoding = 'utf-8)

補充操作

pd.notnull(x)  得到x的不為空的true和false

x[pd.notnull(x)]  可得到x中不為空的項  list的話只能根據int來進行索引 series可以通過true和false

map接收乙個序列 list或者numpy的array

dataframe的排序 dataframe.sort_values(['confidence','support'], ascending = false)

可用dataframe[[index1,index2]] 訪問

d.prod(axis=1,numeric_only=true) 每行的每個元素累乘

著眼於資料的統計建模分析,支援與pandas進行資料互動

依賴於pandas和pasty

機器學習相關庫,提供完整的機器學習工具箱,包括資料預處理、分類、回歸、聚類、**和模型分析等

依賴於numpy、scipy、matplotlib

1. 所有模型的介面:

model.fit():訓練資料  fit(x,y)——監督學習    fit(x)——非監督學習

2. 監督學習

model.predict(x_new) **新樣本

model.predict_proba(x_new) **概率

model.score() 得分越高越好

3. 非監督學習

model.transform()  從資料中學習到新的「基空間」

model.fit_transform()  從資料中學到新的基並將這個資料按照這組基進行轉換

人工神經網路  基於theano

不僅可以搭建普通的神經網路,還可以搭建各種深度學習模型,如自編碼器、迴圈神經網路、遞迴神經網路、卷積神經網路等

model.predict()給出概率

model.predict_classes()給出分類結果  格式是[[y1],[y2],[y3]```[yn]] 可以model.predict_classes(x).reshape(len(x)) 變為[y1,y2,y3,```,yn]的格式

處理語言方面的任務,如文字相似度計算,lda,word2vec

Python資料分析與挖掘實戰 挖掘建模

常用的分類與 演算法 1回歸模型分類 1線性回歸 自變數因變數線性關係,最小二乘法求解 2非線性回歸 自變數因變數非線性關係,函式變換為線性關係,或非線性最小二乘方法求解 3logistic回歸 因變數一般有1和0兩種取值,將因變數的取值範圍控制再0 1範圍內 4嶺回歸 自變數之間具有多重共線性 5...

python資料分析與挖掘實戰 資料探勘基礎

從大量資料 包括文字 中挖掘出隱含的 未知的 對決策有潛在價值的關係 模式和趨勢,並用這些知識和規則建立用於決策支援的模型,提高 性決策支援的方法 工具和過程,就是資料探勘 它是利用各種分析工具在大量資料中尋找其規律和發現模型與資料之間關係的過程,是統計學 資料庫技術和人工智慧技術的綜合。1.定義挖...

Python資料分析與挖掘實戰學習07

一 python基礎 1.python簡介 python是一種物件導向的解釋型語言,由荷蘭人guido van rossum與1989年發明,第乙個公開發行版本於1991年發布。python語法簡潔清晰,強制用空白符作為語句縮排。python語言最大的特點是簡單和強大。2.python庫 1 bas...