前置知識
–前置知識
Numpy:Python的一個科學計算包
matplotlib:Python2d繪圖庫
高等數學,線性代數,統計學
Numpy
# numpy
import numpy as np
np.__version__ # 查看numpy版本
創建一個numpy
// An highlighted block
var foo = 'bar';
narray = np.array([i for i in range(10)])
判斷一個對象類型
type(narray)
narray.dtype
# 第三種創建numpy
x = np.arange(10)
x # 一維數組向量
# 二維數組矩陣 # 值爲-1時,不用關心第二個參數是什麼
x = x.reshape(2,5)
x.ndim #維度
x.size # 元素個數
x.shape # 矩陣形狀
ndarray 數據訪問
x[-1]
x[-1][0]
# x[行切片:列切片]
x[0:,1:4]
矩陣運算
x+1 #矩陣中每個數都加一
np.sin(x)
matplotlib
# 導入庫
from matplotlib import pyplot as plt
import numpy as np
# 構造數據
x = [i for i in range (0,17,4)]
y=x
plt.plot(x,y)
plt.show()
繪製散點圖
# 均值爲0 方差爲1 正態分佈數據
x = np.random.normal(0,1,1000000)
y = np.random.normal(0,1,1000000)
plt.scatter(x,y,alpha= 0.1) #
plt.show()
將sklearn數據可視化
#導入sklean
from sklearn import datasets
# 加載數據
iris = datasets.load_iris()
iris.keys()
iris.feature_names
iris.target
iris.target_names
iris.data.shape
X= iris.data[:,0:2]
Y= iris.target
plt.scatter(X[:,0],X[:,1])
bool索引
X[Y==0][:,0]#萼片維度huizhi
plt.scatter(X[Y==0][:,0],X[Y==0][:,1],color='r')
plt.scatter(X[Y==1][:,0],X[Y==1][:,1],color='b')
plt.scatter(X[Y==2][:,0],X[Y==2][:,1],color='g')
plt.show()
X=iris.data[:,2:]# 花瓣維度繪製
plt.scatter(X[Y==0][:,0],X[Y==0][:,1],color='r',marker="+")
plt.scatter(X[Y==1][:,0],X[Y==1][:,1],color='b',marker="o")
plt.scatter(X[Y==2][:,0],X[Y==2][:,1],color='g',marker="x")
plt.show()