Trong hướng dẫn Python này, chúng ta sẽ tìm hiểu cách Scikit learn Split data hoạt động trong Python. Và chúng tôi cũng sẽ đề cập đến các ví dụ khác nhau liên quan đến Scikit learn Chia dữ liệu. Hơn nữa, chúng tôi sẽ bao gồm các chủ đề này
- Scikit learn Chia dữ liệu
- Scikit learn Chỉ số kiểm tra tàu chia nhỏ
- Scikit learn Chia theo nhóm
- Scikit học Split K fold
- Scikit tìm hiểu Chiến lược chia dữ liệu
- Scikit tìm hiểu Chuỗi thời gian phân tách
- Scikit học Chia tàu kiểm tra Val
Nếu bạn chưa quen với việc học Scikit, chúng tôi khuyên bạn nên đọc Scikit Learn in Python là gì
Mục lục
- Scikit learn Chia dữ liệu
- Scikit learn Chỉ số kiểm tra tàu chia nhỏ
- Scikit learn Chia theo nhóm
- Scikit học Split K fold
- Scikit tìm hiểu Chiến lược chia dữ liệu
- Scikit tìm hiểu Chuỗi thời gian phân tách
- Scikit học Chia tàu kiểm tra Val
Scikit learn Chia dữ liệu
Trong phần này, chúng ta sẽ tìm hiểu về cách thức hoạt động của Scikit learn Split data trong python
Scikit learn split data frame được sử dụng để phân tách dữ liệu thành tập dữ liệu huấn luyện và kiểm tra chức năng split[] được sử dụng để phân tách dữ liệu mà nó gọi là dữ liệu đầu vào để phân tách dữ liệu
Mã số
Trong đoạn mã sau, chúng tôi nhập một số thư viện mà từ đó chúng tôi có thể đưa khung dữ liệu vào bộ dữ liệu huấn luyện và thử nghiệm
- x, y = số. sắp xếp[10]. định hình lại [[5, 2]], phạm vi [5] được sử dụng để sắp xếp dữ liệu
- array=[] được sử dụng để xác định mảng
- list[y] dùng để in danh sách dữ liệu ra màn hình
- x_train, x_test, y_train, y_test = train_test_split[x, y, test_size=0. 33, random_state=42] được sử dụng để chia khung dữ liệu thành tập dữ liệu thử nghiệm và đào tạo
- train_test_split[y, shuffle=False] được sử dụng để phân chia dữ liệu
import numpy as num
from sklearn.model_selection import train_test_split
x, y = num.arange[10].reshape[[5, 2]], range[5]
x
array=[[[1, 2],
[3, 4],
[5, 6],
[7, 8],
[9, 10]]]
list[y]
x_train, x_test, y_train, y_test = train_test_split[
x, y, test_size=0.33, random_state=42]
x_train
train_test_split[y, shuffle=False]
đầu ra
Sau khi chạy đoạn mã trên, chúng tôi nhận được đầu ra sau, trong đó chúng tôi có thể thấy rằng khung dữ liệu được chia thành tập dữ liệu huấn luyện và thử nghiệm
Đọc. Scikit tìm hiểu Xử lý hình ảnh
Scikit learn Chỉ số kiểm tra tàu chia nhỏ
Trong phần này, chúng ta sẽ tìm hiểu về cách thức hoạt động của Scikit tìm hiểu Split train test intext trong python
Scikit learn split train test index được sử dụng để phân tách dữ liệu kiểm tra train thành chỉ mục kiểm tra train để tìm phân tách kiểm tra train. Hàm split[] được sử dụng để chia dữ liệu thành chỉ mục văn bản tàu
Mã số
Trong đoạn mã sau, chúng tôi sẽ nhập một số thư viện mà từ đó chúng tôi có thể phân chia chỉ mục kiểm tra đào tạo
- x = số. mảng[[[2, 3], [4, 5], [6, 7], [8, 9], [4, 5], [6, 7]]] được sử dụng để tạo mảng
- randomshuffle = ShuffleSplit[n_splits=5, test_size=. 25, random_state=0] được sử dụng để phân chia dữ liệu
- cho train_index, test_index trong Randomshuffle. chia[x]. được sử dụng để chia tập dữ liệu thành chỉ mục kiểm tra đào tạo
- in[“ĐÀO TẠO. ”, train_index, “KIỂM TRA. ”, test_index] được sử dụng để in dữ liệu chỉ mục kiểm tra tàu
import numpy as num
from sklearn.model_selection import ShuffleSplit
x = num.array[[[2, 3], [4, 5], [6, 7], [8, 9], [4, 5], [6, 7]]]
y = num.array[[1, 2, 1, 2, 1, 2]]
randomshuffle = ShuffleSplit[n_splits=5, test_size=.25, random_state=0]
randomshuffle.get_n_splits[x]
print[randomshuffle]
for train_index, test_index in randomshuffle.split[x]:
print["TRAIN:", train_index, "TEST:", test_index]
đầu ra
Sau khi chạy đoạn mã trên, chúng tôi nhận được đầu ra sau, trong đó chúng tôi có thể thấy rằng dữ liệu được phân tách thành phân tách chỉ mục huấn luyện và kiểm tra
Đọc. Scikit học phi tuyến tính
Scikit learn Chia theo nhóm
Trong phần này, chúng ta sẽ tìm hiểu về cách hoạt động của Scikit learn split by group trong python
- Scikit learn split group by được sử dụng để chia dữ liệu và chia dữ liệu thành các nhóm
- Chúng ta có thể sử dụng hàm train_test_split[] để chia dữ liệu thành tập huấn luyện và tập kiểm tra
Mã số
Trong đoạn mã sau, chúng tôi nhập một số thư viện mà từ đó chúng tôi có thể chia dữ liệu theo nhóm
- iris = load_iris[] được sử dụng để tải dữ liệu iris
- x = mống mắt. dữ liệu được sử dụng để nhập giá trị của x
- x_train, x_test, y_train, y_test = train_test_split[x, y, test_size = 0. 6] được sử dụng để chia dữ liệu thành tập dữ liệu huấn luyện và kiểm tra
- print[Counter[y_train]] được sử dụng để in giá trị của nhóm y train
- print[Counter[y_test]] được sử dụng để in dữ liệu của nhóm kiểm tra y
from collections import Counter
import numpy as num
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
iris = load_iris[]
x = iris.data
y = iris.target
x_train, x_test, y_train, y_test = train_test_split[x, y, test_size = 0.6]
print[Counter[y_train]]
print[Counter[y_test]]
đầu ra
Trong kết quả sau đây, chúng ta có thể thấy rằng dữ liệu nhóm huấn luyện y và dữ liệu nhóm kiểm tra y được in trên màn hình
Đọc. Scikit tìm hiểu Hướng dẫn KNN
Scikit học Split K fold
Trong phần này, chúng ta sẽ tìm hiểu về cách Scikit learn split Kfold hoạt động trong python
- Scikit learn split Kfold dùng để chia dữ liệu thành K fold liên tiếp theo mặc định mà không bị xáo trộn dữ liệu
- Tập dữ liệu được chia thành hai phần dữ liệu đào tạo và dữ liệu thử nghiệm với sự trợ giúp của phương thức train_test_split[]
Mã số
Trong đoạn mã sau, chúng tôi sẽ nhập một số thư viện mà từ đó chúng tôi có thể chia tập dữ liệu thành K nếp gấp liên tiếp
- con số. ngẫu nhiên. seed[1338] được sử dụng để tạo các số ngẫu nhiên
- n_splits = 6 được sử dụng để chia dữ liệu thành sáu phần
- phần trăm_classes = [0. 1, 0. 3, 0. 6] được sử dụng để tạo dữ liệu nhóm
- nhóm = số. hstack[[[ii] * 10 for ii in range[10]]] dùng để chia đều các nhóm
- hình, trục = đồ thị. subplots[] được sử dụng để vẽ đồ thị
- trục. set[] được sử dụng để đặt trục trên màn hình
from sklearn.model_selection import [
TimeSeriesSplit,
KFold,
ShuffleSplit,
StratifiedKFold,
GroupShuffleSplit,
GroupKFold,
StratifiedShuffleSplit,
StratifiedGroupKFold,
]
import numpy as num
import matplotlib.pyplot as plot
from matplotlib.patches import Patch
num.random.seed[1338]
cmap_data = plot.cm.Paired
cmap_cv = plot.cm.coolwarm
n_splits = 6
n_points = 100
x = num.random.randn[100, 10]
percentiles_classes = [0.1, 0.3, 0.6]
y = num.hstack[[[ii] * int[100 * perc] for ii, perc in enumerate[percentiles_classes]]]
group = num.hstack[[[ii] * 10 for ii in range[10]]]
def visualizegroup[classes, group, name]:
figure, axis = plot.subplots[]
axis.scatter[
range[len[group]],
[0.5] * len[group],
c=group,
marker="_",
lw=60,
cmap=cmap_data,
]
axis.scatter[
range[len[group]],
[3.5] * len[group],
c=classes,
marker="_",
lw=60,
cmap=cmap_data,
]
axis.set[
ylim=[-1, 5],
yticks=[0.5, 3.5],
yticklabels=["Data\ngroup", "Data\nclass"],
xlabel="Sample index",
]
visualizegroup[y, group, "no groups"]
đầu ra
Trong kết quả sau đây, chúng ta có thể thấy rằng tập dữ liệu được chia thành K nếp gấp liên tiếp theo mặc định mà không có bất kỳ sự xáo trộn dữ liệu nào
Đọc. Scikit học Phân tích tình cảm
Scikit tìm hiểu Chiến lược chia dữ liệu
Trong phần này, chúng ta sẽ tìm hiểu về cách Scikit tìm hiểu chiến lược dữ liệu phân tách hoạt động trong python
- Scikit learn chiến lược chia dữ liệu được sử dụng để chia tập dữ liệu thành dữ liệu huấn luyện và dữ liệu thử nghiệm
- Dữ liệu huấn luyện được sử dụng để điều chỉnh dữ liệu vào mô hình và dữ liệu thử nghiệm được sử dụng để đánh giá dữ liệu phù hợp
- Chúng ta có thể tách dữ liệu thử nghiệm và đào tạo với sự trợ giúp của phương thức train_test_split[]
Mã số
Trong đoạn mã sau, chúng tôi sẽ nhập một số thư viện mà từ đó chúng tôi có thể phân chia chiến lược dữ liệu
- phạm vi = số. ngẫu nhiên. RandomState[0] được sử dụng để tạo các số ngẫu nhiên
- y = phạm vi. poisson[lam=np. kinh nghiệm[x[. , 5]] / 2] được sử dụng cho mục tiêu số nguyên dương tương quan với nhiều số không
- x_train, x_test, y_train, y_test = train_test_split[x, y, random_state=range] được sử dụng để chia dữ liệu thành dữ liệu huấn luyện và thử nghiệm
- lém lỉnh. fit[x_train, y_train] được sử dụng để điều chỉnh dữ liệu
- in [glm. score[x_test, y_test]] được sử dụng để in điểm
- numroc = make_pipeline[SimpleImputer[strategy=”median”], StandardScaler[]] được sử dụng để tạo đường dẫn từ tập dữ liệu
- gbdt_no_cst = HistGradientBoostingRegressor[]. fit[x, y] được sử dụng để phù hợp với mô hình hồi quy tăng cường độ dốc lịch sử
- display = plot_partial_dependence[] được sử dụng để vẽ dữ liệu trên biểu đồ
- trưng bày. trục_[0, 0]. plot[] được sử dụng để hiển thị các trục trên màn hình
import numpy as num
from sklearn.model_selection import train_test_split
from sklearn.linear_model import PoissonRegressor
from sklearn.ensemble import HistGradientBoostingRegressor
nsamples, nfeatures = 1000, 20
range = num.random.RandomState[0]
x = range.randn[nsamples, nfeatures]
y = range.poisson[lam=np.exp[x[:, 5]] / 2]
x_train, x_test, y_train, y_test = train_test_split[x, y, random_state=range]
glm = PoissonRegressor[]
gbdt = HistGradientBoostingRegressor[loss="poisson", learning_rate=0.01]
glm.fit[x_train, y_train]
gbdt.fit[x_train, y_train]
print[glm.score[x_test, y_test]]
print[gbdt.score[x_test, y_test]]
from sklearn import set_config
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import OneHotEncoder, StandardScaler
from sklearn.impute import SimpleImputer
from sklearn.compose import make_column_transformer
from sklearn.linear_model import LogisticRegression
set_config[display="diagram"]
numproc = make_pipeline[SimpleImputer[strategy="median"], StandardScaler[]]
catproc = make_pipeline[
SimpleImputer[strategy="constant", fill_value="missing"],
OneHotEncoder[handle_unknown="ignore"],
]
preprocessor = make_column_transformer[
[numproc, ["feat1", "feat3"]], [catproc, ["feat0", "feat2"]]
]
classifier = make_pipeline[preprocessor, LogisticRegression[]]
classifier
import scipy
import numpy as num
from sklearn.model_selection import train_test_split
from sklearn.cluster import KMeans
from sklearn.datasets import make_blobs
from sklearn.metrics import completeness_score
range = num.random.RandomState[0]
x, y = make_blobs[random_state=range]
x = scipy.sparse.csr_matrix[x]
x_train, x_test, _, y_test = train_test_split[x, y, random_state=range]
kmeans = KMeans[algorithm="elkan"].fit[x_train]
print[completeness_score[kmeans.predict[x_test], y_test]]
import numpy as num
from matplotlib import pyplot as plot
from sklearn.model_selection import train_test_split
from sklearn.inspection import plot_partial_dependence
from sklearn.ensemble import HistGradientBoostingRegressor
nsamples = 500
range = num.random.RandomState[0]
x = range.randn[nsamples, 2]
noise = range.normal[loc=0.0, scale=0.01, size=nsamples]
y = 5 * x[:, 0] + num.sin[10 * num.pi * x[:, 0]] - noise
gbdt_no_cst = HistGradientBoostingRegressor[].fit[x, y]
gbdt_cst = HistGradientBoostingRegressor[monotonic_cst=[1, 0]].fit[x, y]
display = plot_partial_dependence[
gbdt_no_cst,
x,
features=[0],
feature_names=["feature 0"],
line_kw={"linewidth": 4, "label": "unconstrained", "color": "tab:red"},
]
plot_partial_dependence[
gbdt_cst,
x,
features=[0],
line_kw={"linewidth": 4, "label": "constrained", "color": "tab:cyan"},
ax=display.axes_,
]
display.axes_[0, 0].plot[
x[:, 0], y, "o", alpha=0.5, zorder=-1, label="samples", color="tab:orange"
]
display.axes_[0, 0].set_ylim[-3, 3]
display.axes_[0, 0].set_xlim[-1, 1]
plot.legend[]
plot.show[]
đầu ra
Sau khi chạy đoạn mã trên, chúng tôi nhận được đầu ra sau, chúng tôi có thể thấy rằng tập dữ liệu được phân chia theo chiến lược dữ liệu của họ
Đọc. Scikit học Gradient Descent
Scikit tìm hiểu Chuỗi thời gian phân tách
Trong phần này, chúng ta sẽ tìm hiểu về cách Scikit learn split time series hoạt động trong python
Scikit learn chuỗi thời gian phân chia được sử dụng dữ liệu đào tạo và thử nghiệm để phân chia thời gian tại một khoảng thời gian cố định
Mã số
Trong đoạn mã sau, chúng tôi sẽ nhập một số thư viện mà từ đó chúng tôi có thể phân chia dữ liệu chuỗi thời gian
- hình, trục = đồ thị. subplots[figsize=[14, 6]] được sử dụng để vẽ đồ thị
- trung bình tuần_nhu cầu = khung dữ liệu. groupby[[“ngày trong tuần”, “giờ”]]. mean[][“count”] được sử dụng để tính nhu cầu trung bình trong tuần
- trung bìnhtuần_nhu cầu. biểu đồ [trục = trục] = trục. set[] được sử dụng để vẽ trục trên biểu đồ
- chuỗi thời gian cv = TimeSeriesSplit[] được sử dụng để phân chia dữ liệu chuỗi thời gian
- X. iloc[test_0] dùng để chọn dữ liệu theo vị trí
from sklearn.datasets import fetch_openml
bikesharing = fetch_openml["Bike_Sharing_Demand", version=2, as_frame=True]
dataframe = bikesharing.frame
import matplotlib.pyplot as plot
figure, axis = plot.subplots[figsize=[14, 6]]
averageweek_demand = dataframe.groupby[["weekday", "hour"]].mean[]["count"]
averageweek_demand.plot[ax=axis]
_ = axis.set[
title="Average Bike Demand During the week",
xticks=[i * 24 for i in range[7]],
xticklabels=["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
xlabel="Time of the week",
ylabel="Number of bike rentals",
]
y = dataframe["count"] / dataframe["count"].max[]
figure, axis = plot.subplots[figsize=[14, 6]]
y.hist[bins=30, ax=axis]
_ = axis.set[
xlabel="Fraction of rented fleet demand",
ylabel="Number of hours",
]
x = dataframe.drop["count", axis="columns"]
x
from sklearn.model_selection import TimeSeriesSplit
timeseries_cv = TimeSeriesSplit[
n_splits=7,
gap=48,
max_train_size=10000,
test_size=1000,
]
allsplits = list[timeseries_cv.split[x, y]]
train_0, test_0 = allsplits[0]
X.iloc[test_0]
đầu ra
Sau khi chạy đoạn mã trên, chúng tôi nhận được đầu ra sau, trong đó chúng tôi có thể thấy rằng chuỗi thời gian phân tách dữ liệu được thực hiện trên màn hình
Đọc. Scikit học Thuật toán di truyền
Scikit học Chia tàu kiểm tra Val
Trong phần này, chúng ta sẽ tìm hiểu cách thức hoạt động của Scikit learn slit train test Val trong python
- Scikit learn split train test val được sử dụng để chia tập dữ liệu thành dữ liệu huấn luyện và kiểm tra và nhận giá trị của dữ liệu phân tách kiểm tra huấn luyện
- Dữ liệu huấn luyện được sử dụng để điều chỉnh dữ liệu vào mô hình và dữ liệu thử nghiệm được sử dụng để đánh giá dữ liệu phù hợp
Mã số
Trong đoạn mã sau, chúng tôi sẽ nhập một số thư viện mà từ đó chúng tôi có thể tách val kiểm tra tàu
- x_train, x_test, y_train, y_test = train_test_split[x, y, random_state=0] được sử dụng để chia tập dữ liệu thành dữ liệu thử nghiệm đào tạo
- hình, trục = đồ thị. subplots[] được sử dụng để vẽ hình hoặc trục trên biểu đồ
- trục. set_xlabel[“Effective Alpha”] được sử dụng để vẽ nhãn x trên biểu đồ
- trục. set_title[“Tổng tạp chất so với alpha hiệu quả cho tập huấn luyện”] được sử dụng để vẽ tiêu đề trên màn hình
import matplotlib.pyplot as plot
from sklearn.model_selection import train_test_split
from sklearn.datasets import load_breast_cancer
from sklearn.tree import DecisionTreeClassifier
x, y = load_breast_cancer[return_X_y=True]
x_train, x_test, y_train, y_test = train_test_split[x, y, random_state=0]
classifier = DecisionTreeClassifier[random_state=0]
path = classifier.cost_complexity_pruning_path[x_train, y_train]
ccpalphas, impurities = path.ccp_alphas, path.impurities
figure, axis = plot.subplots[]
axis.plot[ccpalphas[:-2], impurities[:-2], marker="o", drawstyle="steps-post"]
axis.set_xlabel["Effective Alpha"]
axis.set_ylabel["Total Impurity Of Leaves"]
axis.set_title["Total Impurity vs effective alpha for training set"]
đầu ra
Sau khi chạy đoạn mã trên, chúng tôi nhận được đầu ra sau, trong đó chúng tôi có thể thấy rằng biểu đồ được vẽ trên màn hình và cũng nhận được giá trị kiểm tra tàu phân tách
Bạn cũng có thể muốn đọc các hướng dẫn tìm hiểu Scikit sau đây
- Hướng dẫn phân loại Scikit learn
- Scikit học Lựa chọn tính năng
- Scikit tìm hiểu hồi quy tuyến tính
- Scikit tìm hiểu Ma trận nhầm lẫn
- Scikit học Điều chỉnh siêu tham số
Vì vậy, trong hướng dẫn này, chúng ta đã thảo luận về Scikit, tìm hiểu dữ liệu Phân tách và chúng ta cũng đã đề cập đến các ví dụ khác nhau liên quan đến việc triển khai nó. Dưới đây là danh sách các ví dụ mà chúng tôi đã đề cập
- Scikit learn Chia dữ liệu
- Scikit learn Chỉ số kiểm tra tàu chia nhỏ
- Scikit learn Chia theo nhóm
- Scikit học Split K fold
- Scikit tìm hiểu Chiến lược chia dữ liệu
- Scikit tìm hiểu Chuỗi thời gian phân tách
- Scikit học Chia tàu kiểm tra Val
Bijay Kumar
Python là một trong những ngôn ngữ phổ biến nhất ở Hoa Kỳ. Tôi đã làm việc với Python trong một thời gian dài và tôi có kinh nghiệm làm việc với nhiều thư viện khác nhau trên Tkinter, Pandas, NumPy, Turtle, Django, Matplotlib, Tensorflow, Scipy, Scikit-Learn, v.v… Tôi có kinh nghiệm làm việc với nhiều khách hàng khác nhau . Kiểm tra hồ sơ của tôi