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
  • 相关阅读:
    vscode识别预览markdown文件
    工具:静态资源服务器server
    vscode配置easy sass 生成压缩和未压缩的css文件
    cocos Create简单记录
    小程序AR云识别
    小程序被冻结 解冻方法
    vscode设置px转换为rem
    js 打印文本
    .net 启动进程并执行某方法
    c# 创建文件夹、压缩成zip格式并下载
  • 原文地址:https://www.cnblogs.com/keepmoving1113/p/14327357.html
Copyright © 2011-2022 走看看