scipy是乙個高階的科學計算庫,和numpy聯絡很緊密,它的不同子模組對應不同的應用,如下:
模組名功能
scipy.cluster
向量量化
scipy.constants
數學常量
scipy.fftpack
快速傅利葉變換
scipy.integrate
積分scipy.interpolate
插值scipy.io
資料輸入輸出
scipy.linalg
線性代數
scipy.ndimage
n維影象
scipy.odr
正交距離回歸
scipy.optimize
優化演算法
scipy.signal
訊號處理
scipy.sparse
稀疏矩陣
scipy.spatial
空間資料結構和演算法
scipy.special
特殊數學函式
scipy.stats
統計函式
scipy的一些基礎應用如下:
# -*- coding: utf-8 -*
import scipy.stats as stats # 匯入scipy的統計庫
import scipy.linalg as linalg # 匯入scipy的線性代數運算庫
from scipy.optimize import fmin # 從scipy的優化演算法庫匯入fmin
import numpy as np
def f(x):
return x ** 2 + 10 * np.sin(x)
def main():
# 1、產生20個在[0,1]均勻分布的隨機數
x = stats.uniform.rvs(size=20)
print("print1:")
print(x)
# 2、產生20個在服從[0,1]正態分佈的隨機數
x = stats.norm.rvs(size=20, loc=0, scale=1)
print("print2:")
print(x)
# 3、產生泊松分布
x = stats.poisson.rvs(0.6, loc=0, size=20)
print("print3:")
print(x)
# 4、t檢驗,驗證兩個樣本值是否顯著不同
# 均值為0,標準差為1的100個正態分佈的隨機數
a = np.random.normal(0, 1, size=100)
# 均值為1,標準差為1的10個正態分佈的隨機數
b = np.random.normal(1, 1, size=10)
print("print4:")
print(stats.ttest_ind(a, b))
# 5、計算方陣的行列式
arr = np.array([[1, 2], [3, 4]])
det = linalg.det(arr)
print("print5:")
print("det = ", det)
# 6、計算方陣的逆
arr = np.array([[1, 2], [3, 4]])
arr_inv = linalg.inv(arr)
print("print6:")
print("arr_inv = ", arr_inv)
# 7、求函式最小值
print("print7:")
print(fmin(f, 0))
if __name__ == '__main__' :
main()
機器學習 3
如果你希望讓學習演算法能夠達到人類的地步,但是還沒有達到,那麼人工檢查一下你的演算法犯的錯誤,會讓你了解接下來該做什麼。這個過程稱為誤差分析。對於乙個貓狗分類的任務,你最終實現了90 的精度,這遠遠沒有達到你的目標。然後你對出錯的分類進行分析,發現他們看起來是有點像貓。或許你的隊友給你提一些建議,增...
機器學習學習小結(3)
1.scikit learn環境 在anaconda常用的命令 在anaconda prompt中鍵入 若在window命令視窗中直接輸入conda list會提示不是內部或外部命令 scikit learn中文文件 建立在numpy,scipy和matplotlib 事先需要安裝 2.anacon...
機器學習 分類3
今天,輸出了cross validation 在每個類別裡面的 模型評估值。主要有下面2步 這是將輸出變成pandas矩陣的函式 from sklearn.metrics import classification report from collections import defaultdict...