import sqlite3
import pandas as pd
from sklearn.tree import DecisionTreeRegressor
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error
from math import sqrt
In [4]:
cnx = sqlite3.connect('database.sqlite')
df = pd.read_sql_query("select * from Player_Attributes", cnx)
In [5]:
df.head()
Out[5]:
In [6]:
df.shape
Out[6]:
In [7]:
features = [
'potential', 'crossing', 'finishing', 'heading_accuracy',
'short_passing', 'volleys', 'dribbling', 'curve', 'free_kick_accuracy',
'long_passing', 'ball_control', 'acceleration', 'sprint_speed',
'agility', 'reactions', 'balance', 'shot_power', 'jumping', 'stamina',
'strength', 'long_shots', 'aggression', 'interceptions', 'positioning',
'vision', 'penalties', 'marking', 'standing_tackle', 'sliding_tackle',
'gk_diving', 'gk_handling', 'gk_kicking', 'gk_positioning',
'gk_reflexes']
In [8]:
target = ['overall_rating']
In [9]:
df = df.dropna()
In [10]:
x = df[features]
x.head()
Out[10]:
In [11]:
y = df[target]
In [12]:
x.iloc[2]
Out[12]:
In [14]:
y.head()
Out[14]:
In [15]:
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size = 0.33, random_state = 324)
In [16]:
regressor = LinearRegression()
regressor.fit(x_train, y_train)
Out[16]:
In [18]:
y_prediction = regressor.predict(x_test)
y_prediction[ : 5]
Out[18]:
In [22]:
RMSE = sqrt( mean_squared_error( y_true = y_test , y_pred = y_prediction))
RMSE
Out[22]:
In [24]:
# Decision Tree Regressor : Fit A New Regression Model To Training Set
regressor = DecisionTreeRegressor(max_depth = 20)
regressor.fit(x_train, y_train)
Out[24]:
In [25]:
y_prediction = regressor.predict(x_test)
y_prediction
Out[25]:
In [26]:
y_test.describe()
Out[26]:
In [27]:
RMSE = sqrt( mean_squared_error( y_true = y_test , y_pred = y_prediction))
RMSE
Out[27]:
In [ ]:
'Python Library > Pandas' 카테고리의 다른 글
Day 7. Drawing Graphs With Pandas (0) | 2019.07.02 |
---|---|
Day 7. Machine Learning [ K - Means ] ( Local Clustering ) (0) | 2019.06.16 |
Day 7. Machine Learning [ Decision Trees ] ( Weather Classification ) (0) | 2019.06.16 |
Day 6. Handling Timestamps with Pandas (0) | 2019.06.16 |
Day 6. String Operations with Pandas (0) | 2019.06.16 |