Когда мы попытаемся решить проблему с DataMining мы столкнемся с большим количеством вопросов, но мы можем решить их все с помощью Python. В этом посте я собираюсь рассказать вам о некоторых мощных пакетах Питона

Библиотеки Python для анализа данных

Machine Learning/Data Mining/Big Data

Библиотеки Python для анализа данных

Когда мы попытаемся решить проблему с DataMining мы столкнемся с большим количеством вопросов, но мы можем решить их все с помощью Python.

В этом посте я собираюсь рассказать вам о некоторых мощных пакетах Питона.

Прежде чем перейти непосредственно к Python пакетам позвольте мне развеять ваши сомнения, которые крутятся в вашей голове прямо сейчас. Почему Python?

Почему Python?

Мы все знаем, что питон мощный язык программирования, но что это значит на самом деле? Что делает Python мощным языком программирования?

Python очень прост

Репутацию универсального языка Python приобрел из-за его легко изучения. Синтаксис языка Python разработан, чтобы быть легко читаемым. Python имеет большую популярность в научных вычислениях. Люди, работающие в этой области как правило во первых ученые, а потом уже программисты.

Python является эффективным

Мы работаем с объемами данных которые в народе называют BIG DATA. Чем больше данных вы должны обрабатывать, тем важнее, использовать управляемую память. И в этом питон работает очень эффективно.

Python быстр

Мы все знаем, что Python является интерпретируемым языком, вы можете думать, что он может быть медленным, но много удивительных вещей было сделано за последние годы для повышения производительности Питона. Моя точка зрения в том, что если вы хотите сделать высокопроизводительные вычисления, Python является лучшим жизнеспособным вариантом на сегодня.

Надеюсь, я очистил ваши сомнения о том «Почему Python?», Так что позвольте мне перейти к пакетам Python для интеллектуального анализа данных.

NumPy

Описание:

NumPy является фундаментальным пакетом для научных вычислений с Python. Он содержит много разных вещей. NumPy является расширением языка программирования Python, добавляя поддержку больших многомерных массивов и матриц, вместе с большой библиотекой высокого уровня математических функций для работы на этих массивах. Предок NumPy, Numeric, был первоначально создан Джимом Хагуниным при участии ряда других разработчиков. В 2005 году Трэвис Олифант создал NumPy путем включения функции конкурирующего Numarray в Numeric, с обширными изменениями.

Первоначальный автор (ы) Трэвис Олифант
Автор (ы) Проект сообщества
Первый релиз
как Numeric, 1995; как NumPy, 2006
Стабильный релиз 1.9.0 / 7 сентября 2014; 36 дней назад
Написан на Python, C
Операционная система Кросс-платформа
Тип Технические вычисления
Лицензия BSD-new license
Сайт www.numpy.org

Установка NumPy:

Я твердо уверен, что питон уже установлен в вашем компьютере, если питон не установлен на Вашем компьютере, пожалуйста, установите его в первую очередь.

Установка NumPy в Linux

Откройте терминал и скопируйте эти команды:

sudo apt-get update
sudo apt-get install python-numpy

Пример NumPy код для использования RESHAPE функции

from numpy import *
a = arange(12)
a = a.reshape(3,2,2)
print a

вывод скрипта

[[[0 1]
[2 3]]
[[4 5]
[6 7]]
[[8 9]
[10 11]]]

SciPy

Описание:

SciPy  программное обеспечение с открытым исходным кодом для математики, науки и техники. Библиотека SciPy зависит от NumPy, который обеспечивает удобный и быстрый работу с N-мерными массивами. Библиотека SciPy создана для работы с массивами NumPy и предоставляет множество удобных и эффективных программ, таких как программы для численного интегрирования и оптимизации. Вместе они работают на всех популярных операционных системах, быстро устанавливаются, и являются бесплатными. NumPy и SciPy просты в использовании, но являются достаточно мощными. 

Первоначальный автор (ы) Трэвис Олифант
Автор (ы) Проект сообщества
Стабильный релиз 0.14.0 / 3 мая 2014; 5 месяцев назад
Написан на Python, Fortran, C, C ++
Операционная система Кросс-платформа
Тип Технические вычисления
Лицензия BSD-new license
Сайт www.scipy.org

Установка SciPy в Linux

Откройте терминал и скопируйте эти команды:

sudo apt-get update
sudo apt-get install python-scipy

Пример SciPy кода

from scipy import special, optimize
f = lambda x: -special.jv(3, x)
sol = optimize.minimize(f, 1.0)
x = linspace(0, 10, 5000)
plot(x, special.jv(3, x), '-', sol.x, -sol.fun, 'o')
savefig('plot.png', dpi=96)

вывод скрипта

Pandas

Описание:

Pandas пакет Python обеспечивает быстрые, гибкие и выразительные структуры данных, предназначенные для упрощения работы с «реляционными» или «маркированными» данными. Он стремится быть основным высокоуровневым блоком для выполнения анализа данных в режиме реального времени на языке Python. Кроме того, он имеет цель стать самым мощным и гибким инструментом с открытым исходным кодом инструментом для анализа данных и манипуляции с ними, доступный на любом языке. 

Pandas хорошо подходит для различных видов данных:

  1. Табличные данные такие как в таблице SQL или Excel.
  2. Упорядоченные и неупорядоченные данные (не обязательно с фиксированной частотой) временных рядов.
  3. Произвольные матричные данные  с метками строк и столбцов.
  4. Любая другая форма наблюдений и статистические наборы данных. Данные фактически не требующие наличия меток.

Установка Pandas в Linux

Откройте терминал и скопируйте эти команды:

sudo apt-get update
sudo apt-get install python-pandas

Пример Pandas кода

import pandas as pd
values = np.array([2.0, 1.0, 5.0, 0.97, 3.0, 10.0, 0.0599, 8.0])
ser = pd.Series(values)
print ser

Вывод скрипта

0 2.0000
1 1.0000
2 5.0000
3 0.9700
4 3.0000
5 10.0000
6 0.0599
7 8.0000

Matplotlib

Описание:

Matplotlib является библиотекой графического отображения для языка программирования Python и его расширения вычислительной математики NumPy. Он обеспечивает объектно-ориентированный API для встраивания в приложения, используя GUI инструменты такие, как WxPython, Qt, или GTK +. Существует также процедурный «pylab» интерфейс на основе OpenGL. Также Matplotlib используется в  SciPy.

Первоначальный автор (ы) Джон Хантер
Автор (ы) Майкл Droettboom и др.
Стабильный релиз 1.4.2 (26 октября 2014 года)
Написан на Python
Операционная система Кросс-платформа
Тип Графический инструмент
Лицензия matplotlib license
Сайт matplotlib.org

Установка Matplotlib в Linux

Откройте терминал и скопируйте эти команды:

sudo apt-get update
sudo apt-get install python-matplotlib

Пример Matplotlib кода для создания гистограмм

import numpy as np
import matplotlib.mlab as mlab
import matplotlib.pyplot as plt
# example data
mu = 100 # mean of distribution
sigma = 15 # standard deviation of distribution
x = mu + sigma * np.random.randn(10000)
num_bins = 50
# the histogram of the data
n, bins, patches = plt.hist(x, num_bins, normed=1, facecolor='green', alpha=0.5)
# add a 'best fit' line
y = mlab.normpdf(bins, mu, sigma)
plt.plot(bins, y, 'r--')
plt.xlabel('Smarts')
plt.ylabel('Probability')
plt.title(r'Histogram of IQ: $\mu=100$, $\sigma=15$')
# Tweak spacing to prevent clipping of ylabel
plt.subplots_adjust(left=0.15)
plt.show()

Вывод скрипта

IPython

IPython это командная оболочка для интерактивных вычислений на нескольких языках программирования, изначально разработана для языка программирования Python, что предлагает расширенные возможности, мультимедиа, дополнительный синтаксис оболочки, автодополнение. IPython в настоящее время предоставляет следующие возможности:

  1. Мощные интерактивные оболочки (терминал на основе Qt).
  2. Редактор на базе браузера с поддержкой кода, текста, математических выражений, и др.
  3. Поддержка интерактивной визуализации данных и использования GUI.
  4. Легкий в использовании, высококачественные инструменты производительности для параллельных вычислений.
Первоначальный автор (ы) Фернандо Перес и другие
Стабильный релиз 2.3 / 1 октября 2014; 27 дней назад
Написан на Python, JavaScript, CSS, HTML
Операционная система Кросс-платформа
Тип Оболочка
Лицензия BSD
Сайт www.ipython.org

Установка IPython в Linux

Откройте терминал и скопируйте эти команды:

sudo apt-get update
sudo pip install ipython

Пример кода IPython

Это кусок кода для построения демонстрации интеграла как площади под кривой

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.patches import Polygon
def func(x): return (x - 3) * (x - 5) * (x - 7) + 85
a, b = 2, 9 # integral limits
x = np.linspace(0, 10)
y = func(x)
fig, ax = plt.subplots()
plt.plot(x, y, 'r', linewidth=2)
plt.ylim(ymin=0)
# Make the shaded region
ix = np.linspace(a, b)
iy = func(ix)
verts = [(a, 0)] + list(zip(ix, iy)) + [(b, 0)]
poly = Polygon(verts, facecolor='0.9', edgecolor='0.5')
ax.add_patch(poly)
plt.text(0.5 * (a + b), 30, r"$\int_a^b f(x)\mathrm{d}x$", horizontalalignment='center', fontsize=20)
plt.figtext(0.9, 0.05, '$x$')
plt.figtext(0.1, 0.9, '$y$')
ax.spines['right'].set_visible(False)
ax.spines['top'].set_visible(False)
ax.xaxis.set_ticks_position('bottom')
ax.set_xticks((a, b))
ax.set_xticklabels(('$a$', '$b$'))
ax.set_yticks([])
plt.show()

Вывод скрипта

scikit-learn

Проект scikit-learn начинал в как scikits.learn, в студенческой программе Google Summer Code. Его название «SciKit» произошло от «SciPy Toolkit». Scikit-learn стал популярным в ноябре 2012 года.

Первоначальный автор (ы) Дэвид Корнапеу
Первый выпуск июнь 2007 года; 7 лет назад
Стабильный релиз 0.15.1 / 1 августа 2014
Написан на Python, Cython, C и С ++
Операционная система Linux, Mac OS X, Microsoft Windows
Тип Библиотека для машинного обучения
Лицензия BSD License
Сайт scikit-learn.org

Установка Scikit-learn в Linux

Откройте терминал и скопируйте эти команды:

sudo apt-get update
sudo apt-get install python-sklearn

Пример Scikit кода

import matplotlib.pyplot as plt
import numpy as np
from sklearn import datasets, linear_model
# Load the diabetes dataset
diabetes = datasets.load_diabetes()
# Use only one feature
diabetes_X = diabetes.data[:, np.newaxis]
diabetes_X_temp = diabetes_X[:, :, 2]
# Split the data into training/testing sets
diabetes_X_train = diabetes_X_temp[:-20]
diabetes_X_test = diabetes_X_temp[-20:]
# Split the targets into training/testing sets
diabetes_y_train = diabetes.target[:-20]
diabetes_y_test = diabetes.target[-20:]
# Create linear regression object
regr = linear_model.LinearRegression()
# Train the model using the training sets
regr.fit(diabetes_X_train, diabetes_y_train)
# The coefficients
print('Coefficients: \n', regr.coef_)
# The mean square error
print("Residual sum of squares: %.2f" % np.mean((regr.predict(diabetes_X_test) - diabetes_y_test) ** 2))
# Explained variance score: 1 is perfect prediction
print('Variance score: %.2f' % regr.score(diabetes_X_test, diabetes_y_test))
# Plot outputs
plt.scatter(diabetes_X_test, diabetes_y_test, color='black')
plt.plot(diabetes_X_test, regr.predict(diabetes_X_test), color='blue', linewidth=3)
plt.xticks(())
plt.yticks(())
plt.show()

Вывод скрипта

Coefficients:
[ 938.23786125]
Residual sum of squares: 2548.07
Variance score: 0.47

.

Информация взята здесь.

00:28
12730
RSS
08:50
+2
Небольшое видео, показывающее возможности IPython notebook.

08:59
+2
Есть неплохой Tutorial по IPython Notebook на английском

Первое видео


Ссылка на youtube.com
16:49
+2
Оформил данный Tutorial в виде поста
21:16
+2
«Python для анализа данных» — выступление на Python Meetup

Доклад об анализе данных и посвящен преимущественно тем, кто хочет попробовать, но не знает с чего начать. О том, кому это вообще надо, где брать данные, какие инструменты есть в распоряжении начинающего python-аналитика и какую пользу для себя из всего можно извлечь на старте.

Слайды

21:26
+2
Ссылка на канал PyData на Vimeo. Больше 170 видео по анализу данных с помощью python.

Авторизация

Войдите, используя Ваш аккаунт

Войти с помощью

Пользователи

Skyeng
GeekBrains
Lingualeo