【机器学习】一张机器学习算法选择的图片和渣翻译
用python代码的方式翻译一下:
if samples > 50:
if predicting a category: #预测结果是否为分类
'''以下为classification(分类)'''
if have labeled data: #判断是否有标记数据
if samples < 100K: #数据量是否小于10万条
try: Linear SVC #线性支持向量机
except:
if Text Data: #是否文本数据
Naive Bayes #朴素贝叶斯
else:
try: KNeighbors Classifier #K近邻算法
except: SVC or Ensemble Classifiers #支持向量机和集成分类器
else:
try: SGD Classifier #SGD分类器
except: kernel approximation #核估计
'''以下为clustering(聚类)'''
else:
if number of categories known: #判断是否知道有几种分类
if samples < 10K:
try: KMeans #KMeans算法
except: Spectral Clustering or GMM #谱聚类和混合高斯模型
else: MiniBatch KMeans #批训练KMeans算法
else:
if samples < 10K: MeanShift or VBGMM #均值漂移算法和VBGMM算法
else: tough luck #无解
elif predicting a quantity: #预测结果是否为数值
'''以下为regression(回归)'''
if samples < 100K:
if few features should be important: #很少存在特征是重要的
Lasso or ElasticNet #最小绝对收缩和选择算法,弹性网络
else:
try: RidgeRegression or SVR(kernel='linear') #岭回归和支持向量回归(线性核)
except: SVR(kernel='rbf') or EnsembleRegressors #支持向量回归(高斯核)和集合回归函数
else: SGD Regresson #SGD回归(随机梯度下降)
else:
'''以下为dimensionality reduction(降维)'''
if just looking: #随便看看...
try: Randomized PCA #随机主成分分析
except:
if samples < 10K:
try: Isomap or Spectral Embedding #等距特征映射和光谱嵌入
except: LLE #局部线性嵌入(Locally Linear Embedding)
else: kernel approximation #核估计
else:
predicting structure #预测结构
tough luck #无解
else: get more data