【机器学习】一张机器学习算法选择的图片和渣翻译

【机器学习】一张机器学习算法选择的图片和渣翻译
用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