**pandas 線上
《統計學方法》 李航著 《機器學習》 周志華著 清華出版社 《劍指offer》 何海濤著
一次讀取大檔案可能把記憶體爆掉, 是以可以采取分塊讀取
import pandas as pd
path = \'./diabetes.csv\'
data = pd.read_csv(path,sep=\',\',engine = \'python\',iterator=True)
loop = True
chunk_size = 1024
chunks = []
index = 0
while loop:
try:
print(index)
chunk = data.get_chunk(chunk_size)
chunks.append(chunk)
index+=1
except StopIteration as siterEx:
loop = False
print(\'the end...\')
print(\'start to combine...\')
data = pd.concat(chunks,ignore_index=True)
data.head()
numpy.random.rand(5,10) # 5 行 10 列 随機生成
numpy.random.randn(5,10) # 5 行 10 列 呈正态分布 随機
numpy 對矩陣降維用 .ravel 或 .flattern() 可以 對比 spark 的 RDD
pandas 處理 NaN 資料 填充 用 fillna()
numpy 處理 nan 資料 填充用 nan_to_num ( auc = np.nan_to_num(metrics.auc(fpr,tpr))
pandas 輸出格式不友好,那麼就轉成 html 然後用浏覽器檢視表格 df.to_html()
直接用 psycopg2 讀取列是個問題, 建議改用 SQLAlchemy 擷取他進階點的 ORM 架構
在做模型訓練的時候,尤其是在訓練集上做交叉驗證,通常想要将模型儲存下來,然後放到獨立的測試集上測試,下面介紹的是Python中訓練模型的儲存和再使用。
scikit-learn已經有了模型持久化的操作,導入joblib即可
from sklearn.externals import joblib
1
模型儲存
>>> os.chdir("workspace/model_save")
>>> from sklearn import svm
>>> X = [[0, 0], [1, 1]]
>>> y = [0, 1]
>>> clf = svm.SVC()
>>> clf.fit(X, y)
>>> clf.fit(train_X,train_y)
>>> joblib.dump(clf, "train_model.m")
1
2
3
4
5
6
7
8
通過joblib的dump可以将模型儲存到本地,clf是訓練的分類器
模型從本地調回
>>> clf = joblib.load("train_model.m")
1
通過joblib的load方法,加載儲存的模型。
然後就可以在測試集上測試了
clf.predit(test_X) #此處test_X為特征集
