原创 奇異值分解(SVD)理論與python實現

        奇異值分解(Singular Value Decomposition,SVD)是一種重要的矩陣分解(Matrix Decomposition)方法,可以看做對稱方正在任意矩陣上的一種推廣,該方法在機器學習的中佔有重要地位。

原创 選擇排序

1、原理 選擇排序的第i趟排序,從第i個記錄開始掃描序列,在n-i+1(1≤i≤n-1)個記錄中找到最小的記錄,並和第i個記錄交換作爲有序序列的第i個記錄。 2、代碼實現 #include<iostream> using namespa

原创 快速排序

1、算法思想 選定一個元素作爲支點(pivot),以支點爲基準將整個序列劃分爲兩個子序列r1 … ri-1和ri+1 … rn,前一個子序列中記錄的值均小於或等於支點,後一個子序列中元素的值均大於或等於支點,這個過程稱作一趟快速排序(如下

原创 python——數組的創建、存取(切片、整數、布爾)、去重、堆疊、連接

標準Python的列表(list)中,元素本質是對象。如:L = [1, 2, 3],需要3個指針和三個整數對象,對於數值運算比較浪費內存和CPU。因

原创 python——繪圖、插值、優化

本文首先使用matplotlib模塊來繪製一些圖形,包括:折線、柱狀圖、直方圖等,其中內容涉及一些概率分佈函數,包括均勻分佈、高斯分佈、泊松分佈等。然後利用scipy中的interpolate模塊進行一些插值操作。最後利用scipy中的o

原创 windows和python2.7下xgboost的快速安裝方法

        任何軟件、資源的安裝下載首選肯定是官網(xgboost官方安裝教程:http://xgboost.readthedocs.io/en/latest/build.html),但安裝xgboost需要下載各種工具,然後自己來編

原创 字符串匹配問題——KMP算法

字符串匹配問題:給定兩個字符串S(主串)和T(模式串),假設n=strlen(S) > strlen(T)=m,判斷主串S中是否包含模式T,且返回T在S中所在的起始位置。這裏爲簡單起見,若S包含T,則只返回第一個T所在的位置。 一般的蠻力

原创 堆排序

1、主要步驟:1)建堆2)篩選:自堆頂至葉子調整2、代碼void heapAdjust(int data[], int s, int m) //默認是按照大頂堆調整 { int temp = data[s]; for (int j

原创 pandas中的索引:loc、iloc、ix的區別

1、loc:        1)、只能通過標籤名來取數據import pandas as pd lst = [[11,12,13],[14,15,16]] index = ['row_0','row_1'] columns=['col_0

原创 歸併排序

1、算法思路(分治策略)(1)劃分:將待排序序列r1, r2, …, rn劃分爲兩個長度相等的子序列r1, …, rn/2和rn/2+1, …, rn;(2)求解子問題:分別對這兩個子序列進行排序,得到兩個有序子序列;(3)合併:將這兩個

原创 機器學習之優化算法

        在機器學習中,由於問題解的計算量通常很大,一般會採用迭代的方式來進行優化求解。最常用的優化算法包括:梯度下降法(BGD、SGD、MBGD)、座標上升法(Coordinate Ascent)、牛頓法和擬牛頓法等。1、梯度下降

原创 xgboost原理

本文主要結合了兩篇文章,並做了稍微的修改,原文出處: 1、http://blog.csdn.net/a819825294/article/details/51206410 2、https://zhuanlan.zhihu.co

原创 機器學習之分類器性能指標之ROC曲線、AUC值

原文出處: http://www.cnblogs.com/dlml/p/4403482.html 一 roc曲線 1、roc曲線:接收者操作特徵(receiveroperating characteristic),roc

原创 python 裝飾器

一、含義 首先,裝飾器是用來給目標函數“裝飾”用的;其次,裝飾器是一個函數,它返回的是一個裝飾好的目標函數。 二、舉例 step1: 比如,我們寫了一個求平方的目標函數: def my_pow(x): # 求平方 pri

原创 yield

return 的作用 在一個 generator function 中,如果沒有 return,則默認執行至函數完畢,如果在執行過程中 return,則直接拋出 StopIteration 終止迭代。 def func(): a