#training the model
model_1_features = ['sqft_living', 'bathrooms', 'bedrooms', 'lat', 'long']
model_2_features = model_1_features + ['bed_bath_rooms']
model_3_features = model_2_features + ['bedrooms_squared', 'log_sqft_living', 'lat_plus_long']
model_1 = linear_model.LinearRegression()
model_1.fit(train_data[model_1_features], train_data['price'])
model_2 = linear_model.LinearRegression()
model_2.fit(train_data[model_2_features], train_data['price'])
model_3 = linear_model.LinearRegression()
model_3.fit(train_data[model_3_features], train_data['price'])
# extracting the coef
print model_1.coef_
print model_2.coef_
print model_3.coef_
Run Code Online (Sandbox Code Playgroud)
如果我改变了特征的顺序,则coef仍以相同的顺序打印,因此我想知道该特征与coeff的映射
我可以通过使用is_monotonic方法检查pandas.DataFrame()的索引是否单调增加.但是,我想检查其中一个列值是否严格增加值(浮点数/整数)?
In [13]: my_df = pd.DataFrame([1,2,3,5,7,6,9])
In [14]: my_df
Out[14]:
0
0 1
1 2
2 3
3 5
4 7
5 6
6 9
In [15]: my_df.index.is_monotonic
Out[15]: True
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用一些在线数据,并且由于绘图功能中的"属性"错误而无法绘制它
# Reading data from an online data sets
import pandas as pd
import requests, zipfile, StringIO
r = requests.get('https://archive.ics.uci.edu/ml/machine-learning-databases/00287/Activity Recognition from Single Chest-Mounted Accelerometer.zip')
z = zipfile.ZipFile(StringIO.StringIO(r.content))
activity_files = [name for name in z.namelist() if name.endswith('.csv')]
# Loading it to a pandas dataframe
z_data = z.read(activity_files[4]).split('\n')
activity_data = pd.DataFrame([z.split(',') for z in z_data], columns=('Seq','Ax','Ay','Az','Label'))
# Filtering
working_desk_data = activity_data[activity_data.Label == '1']
standing_data = activity_data[activity_data.Label == '3']
walking_data = activity_data[activity_data.Label == '4']
# Plotting
plt.plot(walking_data['Seq'], walking_data['Ax']) # <--- Error
plt.plot(walking_data['Seq'], …Run Code Online (Sandbox Code Playgroud) 在Python中,一切都有一个类.因此dict也有一类.
所以,从理论上讲,我应该能够改变keyvalue赋值行为的实现.
例:
d = dict()
d['first'] = 3 # Internally d['first'] is stored as 6 [i.e. value*2 if value is INT]
print d['first'] # should print 6
d['second'] = 4
print d['second'] # should print 8
Run Code Online (Sandbox Code Playgroud)
我注意到大多数对象都有OBJECT.__dict__或列出的属性vars(OBJECT).但是,这是不是情况dict或list.
如何通过覆盖dict.__setattr__()方法获得所需的行为?
python ×3
pandas ×2
dictionary ×1
internals ×1
matplotlib ×1
scikit-learn ×1
time-series ×1
types ×1