Ejemplo n.º 1
0
def find_minimums(data):
    print('\nMinimum dla kolumny sepal length: ' +
          str(find_min(find_column_elements(data, 0))))
    print('Minimum dla kolumny sepal width: ' +
          str(find_min(find_column_elements(data, 1))))
    print('Minimum dla kolumny petal length: ' +
          str(find_min(find_column_elements(data, 2))))
    print('Minimum dla kolumny petal width: ' +
          str(find_min(find_column_elements(data, 3))))
Ejemplo n.º 2
0
def find_medians(data):
    print('\nMediana dla kolumny sepal length: ' +
          str(find_median(find_column_elements(data, 0))))
    print('Mediana dla kolumny sepal width: ' +
          str(find_median(find_column_elements(data, 1))))
    print('Mediana dla kolumny petal length: ' +
          str(find_median(find_column_elements(data, 2))))
    print('Mediana dla kolumny petal width: ' +
          str(find_median(find_column_elements(data, 3))))
Ejemplo n.º 3
0
def draw_histograms(data, col1, col2):
    attribute1 = find_column_elements(data, col1)
    normalized_attribute_1 = (attribute1 - np.min(attribute1)) / (
        np.amax(attribute1) - np.amin(attribute1))
    plt.hist(normalized_attribute_1, bins=50, label=data.dtype.names[col1])

    attribute2 = find_column_elements(data, col2)
    normalized_attribute_2 = (attribute2 - np.amin(attribute2)) / (
        np.amax(attribute2) - np.amin(attribute2))
    plt.hist(normalized_attribute_2, bins=50, label=data.dtype.names[col2])
    plt.legend()
    plt.ylabel('Liczba wystąpień')
    plt.xlabel('Znormalizowany rozkład wystąpień')
    plt.show()
Ejemplo n.º 4
0
def main():
    data = load_irys_data()
    find_medians(data)
    find_maximums(data)
    find_minimums(data)
    find_dominant(find_column_elements(data, 4))
    correlated_column_1, correlated_column_2 = find_most_correlated_columns(
        data)
    draw_histograms(data, correlated_column_1, correlated_column_2)
Ejemplo n.º 5
0
def test_hypothesis(data):
    print(
        'Badam hipoteze czy można użyć parametru "sepal width" do rozróżnienia klas kwiatów Iris Versicolour oraz Iris Virginica z poziom istotności statystycznej 5%'
    )
    versicolour = extract_one_species(data, 'Iris-versicolor')
    virginica = extract_one_species(data, 'Iris-virginica')
    value, pvalue = stats.ttest_ind(find_column_elements(versicolour, 1),
                                    find_column_elements(virginica, 1))
    print(value, pvalue)
    # Hipoteza zerowa: nie można można rozróżnić zbiorów na podstawie parametru "sepal width", hipoteza alternatywna: można rozróżnić zbiory na podstawie parametru "sepal width"
    if pvalue < 0.05:
        print(
            'Odrzucamy hipotezę zerową - można rozróżnić zbiory na podstawie parametru "sepal width"'
        )
    else:
        print(
            'Nie ma podstaw do odrzucenia hipotezy zerowej - nie można można rozróżnić zbiorów na podstawie parametru "sepal width"'
        )
Ejemplo n.º 6
0
def draw_histogram(data, mean):
    births = find_column_elements(data, 2)
    plt.hist(births, bins=100)
    plt.ylabel('Number of days')
    plt.xlabel('Number of births')
    plt.axvline(mean, color='k', linestyle='dashed', linewidth=1)

    real_mean = np.mean(births)
    variance = np.var(births)
    sigma = np.sqrt(variance)
    x = np.linspace(min(births), max(births), 100)
    plt.plot(x, mlab.normpdf(x, real_mean, sigma) * 400000, color='red')

    plt.show()
Ejemplo n.º 7
0
def draw_histogram(data):
    versicolour = extract_one_species(data, 'Iris-versicolor')
    virginica = extract_one_species(data, 'Iris-virginica')

    by_sepal_width = [
        find_column_elements(versicolour, 1),
        find_column_elements(virginica, 1),
    ]
    labels = ['Versicolor', 'Virginica']
    colors = ['red', 'blue']
    for arr in by_sepal_width:
        mean = np.mean(arr)
        variance = np.var(arr)
        sigma = np.sqrt(variance)
        x = np.linspace(min(arr), max(arr), 100)
        plt.plot(x,
                 mlab.normpdf(x, mean, sigma) * 5,
                 color=colors[by_sepal_width.index(arr)])

    plt.hist(by_sepal_width, bins=25, color=colors, label=labels)
    plt.legend()
    plt.xlabel('Sepal width [cm]')
    plt.show()
Ejemplo n.º 8
0
def test_hypothesis(data, size):
    hypothesis_value = 10000
    print(
        'Badam hipoteze czy dzienna srednia urodzen wynosi 10000 na losowej probie '
        + str(size) + ' krotek z poziom istotności statystycznej 5%')
    births = find_column_elements(data, 2)
    np.random.shuffle(births)

    mean = np.mean(births[1:size])
    print('Dzienna srednia urodzin wynosi ' + str(mean) + '.')
    std = np.std(births)
    z = (mean - hypothesis_value) / (std / np.sqrt(size))
    print('Wartosc z-testu: ' + str(z))
    if z > -1.96 and z < 1.96:
        print('Hipoteza potwierdzona.')
    else:
        print('Hipoteza obalona.')

    return mean