《 기계 학습 파 이 썬 실천 》.
중국 공 신 출판 그룹, 전자 공업 출판사 위 정원 코드 다운로드:https://www.broadview.com.cn/33110 https://github.com/weizy1981/MachineLearning
CH1 기계 학습
기계 학습 을 할 때 다음 과 같은 잘못된 부분 을 피해 야 한다.
기계 학습 프로젝트 진행 절차:
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()) #
어떤 데이터 세트 가 좋 은 훈련 데이터 세트 입 니까?
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 평가 알고리즘
알고리즘 모델 이 알 수 없 는 데이터 에 대한 예측 능력 을 알 아야 한다. 가장 좋 은 평가 방법 은 결 과 를 명확 하 게 알 고 있 는 데 이 터 를 이용 하여 생 성 된 알고리즘 모델 을 실행 하여 검증 하 는 것 이다.
CH 11 알고리즘 평가 매트릭스
계산 알고리즘 의 평가 행렬 은 기계 학습 의 알고리즘 모델 을 평가한다.
알고리즘 심 사 는 적합 한 기계 학습 알고리즘 을 선택 하 는 주요 한 방법 중의 하나 이다.
CH 14 알고리즘 비교
서로 다른 알고리즘 의 정확 도 를 비교 하고 적당 한 알고리즘 을 선택 하면 기계 학습 문 제 를 처리 할 때 매우 중요 하 다.이 장 은 여러 가지 알고리즘 을 분석 하고 비교 하 는 방법 을 제공 했다.
CH 15 자동 프로 세 스
기계 학습 문제 에 대한 자동화 처 리 를 실현 할 수 있 는 표준적 인 절차 가 있다.
CH 16 통합 알고리즘
다양한 기계 학습 알고리즘 을 조합 하여 알고리즘 의 정확 도 를 높이 는 방법 을 통합 학습 이 라 고 부른다.
기계 학습 모델 은 모두 매개 변수 화 되 어 있 으 며, 인삼 조절 을 통 해 모델 의 정확 도 를 높 일 수 있다.
실제 생산 에서 높 은 정확도 모델 을 만 들 수 있 는 알고리즘 을 찾 은 후 생 성 된 모델 을 직렬 화하 여 생산 환경 에 발표 해 야 한다.
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 텍스트 분류 실례
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.