zoukankan      html  css  js  c++  java
  • Python for Data Science

    Chapter 6 - Other Popular Machine Learning Methods

    Segment 2 - A neural network with a Perceptron

    Perceptron

    A perceptron is a neural network with just one layer,

    It's a linear classifier that outputs a binary response variable.

    Consequently, the algorithm is called a "linear binary classifier."

    Linear Separability

    • Data is said to have "linear separability " if it can be cleanly classified into one of two classes.
    • Your data must be linearly separable in order for a perceptron to operate properly.

    Activation Function

    An activation function is a mathematical function that is deployed on each unit in a neural network.

    All units in a shared layer deploy the same activation function.

    The purpose of activation functions is to enable neural networks to model complex, nonlinear phenomenon.

    import numpy as np
    import pandas as pd
    import sklearn
    
    from pandas import Series, DataFrame
    from sklearn import datasets
    from sklearn.preprocessing import StandardScaler
    from sklearn.model_selection import train_test_split
    from sklearn.metrics import confusion_matrix, classification_report
    
    from sklearn.linear_model import Perceptron
    
    iris = datasets.load_iris()
    
    X = iris.data
    y = iris.target
    
    X[0:10,]
    
    array([[5.1, 3.5, 1.4, 0.2],
           [4.9, 3. , 1.4, 0.2],
           [4.7, 3.2, 1.3, 0.2],
           [4.6, 3.1, 1.5, 0.2],
           [5. , 3.6, 1.4, 0.2],
           [5.4, 3.9, 1.7, 0.4],
           [4.6, 3.4, 1.4, 0.3],
           [5. , 3.4, 1.5, 0.2],
           [4.4, 2.9, 1.4, 0.2],
           [4.9, 3.1, 1.5, 0.1]])
    
    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
    
    standardize = StandardScaler()
    
    standardized_X_test = standardize.fit_transform(X_test)
    
    standardized_X_train = standardize.fit_transform(X_train)
    
    standardized_X_test[0:10,]
    
    array([[ 0.60104076, -0.54300257,  1.03062704,  1.00726119],
           [-0.14142136,  2.04272396, -1.19635601, -1.17060084],
           [ 0.8131728 , -0.54300257,  0.87525613,  1.68784307],
           [ 0.49497475, -0.28442992,  1.03062704,  1.00726119],
           [-0.88388348,  0.7498607 , -1.09277541, -1.03448446],
           [-1.20208153, -0.54300257, -1.09277541, -1.30671722],
           [-0.56568542,  1.78415131, -0.9374045 , -0.89836809],
           [-0.45961941,  0.7498607 , -1.14456571, -1.17060084],
           [-0.88388348, -1.83586584, -0.26413055,  0.05444655],
           [-0.98994949,  0.49128804, -1.0409851 , -1.17060084]])
    
    perceptron = Perceptron(max_iter=50, eta0=0.15, tol=1e-3, random_state=15)
    
    perceptron.fit(standardized_X_train, y_train.ravel())
    
    Perceptron(eta0=0.15, max_iter=50, random_state=15)
    
    y_pred = perceptron.predict(standardized_X_test)
    
    print(y_test)
    
    [2 0 2 2 0 0 0 0 1 0 0 0 1 2 0 2 2 0 1 2 2 1 1 1 2 1 2 0 0 0]
    
    print(y_pred)
    
    [2 0 2 2 0 0 0 0 1 0 0 0 1 1 0 2 2 0 1 1 2 1 1 1 2 1 2 0 0 0]
    
    print(classification_report(y_test,y_pred))
    
                  precision    recall  f1-score   support
    
               0       1.00      1.00      1.00        13
               1       0.78      1.00      0.88         7
               2       1.00      0.80      0.89        10
    
        accuracy                           0.93        30
       macro avg       0.93      0.93      0.92        30
    weighted avg       0.95      0.93      0.93        30
  • 相关阅读:
    css清除select默认的样式
    网站性能优化的方法--Yahoo
    jQuery写toTop(回到顶部)效果
    jquery的addClass、removeClass、toggleClass方法
    css选择器汇总
    日期对象的正确写法
    顶会热词统计
    《人月神话》读后感二
    新闻详情页实现
    第八周总结
  • 原文地址:https://www.cnblogs.com/keepmoving1113/p/14327357.html
Copyright © 2011-2022 走看看