自我介绍
2022年末,data science&大数据大三在读。对机器学习CV方面有兴趣,喜欢看怪奇物语等电视剧或电影;曾获数学建模国奖等,参加过很多比赛。
技术分享
我的GitHub链接:Wendy-hub (Eric Wang) (github.com)
下面是今年的一点点儿介绍总结
1、Django的MVT框架:
用户发出requests资源请求,Django作为controller检查资源在url里的可用性。如果url映射成功,与model和template交互的view被调用,它渲染出模板。Django最后相应返回给用户并把response发送给template模板。
一定要先设计好整体逻辑,只要有优秀的选择,不要怕难就是了。
举个栗子,比如在查询课的人数时需要连接另外的分数和学生两张表:
courses_by_studentnums = Course.objects.annotate(stunums=Count('sc')).order_by('stunums').filter(T_id=request.user.username)
2、PySpark
使用sql连接统计播放量:
SELECT mars_tianchi_songs_csv.artist, to_date(cast(mars_tianchi_user_actions_csv.date as string), 'yyyyMMdd') AS date, count(*) AS plays
FROM mars_tianchi_songs_csv
INNER JOIN mars_tianchi_user_actions_csv
ON mars_tianchi_songs_csv.song = mars_tianchi_user_actions_csv.song
GROUP BY mars_tianchi_songs_csv.artist, mars_tianchi_user_actions_csv.date
ORDER BY mars_tianchi_songs_csv.artist, mars_tianchi_user_actions_csv.date
对艺人分区处理分别应用时间序列模型:
artist_part = plays_sdf.repartition(spark.sparkContext.defaultParallelism, ['artist']).cache()
artist_part.explain()
使用pandas风格的用户自定义函数:
from pyspark.sql.functions import pandas_udf, PandasUDFType
@pandas_udf(result_schema, PandasUDFType.GROUPED_MAP)
def forecast_sales(music_pd):
model = Prophet(interval_width=0.95, seasonality_mode= 'multiplicative', weekly_seasonality=True, yearly_seasonality=True)
model.fit(music_pd)
future_pd = model.make_future_dataframe(periods=5, freq='w')
forecast_pd = model.predict(future_pd)
f_pd = forecast_pd[['ds', 'yhat', 'yhat_upper', 'yhat_lower']].set_index('ds')
st_pd = music_pd[['ds', 'artist', 'y']].set_index('ds')
result_pd = f_pd.join(st_pd, how='left')
result_pd.reset_index(level=0, inplace=True)
result_pd['artist'] = music_pd['artist'].iloc[0]
return result_pd[['ds', 'artist', 'y', 'yhat', 'yhat_upper', 'yhat_lower']]
3、transformer论文
多个encoder和decoder的transformer给注意力提供了一个更好的途径。
新的一年,一起加油!