In [22]:
# Grafico de la distribución Beta
import numpy as np
import matplotlib.pyplot as plt
from scipy import stats


a, b = 5, 1 # parametros de forma.
# Función que recibe los parametros a y b, halla la distribucio Beta y la grafica
def f1(a,b):
    beta = stats.beta(a, b)
    x = np.linspace(beta.ppf(0.01),
                    beta.ppf(0.99), 100)
    fp = beta.pdf(x) # Función de Probabilidad
    # Graficando Beta
    plt.plot(x, fp)

# Se llama la funcion f1 para cada uno de los parametros (a,b) requeridos
f1(0.5,0.5)
f1(5,1)
f1(1,3)
f1(2,2)
f1(2,5)
# Se configura la grafica
plt.title('Distribucion Beta')
plt.ylabel('probabilidad')
plt.xlabel('valores')
plt.xlim(0, 1)
plt.ylim(0, 2.5)
# Se muestra la grafica plt
plt.show()



In [67]:
# Propiedades de las distribuciones
import statistics as st
import scipy as scy
import matplotlib.pyplot as plt

def random_beta(a,b):
    rand_beta = np.random.beta(a,b,size=100)
    return rand_beta

first_rand = random_beta(1,0.5)

mean = first_rand.mean()
median = st.median(first_rand)
# mode = st.mode(first_rand)
Kurtosis = scy.stats.kurtosis(first_rand)
skewness = scy.stats.skew(first_rand)
print("Media: ")
print(mean)
print("Mediana: ")
print(median)
print("Moda: No existe")
# print(mode)
print("Kurtosis:")
print(Kurtosis)
print("skewness:")
print(skewness)

plt.axvline(mean)
plt.axvline(median)
# plt.axvline(mode)
plt.axvline(Kurtosis)
plt.axvline(skewness)
plt.show()


Media: 
0.658942127306
Mediana: 
0.727553756636
Moda: No existe
Kurtosis:
-0.9865000439566418
skewness:
-0.591539517380517

In [95]:
# Evaluación de modelos
# Regresion lineal
import matplotlib.pyplot as plt
import numpy as np
from sklearn import datasets, linear_model
X_train =[]
Y_train =[]
X_test = []
Y_test = []
for line in open('slr05.txt'):
    if line[0] != '#':
        # print(line.replace('\n','').split(' ')) # \n es salto de linea, .split(' ') -> separar por espacio, .split('\t') -> si esta separado por tabulación
        d = line.replace('\n','').split('\t')
        X_train.append(d[0])
        Y_train.append(d[1])
        
for line_test in open('slr06.txt'):
    if line_test[0] != '#':
        # print(line.replace('\n','').split(' ')) # \n es salto de linea, .split(' ') -> separar por espacio, .split('\t') -> si esta separado por tabulación
        d_test = line_test.replace('\n','').split('\t')
        X_test.append(d_test[0])
        Y_test.append(d_test[1])

regr = linear_model.LinearRegression()
regr.fit(X_train, Y_train)
# Plot outputs
matplotlib.pyplot.scatter(X_test, Y_test,  color='black')
plt.plot(X_test, regr.predict(X_test), color='blue',
         linewidth=3)

plt.xticks(())
plt.yticks(())

plt.show()

        
        #edges.append((d[0],d[1]))
print(X_train)
print(X_test)
print(Y_train)
print(Y_test)


---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-95-9e9e7b787d08> in <module>()
     23 
     24 regr = linear_model.LinearRegression()
---> 25 regr.fit(zip(*X_train), Y_train)
     26 
     27 

/Users/didergonzalezarroyave/anaconda/lib/python3.6/site-packages/sklearn/linear_model/base.py in fit(self, X, y, sample_weight)
    510         n_jobs_ = self.n_jobs
    511         X, y = check_X_y(X, y, accept_sparse=['csr', 'csc', 'coo'],
--> 512                          y_numeric=True, multi_output=True)
    513 
    514         if sample_weight is not None and np.atleast_1d(sample_weight).ndim > 1:

/Users/didergonzalezarroyave/anaconda/lib/python3.6/site-packages/sklearn/utils/validation.py in check_X_y(X, y, accept_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd, multi_output, ensure_min_samples, ensure_min_features, y_numeric, warn_on_dtype, estimator)
    519     X = check_array(X, accept_sparse, dtype, order, copy, force_all_finite,
    520                     ensure_2d, allow_nd, ensure_min_samples,
--> 521                     ensure_min_features, warn_on_dtype, estimator)
    522     if multi_output:
    523         y = check_array(y, 'csr', force_all_finite=True, ensure_2d=False,

/Users/didergonzalezarroyave/anaconda/lib/python3.6/site-packages/sklearn/utils/validation.py in check_array(array, accept_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd, ensure_min_samples, ensure_min_features, warn_on_dtype, estimator)
    400         # make sure we actually converted to numeric:
    401         if dtype_numeric and array.dtype.kind == "O":
--> 402             array = array.astype(np.float64)
    403         if not allow_nd and array.ndim >= 3:
    404             raise ValueError("Found array with dim %d. %s expected <= 2."

TypeError: float() argument must be a string or a number, not 'zip'

In [ ]: