原创 CART樹使用mae比使用mse慢很多
跑實驗時,數據集大約是2000*100,使用隨機森林128課樹做迴歸,發現使用mae所花的時間是使用mse時間10倍以上。然後單獨在CART迴歸樹做實驗,也是同樣的問題,爲什麼?? 留坑 -------------------------
原创 [leetcode 152]最大乘積子序列
leetcode 152 思路:dp 代碼: class Solution { public: int maxProduct(vector<int>& nums) { int n = nums.size();
原创 AUC曲線計算方法及代碼實現
參考:https://www.cnblogs.com/peizhe123/p/5081559.html AUC計算 1. 根據定義Aera Under Curve,計算面積。樣本有限,所以得到的AUC曲線一般是個階梯狀,所以計算這些階
原创 [leetcode 72]字符串編輯距離
題目連接:leetcode72 題意:給兩個字符串A和B,有三種操作,增加、刪除或替換一個字符。求A變成B最小的操作次數。 思路:使用動態規劃。 dp[i][j]表示將字符串A[0~i]變成字符串B[0~j]需要的操作數。 1、如果A[i
原创 [leetcode 546] 移除盒子
leetcode546 題意: 給定n個盒子,每個盒子都有一種顏色,將k個相鄰的相同顏色的盒子移除,可以得到k*k的分數,問如何移除才能獲得最大分數?輸出最大分數即可,n <= 100。 解析: 本題使用動規的方法,dp[i][j][k]
原创 排序算法(快排,歸併,堆排,冒泡,選擇,插入)
以下算法均按從小到大排序。 1、快排 #include <iostream> using namespace std; void QuikSort(int a[], int l, int r){ if(l >= r) retu
原创 圖的存在性
題目: 給定過一個1到N的排列P1到PN ,請判斷是否存在一個由N個點,N-1條邊組成的無向連通圖,滿足對於任意兩個整數i和j(i不等於j),若第i個點和第j個點之間有邊相連,則第Pi個點和第Pj個點之間同樣有邊相連。 輸入: 第一行輸入
原创 placeholer
1024 placeholder 還有勳章嗎?
原创 [leetcode 905]有效排列
題目鏈接:leetcode905 題意: 給一個由'D'和'I'組成的字符數組,求0~n這n+1個數滿足字符數組所有D和I規則的排列數目,D和I規則如下: D(decrease)代表a[i] > a[i+1]; I(increase)代表
原创 numpy實現KNN代碼
代碼參考徵哥博客:傳送門 簡介: KNN的基本思想是根據與測試樣本相鄰最近的k個樣本的標籤,去決定該樣本的預測值。KNN有三個要素:k值選擇,距離度量方式和決策準則。 KNN沒有顯式的訓練過程,計算基本都在預測階段。 1. K值選擇 一般
原创 CNN卷積相關計算
以AlexNet爲例 一、卷積/池化尺寸計算 計算公式: n’ = (n - k + 2p) / s + 1 其中n是輸入feature map大小,k是卷積核大小,p是padding大小,s是步長 eg:輸入feature m
原创 numpy實現K-Means代碼
參考徵哥博客:傳送門 K-Means步驟: 1、初始化k個聚類中心 2、計算每個樣本到每個聚類中心的距離,並劃分到距離最近的簇中(M步) 3、根據每個簇中的樣本重新計算聚類中心(E步) 4、重複2、3,直到聚類中心不再發生改變 複雜度分析
原创 字符串編輯距離
題目連接:leetcode72 題意:給兩個字符串A和B,有三種操作,增加、刪除或替換一個字符。求A變成B最小的操作次數。 思路:使用動態規劃。 dp[i][j]表示將字符串A[0~i]變成字符串B[0~j]需要的操作數。 1、如果A[i
原创 排序算法(快排,歸併,堆排)
以下算法均按從小到大排序。 1、快排 #include <iostream> using namespace std; void QuikSort(int a[], int l, int r){ if(l >= r) retu
原创 最大乘積子序列
leetcode 152 思路:dp 代碼: class Solution { public: int maxProduct(vector<int>& nums) { int n = nums.size();