我读了很多关于支持向量机的文章,在我看到的所有书籍和在线文章中,支持向量机被归类为使用超平面的线性分类器。如果数据不能线性可分,则可以将数据映射到高维,以启用线性边界。
现在,我看到了华盛顿大学著名机器学习专家佩德罗·多明戈斯教授的一些文章和幻灯片。他特别将支持向量机归类为一种基于实例的机器学习算法,类似于kNN.有人能跟我解释一下吗?
例如,在 in Communications of the ACM (2012年10月)中,他特别将支持向量机置于“实例”-based表示之下,而大多数机器学习人员会将其置于“超平面”下,并进行logistic回归。
此外,在他的中,他给出了这样的推
因此,我一直在一组数据上使用KNN,在train_test_split阶段的random_state =4。尽管使用了随机状态,但每次输出的准确率、分类报告、预测等都是不同的。想知道为什么会这样?
这里是数据的头部:(根据all_time_runs和顺序预测位置)
order position all_time_runs
0 10 NO BAT 1304
1 2 CAN BAT 7396
2 3 NO BAT 6938
3 6 CAN BAT 4903
4
为了计算分类引起的损失,我们这样做:
If y (w \cdot x + b) > 0:\text{no loss}
If y (w \cdot x + b) < 0:\text{loss} = −y (w \cdot x + b)
那么,在这里,决策边界上的点到底是什么呢?我们如何分类和计算他们的损失?(因为它会变成0)
我一直在研究一个分类器模型,使用GridSearchCV来寻找最佳的超参数。然后我对模型进行了腌制,并将其装入(以节省每次运行笔记本时的时间)。
但是,当我试图关闭它时,我会得到以下错误:
AttributeError: 'GridSearchCV' object has no attribute 'close'
这是我的密码:
# Save the Grid Search CV object as a pickle file
pickle.dump(knn_grid, open(r'./knn_grid_model.p', 'wb
我将一些数据分成了两类,使用LinearDiscriminantAnalysis分类器从sklearn中分离出来,而且效果很好,所以我这样做了:
from sklearn.cross_validation import train_test_split
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis as LDA
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.25) # 25% of the dataset a
澳大利亚的降雨分类
在这种情况下,将使用滑雪板分类算法,即:
Logistic回归分类(参数)决策树分类(非参数)随机森林分类(非参数)K-最近邻(KNN)分类(非参数)
列车测试分叉为80-20
准确性评分:
Logistic Regression Test Score 0.854062
Logistic Regression Train Score 0.853797
Decision Tree Test Score 0.795838
Decision Tree Train Score 1.000000
Random Forest Te
我使用permutatation_importance来查找哪些值是最重要的
from sklearn.neighbors import KNeighborsClassifier
import numpy as np
from sklearn.inspection import permutation_importance
columns=['progresion', 'tipo']
X = df_cat.drop(columns, axis = 1)
y = df_cat['progresion']
X_train, X_test, y