(1)Xgboost与GBDT的区别?
(2)讲一下GBDT算法?
(3)决策树中ID3、C4.5、CART算法一个一个讲解?
(4)ID3、C4.5、CART算法区别和联系?
(5)决策树是如何解决过拟合问题的?
(6)SVM如何解决过拟合问题?
(7)SVM如何做到多分类的?
(8)快速排序手写代码?
package interview;
public class interview_quicksort58 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] array = {9,5,8,4,7};
Sort(array, 0, array.length-1);
for(int i=0; i<array.length; i++) {
System.out.print(array[i] +" ");
}
}
public static void Sort(int[] array, int low, int hight) {
if(low >= hight) {
return;
}
int index = partition(array, low, hight);
Sort(array, low, index-1);
Sort(array, index+1, hight);
}
public static int partition(int[] array, int low, int hight) {
int key = array[low];
while (low < hight) {
while (low < hight && array[hight] > key)
hight--;
array[low] = array[hight];
while (low < hight && array[low] < key)
low++;
array[hight] = array[low];
}
array[hight] = key;
return hight;
}
}
(9)字符串转数字,比如“123”变成123,或转“123Microstrong”变成“123”。注意异常的处理。
第一次写出代码:
package interview;
public class interview_stringToint {
public static void main(String[] args) {
// TODO Auto-generated method stub
int num = convertTonum("123");
System.out.print(num);
}
public static int convertTonum (String val){
int return_val = 0 ;
char[] char_arr = val.toCharArray();
for (int i = 0; i <char_arr.length; i++) {
char c = char_arr[i];
int val_v = (int)Math.pow(10, char_arr.length-(i+1));
return_val = return_val + (c-48) *val_v;
}
return return_val;
}
}代码提交之后,面试官看完,又给我打过来电话,说字符串转数字这个,是让我注意一下异常处理,比如说空、空格等。
第二次写代码:
package interview;
import java.util.Scanner;
public class interview_stringToint {
public static void main(String[] args) {
// TODO Auto-generated method stub
// String inputStr = "1Z2Y3Q4";
Scanner scanner = new Scanner(System.in);
String inputStr = scanner.nextLine();
if(inputStr == null || inputStr.length() == 0) {
System.out.println("请输入数据!");
}else {
String[] arrayStr = inputStr.split("[^\\d]+");
String str="";
for(int i=0; i<arrayStr.length; i++) {
str+=arrayStr[i];
}
int num = convertTonum(str);
System.out.print(num);
}
}
public static int convertTonum (String val){
int return_val = 0 ;
char[] char_arr = val.toCharArray();
for (int i = 0; i <char_arr.length; i++) {
char c = char_arr[i];
int val_v = (int)Math.pow(10, char_arr.length-(i+1));
return_val = return_val + (c-48) *val_v;
}
return return_val;
}
}

这篇博客总结了58集团面试中的关键问题,涉及机器学习算法如Xgboost、GBDT及其与决策树(ID3、C4.5、CART)的关系和过拟合解决方案。此外,还讨论了SVM在多分类问题中的应用及代码实现,包括快速排序和字符串转数字的异常处理技巧。
2638

被折叠的 条评论
为什么被折叠?



