В машинном обучении у нас есть возможность автоматизировать наш рабочий процесс. В этой статье я собираюсь помочь вам начать работу с ML на Python для начинающих .
Что такое трубопровод?
Конвейер машинного обучения используется для автоматизации наших рабочих процессов машинного обучения. Они работают так, что позволяют преобразовывать и сопоставлять последовательность данных в модели, которую можно протестировать и оценить для достижения результата, будь то положительный или отрицательный.
Мы собираемся построить конвейер подготовки данных и моделирования, и когда мы начнем писать код, вы увидите и поймете общую картину объяснений выше.
Мы будем использовать scikit-learn, широко известный как sklearn.
Мы собираемся использовать его для автоматизации стандартного рабочего процесса ML. Вы можете прочитать больше об этом в документации по sckit-learn .
Вам также может понравиться:
Как построить простой конвейер машинного обучения
Одной из основных проблем, которую следует избегать в своей работе в качестве практикующего врача, является утечка данных, и чтобы избежать этого, нам необходимо надлежащим образом подготовить наши данные и получить исчерпывающие знания об этом. Конвейеры помогают нам достичь этого, обеспечивая, чтобы стандартизация ограничивалась каждой процедурой перекрестной проверки.
Мы создадим простой конвейер, который стандартизирует наши данные, а затем создадим модель, которую мы будем оценивать с помощью перекрестной проверки без участия. Следующим шагом будет создание конвейера для извлечения объектов и моделирования.
питон
xxxxxxxxxx
1
#Import all our packages
2
from pandas import read_csv
3
from sklearn.model_selection import LeaveOneOut
4
from sklearn.model_selection import cross_val_score
5
from sklearn.preprocessing import StandardScaler
6
from sklearn.pipeline import Pipeline
7
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
После того, как мы импортировали наши данные, следующим шагом будет загрузка нашего набора данных:
питон
xxxxxxxxxx
1
# load data
2
Data = iris_dataset.csv
3
dataframe = read_csv(Data)
4
array = dataframe.values
5
X = array[:,0:8]
6
Y = array[:,8]
Далее мы должны создать наш конвейер:
Джава
xxxxxxxxxx
1
#creating pipeline
2
estimators = []
3
estimators.append(( standardize , StandardScaler()))
4
estimators.append(( lda , LinearDiscriminantAnalysis()))
5
model = Pipeline(estimators)
И последний шаг — оценить конвейер, который мы только что создали:
питон
xxxxxxxxxx
1
#evaluate pipeline
2
loocv = LeaveOneOut()
3
results = cross_val_score(model, X, Y, cv=loocv)
4
print("Accuracy: %.3f%% (%.3f%%)") % (results.mean()*100.0, results.std()*100.0)
Далее мы создадим конвейер для извлечения и моделирования объектов. Очень важно избежать утечки данных. Извлечение признаков можно рассматривать как акт уменьшения количества ресурсов, необходимых для описания объемного набора данных. При проведении анализа сложных данных существует 4 шага:
- Извлечение функций с анализом главных компонентов
- Извлечение признаков со статистическим отбором
- Художественный союз
- Изучите модель логистической регрессии
Теперь давайте создадим конвейер, который будет извлекать элементы, а затем создавать модель.
Сначала мы загрузим наши данные:
питон
xxxxxxxxxx
1
#create pipeline
2
estimators = []
3
estimators.append(( feature_union , feature_union))
4
estimators.append(( logistic , LinearRegression()))
5
model = Pipeline(estimators)
6
7
#evaluate pipeline
8
LeaveOneOut = LeaveOneOut(n_splits=10, random_state=7)
9
results = cross_val_score(model, X, Y, cv=LeaveOneOut)
10
print(results.mean())
Далее мы создадим объединение объектов:
питон
xxxxxxxxxx
1
Data = iris_dataset.csv
2
dataframe = read_csv(Data)
3
array = dataframe.values
4
X = array[:,0:8]
5
Y = array[:,8]
6
Наконец, мы должны создать и оценить:
питон
xxxxxxxxxx
1
#create feature union
2
features = []
3
features.append(( pca , PCA(n_components=3)))
4
features.append(( select_best , SelectKBest(k=6)))
5
feature_union = FeatureUnion(features)
Заключение
Теперь это выглядело очень просто, не потому, что конвейеры настолько просты, а потому, что я выбрал учебник, наиболее удобный для начинающих. Это должно дать вам преимущество и представление о трубопроводах.
Дальнейшее чтение
Воздушный поток для организации алгоритмов машинного обучения
Создание вашей первой модели машинного обучения с использованием KNIME