机器学习算法①

作者: 柳叶刀与小鼠标 | 来源:发表于2018-01-24 15:47 被阅读8次

    机器学习算法

    广泛地说,有三种类型的机器学习算法。

    1.监督学习

    这个算法由一个目标/结果变量(或因变量)组成,这个变量可以从一组给定的预测变量(独立变量)中预测出来。 使用这些变量,我们生成一个将输入映射到所需输出的函数。 训练过程一直持续到模型达到训练数据所需的准确度。 监督学习的例子:回归,决策树,随机森林,KNN,逻辑回归等。

    2.无监督学习

    在这个算法中,我们没有任何目标或结果变量来预测/估计。 用于不同群体的群体聚类,广泛用于不同群体的消费者细分进行具体干预。 无监督学习的例子:Apriori算法,K-means。

    3.强化学习:

    使用这种算法,机器被训练做出特定的决定。 它是这样工作的:机器暴露在一个环境中,它使用反复试验不断地训练自己。 这台机器从过去的经验中学习,并试图捕捉最好的知识,做出准确的业务决策。 强化学习实例:马尔可夫决策过程

    • 这里是常用的机器学习算法列表。 这些算法可以应用于几乎所有的数据问题:

    线性回归
    Logistic回归
    决策树
    SVM
    朴素贝叶斯
    KNN
    K均值
    随机森林
    维度降低算法
    梯度提升算法
    GBM
    XGBoost
    LightGBM
    CatBoost

    1.线性回归

    它用于根据连续变量估计实际值(房屋成本,通话次数,总销售额等)。在这里,我们通过拟合最佳线来建立独立和因变量之间的关系。该最佳拟合线被称为回归线,并由线性方程Y = a * X + b表示。

    理解线性回归的最好方法是重温童年的这种体验。让我们说,你问一个五年级的孩子,通过增加体重的顺序来安排班上的人,而不要问他们的重量!你觉得孩子会做什么?他/她可能会查看(视觉分析)人的身高和身材,并使用这些可见参数的组合进行排列。这是现实生活中的线性回归!实际上,孩子已经找到了身高,身材与体重之间的关系,看起来像上面的方程式。

    在这个等式中:

    Y因变量
    一个 - 坡度
    X - 自变量
    b - 拦截
    这些系数a和b是基于最小化数据点与回归线之间的距离的平方和的总和而得出的。

    看下面的例子。这里我们已经确定了具有线性方程y = 0.2811x + 13.9的最佳拟合线。现在使用这个等式,我们可以找到重量,知道一个人的身高。

    R代码:

    #Load Train and Test datasets
    #Identify feature and response variable(s) and values must be numeric and numpy arrays
    x_train <- input_variables_values_training_datasets
    y_train <- target_variables_values_training_datasets
    x_test <- input_variables_values_test_datasets
    x <- cbind(x_train,y_train)
    # Train the model using the training sets and check score
    linear <- lm(y_train ~ ., data = x)
    summary(linear)
    #Predict Output
    predicted= predict(linear,x_test) 
    

    python:

    #Import Library
    #Import other necessary libraries like pandas, numpy...
    from sklearn import linear_model
    #Load Train and Test datasets
    #Identify feature and response variable(s) and values must be numeric and numpy arrays
    x_train=input_variables_values_training_datasets
    y_train=target_variables_values_training_datasets
    x_test=input_variables_values_test_datasets
    # Create linear regression object
    linear = linear_model.LinearRegression()
    # Train the model using the training sets and check score
    linear.fit(x_train, y_train)
    linear.score(x_train, y_train)
    #Equation coefficient and Intercept
    print('Coefficient: \n', linear.coef_)
    print('Intercept: \n', linear.intercept_)
    #Predict Output
    predicted= linear.predict(x_test)
    

    相关文章

      网友评论

        本文标题:机器学习算法①

        本文链接:https://www.haomeiwen.com/subject/mgyuaxtx.html