Академический Документы
Профессиональный Документы
Культура Документы
de Mquina
A cobra tambm inteligente!
Marcel P. Caraciolo
@marcelcaraciolo
Quem Marcel ?
Marcel Pinheiro Caraciolo - @marcelcaraciolo
Processamento
Processamento
Processamento
Processamento
Processamento
Processamento
Processamento
Processamento
Processamento
Processamento
Processamento
Processamento
Processamento
Processamento
Processamento
Processamento
Processamento
Aprendizagem de Mquina
Aprendizado vs Compresso
Sem reforo Com reforo
Aprendizado Supervisionado
Aprendizado No Supervisionado
De onde vem os dados ?
http://archive.ics.uci.edu/ml/
Repositrios de Dados
UCI, MovieLens, AWS, KDD, etc.
WEB
1.0 2.0
User
User
User User
User
Um usurio influencia outros
por resenhas, notas, recomendaes e blogs
USERS
antes...
VIVIEncontro
Encontrodo
doPUG-PE
PUG-PE
Atualmente
estamos sobrecarregados
de informaes
muitas vezes inteis
s vezes
procuramos
isso...
e encontramos isso!
google?
google?
midias sociais?
eeeeuuuu...
google?
midias sociais?
A lot of times, people dont know what
they want until you show it to them.
Steve Jobs
Famlia/Amigos
Amigos/ Famlia
O Que eu
deveria ler ?
Ref: Flickr-BlueAlgae
Eu acho que
voc deveria ler
Ref: Flickr photostream: jefield estes livros.
Recomendaes por Interao
O Que eu
deveria ler ?
Sada:
Livros que voc
pode gostar
so
Sistemas desenhados para sugerir algo para mim do meu
interesse!
Por que Recomendao ?
Netflix
- 2/3 dos filmes alugados vm de recomendao
Google News
- 38% das notcias mais clicadas vm de recomendao
Amazon
- 38% das vendas vm de recomendao
Similar
recomenda
gosta
Marcel Usurios
Filtragem Colaborativa
O Vento Toy
Thor Armagedon Items
Levou Store
gosta
recomenda
Similar
Frameworks em Python
http://orange.biolab.si/
Orange
Data Mining Tool For Python
Crab
https://github.com/muricoca/crab
Crab
Recommendation Engine For Python
>>> from scikits.learn import svm
>>> clf = svm.SVC()
>>> clf.fit(digits.data[:-1], digits.target[:-1])
SVC(kernel='rbf', C=1.0, probability=False, degree=3, coef0=0.0, eps=0.001,
cache_size=100.0, shrinking=True, gamma=0.000556792873051)
>>> clf.predict(digits.data[-1])
array([ 8.])
http://scikit-learn.sourceforge.net/
Scikits-learn
Machine Learning in Python
PyML is focused on kernel-methods for classification and regression, including
Support Vector Machines (SVM).
>>>fromPyML.classifiers.compositeimportFeatureSelect
>>>featureSelector=FeatureSelect(svm.SVM(),featsel.RFE())
http://pyml.sourceforge.net/
PyML
Machine Learning in Python
import numpy as np
import milk
features = np.random.rand(100,10)
labels = np.zeros(100)
features[50:] += .5
labels[50:] = 1
learner = milk.defaultclassifier()
model = learner.train(features, labels)
http://luispedro.org/software/milk
milk
Machine Learning Toolkit for Python
http://pybrain.org/
PyBrain
The Python Machine Learning Toolkit
>>fromlibsvmimport*
>>prob=svm_problem([1,1],[[1,0,1],[1,0,1]])
>>param=svm_parameter(kernel_type=LINEAR,C=10)
##trainingthemodel
>>m=svm_model(prob,param)
#testingthemodel
>>m.predict([1,1,1])
http://www.csie.ntu.edu.tw/~cjlin/libsvm/
Python-LibSvm
Acha um hiperplano que divide o espao dos documentos em dois
language
Support Vector Machines Python-LibSvm
gemstone
http://pyevolve.sourceforge.net
Criado por um brasileiro!
def eval_func(chromosome):
score = 0.0
# iterate over the chromosome
for value in chromosome:
if value==0:
score += 1
return score
genome = G1DList.G1DList(20)
genome.evaluator.set(eval_func)
ga = GSimpleGA.GSimpleGA(genome)
ga.evolve(freq_stats=10)
print ga.bestIndividual()
PyEvolve
Algoritmos Genticos com Python
Processo Evolutivo
As espcies evoluem pelo principio da seleo natural e sobrevivncia do mais apto.
https://github.com/Yelp/mrjob
Computao Distribuda
>>> text = nltk.word_tokenize("And now for something
completely different")
>>> nltk.pos_tag(text)
http://www.nltk.org/
NLTK
Processamento de Textos
Concept Tagging
Name Entity Extraction
Language Detection
http://www.alchemyapi.com/
REST APIs
Asynchoronous training
http://recdaynow.appspot.com
APIs prontas!
Ubigraph 3D
http://networkx.lanl.gov/
Visualizao
Mapa dos concurseiros no Brasil (Atepassar)
http://aimotion.blogspot.com/2011/03/atepassar-social-network-friendship.html
http://numpy.scipy.org/
http://www.scipy.org/
Canivetes essenciais!
Anlise
Analisar um classificador
somente por sua acurcia
errado
Classe real
p n
Verdadeiro Falso
p
Classe Positivo Positivo
predita Falso Verdadeiro
n
Negativo Negativo
Acurcia = (VP + VN) / (VP + VN + FP + FN)
A acurcia esconde potenciais
falso positivos ou falso
negativos
Use precision e recall
Recomendaes Precision -Recall Diagram
Curva ROC
http://code.google.com/p/pyplotmining/
http://aimotion.blogspot.com/
Livros e Referncias
http://conference.scipy.org/scipy2011/
Marcel P. Caraciolo
marcel@orygens.com
marcel@recday.com