Advertisement
SportyScripter

Corelation and regression

Mar 17th, 2024 (edited)
36
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.60 KB | Source Code | 0 0
  1. import pandas as pd
  2. import numpy as np
  3. import matplotlib.pyplot as plt
  4. import seaborn as sns
  5.  
  6.  
  7. # Załadowanie danych do DataFrame
  8. # df = pd.read_csv(url)  # Wczytanie danych bezpośrednio
  9. df = pd.read_csv('hou_all.csv')  # Wczytanie danych lokalnie
  10. df.columns = ['CRIM', 'ZN', 'INDUS', 'CHAS', 'NOX', 'RM', 'AGE', 'DIS', 'RAD', 'TAX', 'PTRATIO', 'B', 'LSTAT', 'MEDV','BIAS_COL']
  11.  
  12. # Wyświetlenie pierwszych kilku wierszy danych
  13. var = 'Show first 20 lines'
  14. print(f'{var:*^100}')
  15. print(df.head(20))
  16.  
  17. # wyswietlenie rozmiaru danych wiersze, kolumny
  18. var = 'Data shape'
  19. print(f'{var:*^100}')
  20. print(df.shape)
  21.  
  22. # Podstawowe statystyki
  23. var = 'Basic data'
  24. print(f'{var:*^100}')
  25. print(df.describe())
  26.  
  27. # Sprawdzenie brakujących danych
  28. var = 'Check null date'
  29. print(f'{var:*^100}')
  30. print(df.isnull().sum())
  31.  
  32. # Sprawdzenie duplikatów
  33. var = 'Check dublicate value'
  34. print(f'{var:*^100}')
  35. print(df.duplicated().sum())
  36.  
  37. # Wizualizacja rozkładu MEDV
  38. sns.histplot(df['MEDV'], bins=30, kde=True)
  39. plt.show()
  40.  
  41. # Wizualizacja korelacji między cechami
  42. corr_matrix = df.corr()
  43. plt.figure(figsize=(12, 9))
  44. sns.heatmap(corr_matrix, annot=True)
  45. plt.show()
  46.  
  47. # Wyświetlenie korelacji zmiennych względem MEDV
  48. var = 'Display the correlation of variables against MEDV'
  49. print(f'{var:*^100}')
  50. print(corr_matrix['MEDV'].sort_values(ascending=False))
  51.  
  52. from sklearn.model_selection import train_test_split
  53.  
  54. # Przygotowanie danych
  55. X = df.drop('MEDV', axis=1)  # Cechy
  56. y = df['MEDV']  # Zmienna celu
  57.  
  58. # Podział danych
  59. X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
  60.  
  61. from sklearn.linear_model import LinearRegression
  62. from sklearn.metrics import r2_score, root_mean_squared_error
  63.  
  64. # Trenowanie modelu regresji liniowej
  65. lin_reg = LinearRegression()
  66. lin_reg.fit(X_train, y_train)
  67.  
  68. # Przewidywanie i ocena modelu regresji liniowej
  69. var = 'Predicting and evaluating a linear regression model'
  70. print(f'{var:*^100}')
  71. y_pred_lin = lin_reg.predict(X_test)
  72. print("Regresja liniowa - RMSE:", root_mean_squared_error(y_test, y_pred_lin))
  73. print("Regresja liniowa - R^2:", r2_score(y_test, y_pred_lin))
  74.  
  75. from sklearn.tree import DecisionTreeRegressor
  76.  
  77. # Trenowanie modelu drzewa decyzyjnego
  78. tree_reg = DecisionTreeRegressor(random_state=42)
  79. tree_reg.fit(X_train, y_train)
  80.  
  81. # Przewidywanie i ocena modelu drzewa decyzyjnego
  82. var = 'Decision tree model prediction and evaluation'
  83. print(f'{var:*^100}')
  84. y_pred_tree = tree_reg.predict(X_test)
  85. print("Drzewo decyzyjne - RMSE:", root_mean_squared_error(y_test, y_pred_tree))
  86. print("Drzewo decyzyjne - R^2:", r2_score(y_test, y_pred_tree))
  87.  
  88.  
  89.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement