Eksploracja Danych: Laboratorium 1

Opis zadań (PDF)

"c:\Program Files\Java\jdk1.8.0_60\bin\java.exe"

Zbiory danych

Kod Python

Poniżej zamieszczony kod może posłużyć do wizualizacji danych.

  1. Dane należy wprowadzić, jako tekst data=
  2. Formułę funkcji regresji w wierszu fy=2.3702*fx+6.1973. Oczywiście 2.3702 i 6.1973 to parametry wyznaczone podczas regresji
  3. Kod można uruchomić
    • W IDE Spyder lub PyCharm
    • Uruchamiając lokalnie Jupyter Notebook i wprowadzając kod w przeglądarce
    • Online: w Colaboratory Najprostsza metoda bez instalacji oprogramowania
# %matplotlib notebook
 
import matplotlib.pyplot as plt
import numpy as np
from scipy import stats
from io import StringIO
from sklearn import linear_model
 
# Można zmienić rozmiary rysunku
# plt.rcParams["figure.figsize"] = (10,10)
 
data = """
0.246939,9.011391
0.895519,8.950505
0.971588,9.671047
1.188316,14.735488
1.741884,10.265625
2.196002,13.501097
2.637403,13.887849
2.788188,17.180626
3.50202,19.321529
"""
#enter data as a string
inp =  StringIO(data)
x, y = np.loadtxt(inp, delimiter=',', usecols=(0, 1), unpack=True,skiprows=0)
 
plt.scatter(x,y,s=80, marker='+')
 
 
#plot function 
#fx - arguments 
#fy - values, 
#ftrue -function used to generate data
 
fx=np.linspace(-10,60,100)
fy=2.3702*fx+6.1973 
ftrue=2.37*fx+7
plt.plot(fx,fy,linewidth=2,color='r')
plt.plot(fx,ftrue,linewidth=1,linestyle='--',color='g')
 
plt.xlim(-10,60)
plt.grid(True)
plt.xlabel('X')
plt.ylabel('Y')
 
r = stats.pearsonr(x, y)[0] 
plt.title('Regression $f_{true} = 2.37x+7$ r=' + str(r))
 
plt.show()
import statsmodels.api as sm
# Dodaj kolumnę z jedynkami - patrz wykład 2
X_plus_one = np.stack( (np.ones(x.size),x), axis=-1)
ols = sm.OLS(y, X_plus_one)
ols_result = ols.fit()
ols_result.summary()

Spyder

Aby wynik wyświetlił się w osobnym oknie…

PyCharm

Aby wynik wyświetlił się w osobnym oknie… Settings>Tools»Python Scientific» odznacz Show plots in tool window

med/lab_1.txt · Last modified: 2022/03/03 15:46 by pszwed
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0