Изменения

Перейти к: навигация, поиск

Обзор библиотек для машинного обучения на Python

2103 байта добавлено, 13:41, 23 января 2019
Нет описания правки
Scikit-learn<ref>[https://scikit-learn.org/stable/ Библиотека scikit-learn]</ref> {{---}} библиотека машинного обучения на языке программирования Python с открытым исходным кодом. Содержит реализации практически всех возможных преобразований, и нередко ее одной хватает для полной реализации модели. В данной библиотеки реализованы методы разбиения датасета на тестовый и обучающий, вычисление основных метрик над наборами данных, проведение кросс-валидации. В библиотеке также есть основные алгоритмы машинного обучения: линейной регрессии, (и ее модификаций Лассо, гребневой регрессии), опорных векторов, решающих деревьев и лесов и др. Есть и реализации основных методов кластеризации. Кроме того, библиотека содержит постоянно используемые исследователями методы работы с параметрами (фичами): например, понижение размерности методом главных компонент. Частью пакета является библиотека imblearn<ref>[https://imbalanced-learn.readthedocs.io/en/stable/index.html Библиотека imbalanced-learn]</ref>, позволяющая работать с разбалансированными выборками и генерировать новые значения.
===Примеры кода===
====Линейная регрессия====
Основная статья: [[Линейная регрессия]]
 
<font color="green"># Add required imports</font>
'''import''' matplotlib.pyplot '''as''' plt
'''import''' numpy '''as''' np
'''from''' sklearn '''import''' datasets
'''from''' sklearn.linear_model '''import''' LinearRegression
'''from''' sklearn.metrics '''import''' mean_squared_error, r2_score
 
Загрузка датасета:
diabetes = datasets.load_diabetes()
<font color="green"># Use only one feature</font>
diabetes_X = diabetes.data[:, np.newaxis, <font color="blue">2</font>]
 
Разбиение датасета на тренировочный и тестовый:
<font color="green"># Split the data into training/testing sets</font>
x_train = diabetes_X[:<font color="blue">-20</font>]
x_test = diabetes_X[<font color="blue">-20</font>:]
<font color="green"># Split the targets into training/testing sets</font>
y_train = diabetes.target[:<font color="blue">-20</font>]
y_test = diabetes.target[<font color="blue">-20</font>:]
 
Построение и обучение модели:
lr = LinearRegression()
lr.fit(x_train, y_train)
predictions = lr.predict(x_test)
 
Оценка алгоритма:
<font color="green"># The mean squared error</font>
print(<font color="red">"Mean squared error: %.2f"</font>
% mean_squared_error(y_test, predictions))
<font color="green"># Explained variance score: 1 is perfect prediction</font>
print(<font color="red">'Variance score: %.2f'</font> % r2_score(y_test, predictions))
 
> '''Mean squared error: 2548.07'''
'''Variance score: 0.47'''
 
Построение графика прямой, получившейся в результате работы линейной регрессии:
plt.scatter(x_test, y_test, color=<font color="red">'black'</font>)
plt.plot(x_test, predictions, color=<font color="red">'blue'</font>, linewidth=<font color="blue">3</font>)
plt.xticks(())
plt.yticks(())
plt.show()
 
[[File:Diabetes-sklearn.png|400px|none|super]]
====Логистическая регрессия====
Основная статья: [[Логистическая регрессия]]
333
правки

Навигация