本週講了如何把資料用圖表展現出來,主要包括:
下面直接列出筆記和知識點
一. matplotlib
一幅資料圖基本上包括如下結構:
data: 資料區,包括資料點、描繪形狀
axis: 座標軸,包括 x 軸、 y 軸及其標籤、刻度尺及其標籤
title: 標題,資料圖的描述
legend: 圖例,區分圖中包含的多種曲線或不同分類的資料
下面以常規圖為例,詳細記錄作圖流程及技巧。按照繪圖結構,可將資料圖的繪製分為如下幾個步驟:
匯入 matplotlib 包相關工具包
準備資料,numpy 陣列儲存
繪製原始曲線
配置標題、座標軸、刻度、圖例
新增文字說明、註解
顯示、儲存繪圖結果
使用 plot 函式直接繪製上述函式曲線,可以通過配置 plot 函式引數調整曲線的樣式、粗細、顏色、標記等:
plt.rcparams["figure.figsize"] = (12,8)
plt.plot(x, y1, color='blue', linewidth=1.5, linestyle='-', marker='.', label=r'$y = cos$')
linestyle 引數主要包含虛線、點化虛線、粗虛線、實線
marker引數設定在曲線上標記的特殊符號,以區分不同的線段
設定刻度尺間隔 lim、刻度標籤 ticks
plt.xlim(x.min()*1.1, x.max()*1.1)
plt.xticks([2, 4, 6, 8, 10], [r'two', r'four', r'6', r'8', r'10'])
可使用如下兩種方式,給繪圖設定圖例:
在 plt.plot 函式中新增 label 引數後,使用 plt.legend(loc=』up right』)
不使用引數 label, 直接使用如下命令:plt.legend(['cos(x)', 'sin(x)', 'sqrt(x)'], loc='upper right')
可使用如下**,給繪圖設定網格線:plt.grid(true)
常用圖形
曲線圖:matplotlib.pyplot.plot(data)
灰度圖:matplotlib.pyplot.hist(data)
散點圖:matplotlib.pyplot.scatter(data)
箱式圖:matplotlib.pyplot.boxplot(data)
箱式圖科普
上邊緣(q3+1.5iqr)、下邊緣(q1-1.5iqr)、iqr=q3-q1
上四分位數(q3)、下四分位數(q1)
中位數異常值
處理異常值時與3σ標準的異同:統計邊界是否受異常值影響、容忍度的大小
二 . seaborn
核密度估計的步驟:
每乙個觀測附近用乙個正態分佈曲線近似
疊加所有觀測的正太分布曲線
歸一化散點圖
sns.jointplot(x="x", y="y", data=df)
六角箱圖
sns.jointplot(x=x, y=y, kind="hex")
繪製線性回歸模型
最簡單的方式:散點圖 + 線性回歸 + 95%置信區間
對於變數離線取值,散點圖就顯得有些尷尬了。。。
擬合不同模型
有些時候線性擬合效果不錯,有些時候差強人意~
控制的大小和形狀
sns.lmplot(x="total_bill", y="tip", col="day", data=tips, col_wrap=2, size=5)
本週還學習神經網路,有點複雜,下面列一下我的學習筆記,只能算個入門,對神經網路概念有個理解:
感知器:它接受多個輸入(x1,x2,x3...),產生乙個輸出(output)
一、權重和閾值:
某些因素是決定性因素,另一些因素是次要因素。因此,可以給這些因素指定權重(weight),代表它們不同的重要性。
還需要指定乙個閾值(threshold)。如果總和大於閾值,感知器輸出1,否則輸出0
二、決策模型:
底層感知器接收外部輸入,做出判斷以後,再發出訊號,作為上層感知器的輸入,直至得到最後的結果。(注意:感知器的輸出依然只有乙個,但是可以傳送給多個目標。
神經網路的運作過程:
其中,最困難的部分就是確定權重(w)和閾值(b)。目前為止,這兩個值都是主觀給出的,但現實中很難估計它們的值,必需有一種方法,可以找出答案。
這種方法就是試錯法。其他引數都不變,w(或b)的微小變動,記作δw(或δb),然後觀察輸出有什麼變化。不斷重複這個過程,直至得到對應最精確輸出的那組w和b,就是我們要的值。這個過程稱為模型的訓練。
確定輸入和輸出
找到一種或多種演算法,可以從輸入得到輸出
找到一組已知答案的資料集,用來訓練模型,估算w和b
一旦新的資料產生,輸入模型,就可以得到結果,同時對w和b進行校正
機器學習第四周
好,下面來總結一下學習內容。一開始就講了non linear hypothesis 非線性估計 這是當資料無法用簡單的線性模型處理的時候採用的方法,然後andrew就開始講神經網路了,這一周的內容沒有很詳細,就是大概地讓你知道一下神經網路,產生乙個初步的印象。還是先來把用到的符號交代了吧。符號含義 ...
第四周學習總結
測試器 gdb 它是gnu計畫的工具,是核心除錯所用為kgdb。程式錯誤分類主要為兩類,第一類為編譯式錯誤,即語法錯誤 第二類為執行時的錯誤,如邏輯錯誤,記憶體錯誤。gdb三大功能 執行程式,設定斷點,檢視變數。使用命令 gcc g hello.c o hello 或 gcc tui。gdb具體使用...
第四周學習總結
本週在機器學習方面主要學習了對於機器學習演算法優化的一些基本方法和思路,交叉驗證集的概念和學習曲線在高偏差或高方差情況下的不同特徵 機器學習 吳恩達 第四周 計算機視覺方面複習到了神經網路,加深了對反向傳播過程的理解,學習了卷積神經網路的基本構成,各個層次的組成。此外還學習了訓練神經網路的步驟,以及...