Commit c46d1631 authored by Franco Sebastián Liza's avatar Franco Sebastián Liza
Browse files

subiendo cosas a franquito

parent 2ca0c172
......@@ -2,51 +2,9 @@
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"execution_count": null,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"-- The C compiler identification is GNU 7.4.0\n",
"-- The CXX compiler identification is GNU 7.4.0\n",
"-- Check for working C compiler: /usr/bin/cc\n",
"-- Check for working C compiler: /usr/bin/cc -- works\n",
"-- Detecting C compiler ABI info\n",
"-- Detecting C compiler ABI info - done\n",
"-- Detecting C compile features\n",
"-- Detecting C compile features - done\n",
"-- Check for working CXX compiler: /usr/bin/c++\n",
"-- Check for working CXX compiler: /usr/bin/c++ -- works\n",
"-- Detecting CXX compiler ABI info\n",
"-- Detecting CXX compiler ABI info - done\n",
"-- Detecting CXX compile features\n",
"-- Detecting CXX compile features - done\n",
"Release mode\n",
"-- Found PythonInterp: /home2/clinux01/.pyenv/versions/tp2/bin/python (found version \"3.6.5\") \n",
"-- Found PythonLibs: /home2/clinux01/.pyenv/versions/3.6.5/lib/libpython3.6m.a\n",
"-- pybind11 v2.3.dev0\n",
"-- Performing Test HAS_FLTO\n",
"-- Performing Test HAS_FLTO - Success\n",
"-- LTO enabled\n",
"CMAKE_INSTALL_PREFIX=/home2/clinux01/mn-tp2\n",
"-- Configuring done\n",
"-- Generating done\n",
"-- Build files have been written to: /home2/clinux01/mn-tp2\n",
"\u001b[35m\u001b[1mScanning dependencies of target sentiment\u001b[0m\n",
"[ 20%] \u001b[32mBuilding CXX object CMakeFiles/sentiment.dir/src/sentiment.cpp.o\u001b[0m\n",
"[ 40%] \u001b[32mBuilding CXX object CMakeFiles/sentiment.dir/src/knn.cpp.o\u001b[0m\n",
"[ 60%] \u001b[32mBuilding CXX object CMakeFiles/sentiment.dir/src/pca.cpp.o\u001b[0m\n",
"[ 80%] \u001b[32mBuilding CXX object CMakeFiles/sentiment.dir/src/eigen.cpp.o\u001b[0m\n",
"[100%] \u001b[32m\u001b[1mLinking CXX shared module sentiment.cpython-36m-x86_64-linux-gnu.so\u001b[0m\n",
"[100%] Built target sentiment\n",
"\u001b[36mInstall the project...\u001b[0m\n",
"-- Install configuration: \"Release\"\n",
"-- Installing: /home2/clinux01/mn-tp2/notebooks/sentiment.cpython-36m-x86_64-linux-gnu.so\n"
]
}
],
"outputs": [],
"source": [
"!cd .. && rm -rf CMakeFiles/ CMakeCache.txt sentiment.cpython-37m-x86_64-linux-gnu.so\n",
"!cd .. && cmake \\\n",
......@@ -57,18 +15,9 @@
},
{
"cell_type": "code",
"execution_count": 2,
"execution_count": null,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"/home2/clinux01/mn-tp2/notebooks\n",
"Python 3.6.5\n"
]
}
],
"outputs": [],
"source": [
"!pwd\n",
"!python --version\n",
......@@ -86,15 +35,18 @@
},
{
"cell_type": "code",
"execution_count": 3,
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import numpy.linalg as la\n",
"\n",
"A = np.random.rand(2,1000) #despues los dejo con 2 filas y 600 columnas\n",
"A = A.T@A\n",
"\n",
"A = np.eye(3)\n",
"#A= np.array([[1,0,0],[1,2,0],[0,0,1]])\n",
"#A = np.random.rand(1000,1000) #despues los dejo con 2 filas y 600 columnas\n",
"#A = A.T@A\n",
"#Esta matriz es al menos semi-simetrica definida positiva, por lo que tendra base de autovectores\n",
"#Por lo que es diagonalizable y el algoritmo del método de la potencia termina\n",
"autovaloresNP, autovectoresNP = la.eig(A)\n",
......@@ -123,30 +75,9 @@
},
{
"cell_type": "code",
"execution_count": 4,
"execution_count": null,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"probando con iteración 1\n",
"probando con iteración 2\n",
"probando con iteración 4\n",
"probando con iteración 8\n",
"probando con iteración 16\n",
"probando con iteración 32\n",
"probando con iteración 64\n",
"probando con iteración 128\n",
"probando con iteración 256\n",
"probando con iteración 512\n",
"probando con iteración 1024\n",
"end\n",
"CPU times: user 7min 53s, sys: 922 ms, total: 7min 54s\n",
"Wall time: 7min 52s\n"
]
}
],
"outputs": [],
"source": [
"%%time\n",
"eps = 10e-16\n",
......@@ -162,6 +93,17 @@
"print(\"end\")\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"inv = np.linalg.inv(autovectoresNuestros)\n",
"\n",
"print(autovectoresNuestros)\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
......@@ -171,30 +113,9 @@
},
{
"cell_type": "code",
"execution_count": 5,
"execution_count": null,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"probando con iteración 1\n",
"probando con iteración 2\n",
"probando con iteración 4\n",
"probando con iteración 8\n",
"probando con iteración 16\n",
"probando con iteración 32\n",
"probando con iteración 64\n",
"probando con iteración 128\n",
"probando con iteración 256\n",
"probando con iteración 512\n",
"probando con iteración 1024\n",
"end\n",
"CPU times: user 7min 28s, sys: 812 ms, total: 7min 29s\n",
"Wall time: 7min 28s\n"
]
}
],
"outputs": [],
"source": [
"%%time\n",
"eps = 10e-10\n",
......@@ -219,30 +140,9 @@
},
{
"cell_type": "code",
"execution_count": 6,
"execution_count": null,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"probando con iteración 1\n",
"probando con iteración 2\n",
"probando con iteración 4\n",
"probando con iteración 8\n",
"probando con iteración 16\n",
"probando con iteración 32\n",
"probando con iteración 64\n",
"probando con iteración 128\n",
"probando con iteración 256\n",
"probando con iteración 512\n",
"probando con iteración 1024\n",
"end\n",
"CPU times: user 7min 19s, sys: 980 ms, total: 7min 20s\n",
"Wall time: 7min 18s\n"
]
}
],
"outputs": [],
"source": [
"%%time\n",
"eps = 10e-8\n",
......@@ -267,30 +167,9 @@
},
{
"cell_type": "code",
"execution_count": 7,
"execution_count": null,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"probando con iteración 1\n",
"probando con iteración 2\n",
"probando con iteración 4\n",
"probando con iteración 8\n",
"probando con iteración 16\n",
"probando con iteración 32\n",
"probando con iteración 64\n",
"probando con iteración 128\n",
"probando con iteración 256\n",
"probando con iteración 512\n",
"probando con iteración 1024\n",
"end\n",
"CPU times: user 10min 45s, sys: 1.79 s, total: 10min 47s\n",
"Wall time: 10min 44s\n"
]
}
],
"outputs": [],
"source": [
"%%time\n",
"eps = 10e-6\n",
......@@ -315,30 +194,9 @@
},
{
"cell_type": "code",
"execution_count": 9,
"execution_count": null,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"probando con iteración 1\n",
"probando con iteración 2\n",
"probando con iteración 4\n",
"probando con iteración 8\n",
"probando con iteración 16\n",
"probando con iteración 32\n",
"probando con iteración 64\n",
"probando con iteración 128\n",
"probando con iteración 256\n",
"probando con iteración 512\n",
"probando con iteración 1024\n",
"end\n",
"CPU times: user 9min 30s, sys: 1.44 s, total: 9min 32s\n",
"Wall time: 9min 29s\n"
]
}
],
"outputs": [],
"source": [
"%%time\n",
"eps = 10e-4\n",
......@@ -363,30 +221,9 @@
},
{
"cell_type": "code",
"execution_count": 11,
"execution_count": null,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"probando con iteración 1\n",
"probando con iteración 2\n",
"probando con iteración 4\n",
"probando con iteración 8\n",
"probando con iteración 16\n",
"probando con iteración 32\n",
"probando con iteración 64\n",
"probando con iteración 128\n",
"probando con iteración 256\n",
"probando con iteración 512\n",
"probando con iteración 1024\n",
"end\n",
"CPU times: user 6min 47s, sys: 688 ms, total: 6min 48s\n",
"Wall time: 6min 47s\n"
]
}
],
"outputs": [],
"source": [
"%%time\n",
"eps = 10e-2\n",
......@@ -403,57 +240,30 @@
]
},
{
"cell_type": "code",
"execution_count": 12,
"cell_type": "markdown",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"\n",
"plt.plot(dsts)\n",
"plt.xlabel('eje x')\n",
"plt.ylabel('eje y')\n",
"plt.savefig('myplot.png', dpi=200)\n",
"plt.show()\n",
"#plt.close()\n"
]
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"xs"
]
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"autovaloresNuestros,"
]
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"autovectoresNuestros"
]
"source": []
},
{
"cell_type": "code",
......
......@@ -25,7 +25,7 @@
},
{
"cell_type": "code",
"execution_count": 1,
"execution_count": 178,
"metadata": {
"colab": {},
"colab_type": "code",
......@@ -36,6 +36,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"mkdir: cannot create directory ‘build’: File exists\n",
"-- The C compiler identification is GNU 7.4.0\n",
"-- The CXX compiler identification is GNU 7.4.0\n",
"-- Check for working C compiler: /usr/bin/cc\n",
......@@ -87,7 +88,7 @@
},
{
"cell_type": "code",
"execution_count": 2,
"execution_count": 179,
"metadata": {
"colab": {},
"colab_type": "code",
......@@ -112,7 +113,7 @@
},
{
"cell_type": "code",
"execution_count": 3,
"execution_count": 180,
"metadata": {
"colab": {},
"colab_type": "code",
......@@ -123,6 +124,8 @@
"name": "stdout",
"output_type": "stream",
"text": [
"The autoreload extension is already loaded. To reload it, use:\n",
" %reload_ext autoreload\n",
"tar: *.tar.gz: Cannot open: No such file or directory\n",
"tar: Error is not recoverable: exiting now\n",
"Cantidad de documentos: 12500\n"
......@@ -143,7 +146,7 @@
},
{
"cell_type": "code",
"execution_count": 4,
"execution_count": 181,
"metadata": {
"colab": {},
"colab_type": "code",
......@@ -224,7 +227,7 @@
"freq 2 "
]
},
"execution_count": 4,
"execution_count": 181,
"metadata": {},
"output_type": "execute_result"
}
......@@ -235,7 +238,7 @@
},
{
"cell_type": "code",
"execution_count": 5,
"execution_count": 182,
"metadata": {
"colab": {},
"colab_type": "code",
......@@ -264,7 +267,7 @@
},
{
"cell_type": "code",
"execution_count": 6,
"execution_count": 183,
"metadata": {
"colab": {},
"colab_type": "code",
......@@ -288,7 +291,7 @@
},
{
"cell_type": "code",
"execution_count": 172,
"execution_count": 193,
"metadata": {
"colab": {},
"colab_type": "code",
......@@ -299,8 +302,8 @@
"name": "stdout",
"output_type": "stream",
"text": [
"CPU times: user 2.26 s, sys: 28 ms, total: 2.28 s\n",
"Wall time: 2.28 s\n"
"CPU times: user 2.38 s, sys: 48 ms, total: 2.43 s\n",
"Wall time: 2.43 s\n"
]
}
],
......@@ -309,7 +312,7 @@
"import numpy as np\n",
"from sklearn.feature_extraction.text import CountVectorizer\n",
"\n",
"vectorizer = CountVectorizer(max_df=0.1, min_df=0.01, max_features=5000)\n",
"vectorizer = CountVectorizer(max_df=0.2, min_df=0.01, max_features=5000)\n",
"\n",
"vectorizer.fit(text_train)\n",
"\n",
......@@ -322,7 +325,7 @@
},
{
"cell_type": "code",
"execution_count": 173,
"execution_count": 194,
"metadata": {
"colab": {},
"colab_type": "code",
......@@ -337,7 +340,7 @@
"2100\n",
"6225\n",
"6225\n",
"(6225, 1607)\n"
"(6225, 1721)\n"
]
}
],
......@@ -352,7 +355,7 @@
},
{
"cell_type": "code",
"execution_count": 174,
"execution_count": 195,
"metadata": {
"colab": {},
"colab_type": "code",
......@@ -364,9 +367,9 @@
"name": "stdout",
"output_type": "stream",
"text": [
"Accuracy: 0.7603187250996016\n",
"CPU times: user 54.2 s, sys: 120 ms, total: 54.3 s\n",
"Wall time: 54.1 s\n"
"Accuracy: 0.7617529880478088\n",
"CPU times: user 1min 6s, sys: 168 ms, total: 1min 6s\n",
"Wall time: 1min 6s\n"
]
}
],
......
#include <algorithm>
//#include <chrono>
#ifdef DEBUG
#include <iostream>
#endif
#include "knn.h"
#include <pybind11/pybind11.h>
#ifndef DEBUG_OUT
#ifdef DEBUG
#define DEBUG_OUT(message) std::cout << message << std::endl
#else
#define DEBUG_OUT(message)
#endif
#endif
using namespace std;
namespace py=pybind11;
......@@ -40,13 +30,6 @@ bool comp_tupla (const tuple<double,int>& i, const tuple<double,unsigned int>& j
double KNNClassifier::_predict_row(Vector row, unsigned int k){
Vector distancias(x.rows());
//py::print(y(0,0));
//py::print("\n");
//py::print("filas");
//py::print(y.rows());
//py::print("Columnas");
//py::print(y.cols());
for (int i = 0; i < x.rows(); ++i){
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment