《 기계 학습 파 이 썬 실천 》.

34690 단어
글 목록
  • 서문
  • CH1 초보 기계 학습
  • CH2 Python 기계 학습 의 생태 권
  • CH3 첫 번 째 기계 학습 프로그램
  • CH4 Python 과 Scipy 속성
  • CH5 데이터 가 져 오기
  • CH6 데이터 이해
  • CH7 데이터 시각 화
  • CH8 데이터 예비 처리
  • CH9 데이터 특징 선정
  • CH 10 평가 알고리즘
  • CH 11 알고리즘 평가 매트릭스
  • CH 12 심사 분류 알고리즘
  • CH 13 심사 회귀 알고리즘
  • CH 14 알고리즘 비교
  • CH 15 자동 프로 세 스
  • CH 16 통합 알고리즘
  • CH 17 알고리즘 인삼
  • CH 18 지구 화 로드 모델
  • CH 19 예측 모델 프로젝트 템 플 릿
  • CH 20 회귀 프로젝트 인 스 턴 스
  • CH 21 2 분류 실례
  • CH 22 텍스트 분류 실례
  • 머리말
    중국 공 신 출판 그룹, 전자 공업 출판사 위 정원 코드 다운로드:https://www.broadview.com.cn/33110 https://github.com/weizy1981/MachineLearning
    CH1 기계 학습
    기계 학습 을 할 때 다음 과 같은 잘못된 부분 을 피해 야 한다.
  • Python 의 문법 과 Python 의 프로 그래 밍 을 잘 알 아야 합 니 다.
  • scikit - learn 에서 사용 하 는 기계 학습 이론 과 알고리즘 을 깊이 있 게 학습 하고 이해한다.
  • 프로젝트 에 참여 하지 않 거나 적 게 참여 한다.

  • 기계 학습 프로젝트 진행 절차:
  • 정의 문제: 업무 장면 과 결합 하여 관건 적 인 기준 을 추출 합 니 다.
  • 데이터 이해: 서술 적 통계, 데이터 시각 화 를 통 해 데이터 세트 를 분석한다.
  • 데이터 준비: 데 이 터 를 예비 처리 하여 후속 모델 구축 에 사용 합 니 다.
  • 평가 알고리즘: 데 이 터 를 두 부분 으로 분리 하고 일 부 는 훈련 모델 에 사용 하 며 다른 일 부 는 평가 알고리즘 모델 에 사용 합 니 다.
  • 최적화 모델: 인삼 조절, 통합 알고리즘 을 통 해 예측 결과 의 정확 도 를 향상 시킨다.
  • 결과 배치: 알고리즘 모델 을 출시 하여 업무 지 표를 최적화 하 는 데 사용한다.

  • CH2 Python 기계 학습 의 생태 권
    생략
    CH3 첫 번 째 기계 학습 프로젝트
    demo: 붓꽃 분류.데이터 세트 는 아이 리 스 를 포함 한 세 개의 아시아 속 의 분류 정보 이다.기계 학습 을 통 해 하나의 모델 을 만 들 고 새로운 데 이 터 를 이 세 개의 아속 중 하나 로 자동 으로 분류 한다.이것 은 매우 간단 한 데이터 세트 로 초보 자 에 게 매우 적합 하 다.
    데이터 세트 다운로드 경로:https://archive.ics.uci.edu/ml/datasets/Iris
    #     
    from pandas import read_csv  #   csv   
    from pandas.plotting import scatter_matrix
    from matplotlib import pyplot  #     
    
    from sklearn.model_selection import train_test_split
    from sklearn.model_selection import KFold
    from sklearn.model_selection import cross_val_score
    from sklearn.metrics import classification_report
    from sklearn.metrics import confusion_matrix
    from sklearn.metrics import accuracy_score
    from sklearn.linear_model import LogisticRegression  #     
    from sklearn.tree import DecisionTreeClassifier  #    
    from sklearn.discriminant_analysis import LinearDiscriminantAnalysis  #       
    from sklearn.neighbors import KNeighborsClassifier # K  
    from sklearn.naive_bayes import GaussianNB  #      
    from sklearn.svm import SVC  #      
    
    #         https://archive.ics.uci.edu/ml/datasets/Iris
    #     
    filename = 'iris.data_csv'
    names = ['separ-length0', 'separ-width', 'petal-length', 'petal-width', 'class']  #            
    dataset = read_csv(filename, names=names)
    
    #     ,        ,          
    print('    :  %s,   %s' % dataset.shape)  #         、  
    print(dataset.head(10))  #       10   
    print(dataset.describe())  #             ,  、   、   、   、  、    
    print(dataset.groupby('class').size())  #         
    
    #     ,     
    dataset.plot(kind='box', subplots=True, layout=(2, 2), sharex=False, sharey=False)  #    
    pyplot.show()
    
    dataset.hist()  #    
    pyplot.show()
    
    scatter_matrix(dataset)  #      
    pyplot.show()
    
    #     ,            ,       ,           
    #         
    array = dataset.values
    X = array[:, 0:4]  #  4   
    Y = array[:, 4]  #  5   
    validation_size = 0.2
    seed = 7
    #   ,X_train Y_train        ,X_validation Y_validation        
    X_train, X_validation, Y_train, Y_validation = train_test_split(X, Y, test_size=validation_size, random_state=seed)
    
    # K     。        K ,  K-1       ,1       
    #     
    models = {}
    models['LR'] = LogisticRegression()  #      LR
    models['LDA'] = LinearDiscriminantAnalysis()  #        LDA
    models['KNN'] = KNeighborsClassifier()  # K   KNN
    models['CART'] = DecisionTreeClassifier()  #        CART
    models['NB'] = GaussianNB()  #        NB
    models['SVM'] = SVC()  #       SVM
    
    #     
    results = []
    for key in models:
        kfold = KFold(n_splits=10, random_state=seed)
        cv_results = cross_val_score(models[key], X_train, Y_train, cv=kfold, scoring='accuracy')
        results.append(cv_results)
        print('%s: %f (%f)' % (key, cv_results.mean(), cv_results.std()))
    
    #       ,    SVM            
    #        
    fig = pyplot.figure()
    fig.suptitle('Algorithm Comparison')
    ax = fig.add_subplot(111)
    pyplot.boxplot(results)
    ax.set_xticklabels(models.keys())
    pyplot.show()
    
    #     ,           
    svm = SVC()
    svm.fit(X=X_train, y=Y_train)
    predictions = svm.predict(X_validation)
    print(accuracy_score(Y_validation, predictions))
    print(confusion_matrix(Y_validation, predictions))
    print(classification_report(Y_validation, predictions))
    

    CH4 Python 과 Scipy 속성.
    생략
    CH5 데이터 가 져 오기
    # Python  csv     demo
    ############################################################################
    #   1
    from csv import reader
    import numpy as np
    
    filename = 'pima_data.csv'
    with open(filename, 'rt') as raw_data:
        readers = reader(raw_data, delimiter=',')
        x = list(readers)
        data = np.array(x).astype('float')
        print(data.shape)
    
    ############################################################################
    #   2
    from numpy import loadtxt
    
    filename = 'pima_data.csv'
    with open(filename, 'rt') as raw_data:
        data = loadtxt(raw_data, delimiter=',')
        print(data.shape)
    
    ############################################################################
    #   3,  
    from pandas import read_csv
    
    filename = 'pima_data.csv'
    names = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class']
    data = read_csv(filename, names=names)  #  csv   DataFrame,           
    print(data.shape)
    

    CH6 데이터 이해
    데이터 의 특징 과 분 포 를 이해 하면 데 이 터 를 처리 하고 더욱 최 적 화 된 모델 을 훈련 하 는 데 도움 이 된다.다음 7 가지 방식 으로 데 이 터 를 이해 할 수 있다.
    from pandas import read_csv
    
    filename = 'pima_data.csv'
    names = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class']
    data = read_csv(filename, names=names)
    print(data.head(10))  #       10 
    print(data.shape)  #         
    print(data.dtypes)  #             
    print(data.describe())  #             
    print(data.groupby('class').size())  #          
    print(data.corr(method='pearson'))  #             
    print(data.skew())  #                  
    

    어떤 데이터 세트 가 좋 은 훈련 데이터 세트 입 니까?
  • 특징 수량 이 적당 해 야 한다.특징 이 너무 많 으 면 알고리즘 의 성능 이 저 하 될 수 있다.
  • 줄 수 는 적당 해 야 한다.행 수가 너무 많 으 면 훈련 시간 이 너무 길 고 행 수가 너무 적 으 면 훈련 이 충분 하지 않 을 수 있다.
  • 모든 특징의 수치 분 포 는 균일 하고 균형 이 있어 야 한다.
  • 특징 간 의 상관 성 이 비교적 떨 어 지고 0 에 가 까 워 지 는 것 이 가장 좋다.
  • 데이터 분 포 는 고 스 분 포 를 따 르 는 것 이 가장 좋다.

  • CH7 데이터 시각 화
    데이터 시각 화 는 데 이 터 를 이해 하 는 가장 빠 르 고 효과 적 인 방식 이다.
    from pandas import read_csv
    import matplotlib.pyplot as plt
    import numpy as np
    
    filename = 'pima_data.csv'
    names = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class']
    data = read_csv(filename, names=names)
    data.hist()  #    
    data.plot(kind='density', subplots=True, layout=(3, 3), sharex=False)  #    
    data.plot(kind='box', subplots=True, layout=(3, 3), sharex=False)  #    
    
    correlations = data.corr()  #      
    fig = plt.figure()
    ax = fig.add_subplot(111)  #     
    cax = ax.matshow(correlations, vmin=-1, vmax=1)  #       
    fig.colorbar(cax)  #       
    ticks = np.arange(0, 9, 1)
    ax.set_xticks(ticks)  #   x   
    ax.set_yticks(ticks)
    ax.set_xticklabels(names)  #   x   
    ax.set_yticklabels(names)
    
    scatter_matrix(data)  #      
    plt.show()
    

    CH8 데이터 전처리
  • 데이터 척도 조정.
  • 정태 화.
  • 표준화.
  • 이치 화.

  • CH9 데이터 특징 선정
    데이터 와 특징 은 모델 의 상한 선 을 결정 하고 모델 과 알고리즘 은 이 상한 선 에 가 까 울 뿐이다.
  • 단일 변수 특징 선정.
  • 재 귀 특징 제거.
  • 주요 성분 분석.
  • 특징의 중요성.

  • CH 10 평가 알고리즘
    알고리즘 모델 이 알 수 없 는 데이터 에 대한 예측 능력 을 알 아야 한다. 가장 좋 은 평가 방법 은 결 과 를 명확 하 게 알 고 있 는 데 이 터 를 이용 하여 생 성 된 알고리즘 모델 을 실행 하여 검증 하 는 것 이다.
  • 분리 훈련 데이터 세트 와 평가 데이터 세트
  • K 절 교차 검증 분리
  • 포기 교차 검증 분리
  • 무 작위 분리 평가 데이터 세트 와 훈련 데이터 세트
  • 반복
    CH 11 알고리즘 평가 매트릭스
    계산 알고리즘 의 평가 행렬 은 기계 학습 의 알고리즘 모델 을 평가한다.
  • 알고리즘 평가 매트릭스
  • 회귀 알고리즘 매트릭스
  • CH 12 심사 분류 알고리즘
    알고리즘 심 사 는 적합 한 기계 학습 알고리즘 을 선택 하 는 주요 한 방법 중의 하나 이다.
  • 다양한 대표 적 인 알고리즘 시도
  • 다양한 기계 학습 을 시도 하 는 알고리즘
  • 다양한 모델 시도
  • CH 13 심사 회귀 알고리즘


  • CH 14 알고리즘 비교
    서로 다른 알고리즘 의 정확 도 를 비교 하고 적당 한 알고리즘 을 선택 하면 기계 학습 문 제 를 처리 할 때 매우 중요 하 다.이 장 은 여러 가지 알고리즘 을 분석 하고 비교 하 는 방법 을 제공 했다.
    CH 15 자동 프로 세 스
    기계 학습 문제 에 대한 자동화 처 리 를 실현 할 수 있 는 표준적 인 절차 가 있다.
    CH 16 통합 알고리즘
    다양한 기계 학습 알고리즘 을 조합 하여 알고리즘 의 정확 도 를 높이 는 방법 을 통합 학습 이 라 고 부른다.
  • 포장 알고리즘 Bagging:
  • 향상 알고리즘 Boosting:
  • 투표 알고리즘 투표:
  • CH 17 알고리즘 인삼
    기계 학습 모델 은 모두 매개 변수 화 되 어 있 으 며, 인삼 조절 을 통 해 모델 의 정확 도 를 높 일 수 있다.
  • 격자 검색 최적화 매개 변수:
  • 무 작위 검색 최적화 매개 변수:
  • CH 18 지구 화 로드 모델
    실제 생산 에서 높 은 정확도 모델 을 만 들 수 있 는 알고리즘 을 찾 은 후 생 성 된 모델 을 직렬 화하 여 생산 환경 에 발표 해 야 한다.
  • pickle:
  • joblib:

  • CH 19 예측 모델 프로젝트 템 플 릿
    새로운 머 신 러 닝 프로젝트 에 대응 할 때 Python 파일 을 새로 만 들 고 이 템 플 릿 을 붙 여 넣 은 다음 앞 장 에서 소개 한 방법 에 따라 모든 단계 에 채 웁 니 다.
    # Python         
    
    # 1.     
    # a)     
    # b)      
    
    # 2.     
    # a)      
    # b)      
    
    # 3.     
    # a)     
    # b)     
    # c)     
    
    # 4.     
    # a)      
    # b)         
    # c)     
    # d)     
    
    # 5.     
    # a)     
    # b)     
    
    # 6.     
    # a)        
    # b)            
    # c)      
    

    CH 20 회귀 프로젝트 인 스 턴 스
    CH 21 2 분류 실례
    CH 22 텍스트 분류 실례

    좋은 웹페이지 즐겨찾기