Skip to main content

[Machine Learning]: #6 Model Selection and Cross Validation

[Machine Learning]: #6 Model Selection and Cross-Validation


****************************************
Write Infront:
The topic we discuss before give us linear and polynomial functions to fit the data. But which model is the best and how can we decide which one to choose? Today we are going to tell you how to choose a better model for the data.

Let's Start Step by Step:
Here is a good video: Model Selection and Cross-Validation

*********************************************************************************
[Model Selection]: 



Use the Data we have and test it by the same data, it is horrible idea!!!!

[Cross Validation]:

[Step1]: choose a model, (maybe a linear regression with d =1)
[Step2]: separate the data.
[Step3]: For every data set they have to once test set. and get the error value(it is not official, but you know what I mean)

................ (after all these steps, calculate the average value of you mode1)

[Step4]: Choose differently model(maybe d=2,3....n) and get diferent average value (Cross Validation value)
[Step5]: Select the model with min Cross-validation value


[Can We Modify?]:

Ans: Sperate The Data at first step, part1 is for model selection and part2 is for test
how to select the model? previous method!!!!

Comments

Popular posts from this blog

[LeetCode Solution 230]: Kth Smallest Element in a BST

Question: Given a binary search tree, write a function  kthSmallest  to find the  k th smallest element in it. ************************************************************************************************************************************ Write Infront To read to a tutorial, please to read the tutorial of in-order traversal of BST, please check: LeetCode Solution 94: Binary Tree Inorder Traversal We are going to solve this question using the following 4 methods: ->Binary Search ->Recursive ->Iterative ->Morris  Approach #1 Binary Search [Accepted] Detail Explanation The first method to solve this problem is using Binary Search. The idea is very easy and extremely to think. We use BST's property that the left child of the root is smaller than the root while the right child of the root is always bigger. We consider that the root is the pivot, and find the number of the nodes in the left subtree and the number of the nodes in th

[LeetCode Solution 145] Binary Tree Postorder Traversal

[LeetCode Solution 145]: Binary Tree Postorder Traversal Question: Given a binary tree, return the  postorder  traversal of its nodes' values. For example: Given binary tree  {1,#,2,3} , 1 \ 2 / 3 return  [3,2,1] . Approach #1 Recursive [Accepted] Detail Explanation The first method to solve this problem is using recursive. This is the classical method and straightforward. we can define a helper function to implement recursion. The java code is as follows: Java public class Solution { public List<Integer> postorderTraversal (TreeNode root) { List<Integer> res = new ArrayList<>(); helper(root, res); return res; } public void helper (TreeNode root, List<Integer> res) { if (root != null ) { if (root.left != null ) { helper(root.left, res); } if (root.right != null ) { helper(root.right, res); } res.add(root.val); } } } Complexity Analysis Time complexity :

[Interview]: URLify

[Interview]  URLify: -------------------------------------------------------------------------------------------------------------------------- Question: URLify: Write a method to replace all spaces in a string with ‘%20’, you may assume that the string has sufficient space at the end to hold the additional characters. Example  input: ' mr john smith '  output: ' mr %20john%20smith' --------------------------------------------------------------------------------------------------------------------------   Idea 1:  Start from the back and start replacing until the character is not ' ', and replace the characters in reverse order. Solution 1: public class Solution{ public String replace(char[] str) { boolean flag = false; StringBuffer sb = new StringBuffer(); for (int i = str.length - 1; i >= 0; i--) { if (str[i] != ' ') flag = true; if (flag == true) { if (str[i] == ' ') { s