Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -*- coding: utf-8 -*-
- """
- Created on Mon Apr 22 12:12:18 2019
- @author: lancernik
- """
- # Zadanie 1
- #import numpy as np
- #from sklearn.linear_model import LinearRegression
- #from sklearn.model_selection import train_test_split
- #import matplotlib.pyplot as plt
- #
- #a = np.array([10, 20, 30, 40, 50, 60, 70, 80, 90]).reshape(-1,1)
- #b = np.array([300,350,500,700,800,850,900,1000,1200]).reshape(-1,1)
- #
- #def regress(x,y):
- # model = LinearRegression()
- # model.fit(x,y)
- # model.predict([[100]])
- #
- # x_test = np.linspace(x[0],x[-1])
- # y_pred = model.predict(x_test[:,None])
- #
- # plt.scatter(x,y)
- # plt.plot(x_test,y_pred,'r')
- # plt.legend(['Regresja', 'Kropeczki'])
- # plt.show()
- #
- #regress(a,b)
- #
- #Zadanie 2
- import csv
- import os
- from sklearn.linear_model import LinearRegression
- import numpy as np
- import pandas as pd
- import matplotlib.pyplot as plt
- def Pearson(dataset_out):
- c = dataset_out.corr("pearson")
- c = c.where(
- np.triu(
- np.ones(c.shape,dtype=np.bool),k=1)
- ).stack().sort_values()
- print(c[abs(c)>0.1])
- def regress(x,y,x_name="Missing data",y_name="Missing data"):
- model = LinearRegression()
- model.fit(x,y)
- model.predict([[1]])
- x_test = np.linspace(min(x),max(x))
- y_pred = model.predict(x_test[:,None])
- plt.xlabel('{}'.format(x_name))
- plt.ylabel('{}'.format(y_name))
- plt.scatter(x,y, marker='*', s=10)
- plt.plot(x_test,y_pred,'r')
- plt.legend(['Regresja', 'Kropeczki'])
- plt.show()
- print("y={}x+{}".format(round(model.coef_[0,0],3),round(model.intercept_[0],3)))
- print("Dopasowanie regresji: {}".format(round(model.score(x,y),5)))
- current_dir = os.path.abspath(os.path.dirname(__file__))
- data_path = os.path.join(current_dir, "Data")
- csv_path = os.path.join(data_path, "Advertising.csv")
- with open(csv_path) as csv_file:
- output_dict = dict()
- csv_reader = csv.reader(csv_file)
- first_row = next(csv_reader)
- for item in first_row:
- output_dict[item] = []
- for item in csv_reader:
- for i in range(len(item)):
- try:
- output_dict[first_row[i]].append(float(item[i]))
- except:
- output_dict[first_row[i]].append(item[i])
- for key in output_dict.keys():
- try:
- output_dict[key] = np.array(output_dict[key], dtype=np.float)
- dataset = pd.DataFrame.from_dict(output_dict)
- except:
- pass
- dataset = dataset[['TV','radio','newspaper','sales']]
- Pearson(dataset)
- tv = output_dict['TV'].reshape(-1,1)
- sales = output_dict['sales'].reshape(-1,1)
- radio = output_dict['radio'].reshape(-1,1)
- newspaper = output_dict['newspaper'].reshape(-1,1)
- regress(tv,sales,"Tv","Sales")
- regress(radio,sales)
- regress(newspaper, sales)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement