Pythonがオールラウンダープログラミング言語として知られていることをご存知ですか?
はい、すべてのプロジェクトで使用する必要はありませんが、そうです。
あなたこれを使用して、デスクトップアプリケーション、ゲーム、モバイルアプリ、Webサイト、およびシステムソフトウェアを作成できます。これは、人工知能と機械学習アルゴリズムの実装に最適な言語です。
そこで、私はここ数週間、Python開発者向けのユニークなプロジェクトのアイデアを収集しました。これらのプロジェクトのアイデアは、この素晴らしい言語への興味を取り戻すことを願っています。最良の部分は、これらの楽しくてやりがいのあるプロジェクトでPythonプログラミングスキルを強化できることです。
それらを1つずつ見ていきましょう。
1-ソフトウェアを作成する音声コマンドを使用したGUI
最近、デスクトップアプリケーション開発の分野で大きな進歩が見られました。多くのドラッグ&ドロップGUIビルダーと音声認識ライブラリが表示されます。それでは、それらを結合して、コンピューターと通信してユーザーインターフェイスを作成してみませんか?
これはまったく新しい概念であり、調査の結果、誰もそれを試みたことがないことがわかりました。そのため、以下に説明するものよりも少し難しいかもしれません。
Pythonを使用してこのプロジェクトを開始するための手順をいくつか示します。まず、次のパッケージが必要です。-
- 音声認識ライブラリ
- ページ-ドラッグ&ドロップGUIビルダー
- ドキュメント
- PAGEの仕組みのビデオ
- PAGEを使用してログインウィンドウを作成する
さて、アイデアは、次のようないくつかの音声コマンドをハードコーディングすることです:
音声コマンド | 説明 |
---|---|
ウィンドウに入力フィールドを追加 | 「ウィジェットツールバー」から入力フィールドをドラッグします」をメインウィンドウにドロップします。 |
INPUT_FIELD_NAMEをウィンドウの左/右/上/下/中央に移動します | 特定の入力フィールドを指定された場所に移動します。 |
INPUT_FIELD_NAME5pxを移動します上/下/左/リグht | このコマンドは、ピクセルと方向で示される特定の入力フィールドの位置を変更するようにプログラムに指示します。 |
INPUT_FIELD_NAMEの色を赤に変更/#ff0000 | 特定の入力フィールドのフォントの色を変更するだけです。 |
要点はわかりましたか?このようなコマンドをさらに追加するのは非常に簡単で簡単です。
これはMinimumViable Product(MVP)になるためです。したがって、多くの条件ステートメントをハードコーディングする必要がある場合(if…elseなど)は完全に問題ありません。
いくつかの基本的なコマンドを設定したら、コードをテストします。今のところ、ウィンドウ内に非常に基本的なログインフォームを作成してみることができます。
このアイデアの主な柔軟性は、ゲーム開発、ウェブサイト、モバイルアプリに実装できることです。異なるプログラミング言語でも。
2-AIベッティングボット
賭けは、人々が結果を予測し、正しい場合は見返りに報酬を受け取る活動です。現在、過去数年間に人工知能や機械学習で起こった多くの技術的進歩があります。
たとえば、囲碁を再生できるAlphaGo Master、AlphaGo Zero、AlphaZeroなどのプログラムについて聞いたことがあるかもしれません。 (ゲーム)プロの人間プレイヤーよりも優れています。 LeelaZeroと呼ばれる同様のプログラムのソースコードを入手することもできます。
私が伝えたいのは、AIが私たちよりも賢くなっているということです。つまり、すべての可能性を考慮に入れて過去の経験から学ぶことで、より良いものを予測できるということです。
Pythonで教師あり学習の概念を適用して、AIベッティングボットを作成しましょう。開始する必要のあるライブラリは次のとおりです。
- pandas-データ分析
- NumPy-多次元配列、行列、数学関数
- scikit-learn-機械学習
- XGBoost-勾配ブースト
- Matplotlib-プロット
- seaborn-統計データの視覚化
- pickle-Pythonオブジェクトシリアル化
最初に、結果を予測するためにゲーム(テニス、サッカーなど)を選択する必要があります。次に、モデルのトレーニングに使用できる過去の試合結果データを検索します。
たとえば、テニスの試合のデータは、tennis-data.co.ukWebサイトから.csv形式でダウンロードできます。
賭けに慣れていない場合は、次のように機能します。
モデルをトレーニングした後、各予測の信頼度を計算し、次の方法でボットのパフォーマンスを確認する必要があります。予測が正しかった回数を確認し、最後に投資収益率(ROI)にも注目します。
EdouardThomasによる同様のオープンソースAIベッティングボットプロジェクトをダウンロードします。
3-トレーディングボット
Trading Botは、予測にAIも必要であるため、前のプロジェクトと非常によく似ています。
ここで問題となるのは、AIがの変動を正しく予測できるかどうかです。株価?
そして、答えは「はい」です。
始める前に、トレーディングボットを開発するためにいくつかのデータを編集しました。
- Yahoo!財務-株式データを取得する
- AlphaVantage-財務データのリアルタイムAPI
Investopediaのこれらのリソースは、ボットのトレーニングに役立つ可能性があります。
- 初心者向けの取引戦略
- この5ステップのテストに合格した場合にのみ取引を行う
これらの記事を両方とも読んだ後、次のようになります。いつ株を買うべきか、いつ買わないかについてのより良い理解。この知識は、自動的に決定を下すPythonプログラムに簡単に変換できます。
freqtradeと呼ばれるこのオープンソースの取引ボットから参照することもできます。 Pythonを使用して構築され、いくつかの機械学習アルゴリズムを実装しています。
4- Iron Man Jarvis(AIベースの仮想アシスタント)
このアイデアは、ハリウッド映画シリーズのアイアンから引用したものです。おとこ。この映画は、テクノロジー、ロボット、AIを中心に展開しています。
ここで、アイアンマンは人工知能を使用して自分用の仮想アシスタントを構築しました。このプログラムは、アイアンマンが日常業務を行うのに役立つジャービスとして知られています。
アイアンマンは簡単な英語を使用してジャービスに指示を出し、ジャービスも英語で応答します。これは、プログラムに音声認識とテキスト読み上げ機能が必要になることを意味します。
次のライブラリを使用することをお勧めします。
- 音声認識
- テキスト読み上げ(TTS)
今のところ、次のような音声コマンドをハードコーディングできます。
音声コマンド | 例 | 説明 |
---|---|---|
SOFTWARE_NAMEを開く | GoogleChromeを開く | コンピューターにインストールされているプログラムを開きます。 |
KEYWORD Wikipedia | Donald Trump Wikipedia | Wikipediaで特定のキーワードを検索し、テキスト読み上げ機能を使用してコンテンツを読み上げます。 |
DRIVE_NAME / FOLDER_NAME / FILE_NAMEをスキャンします | Cドライブをスキャンします | このコマンドを使用して、Jarvisはアンチウイルスソフトウェアに実行するように指示しますスキャン。 |
Yo uは、次のような他の多くのタスクにもJarvisを使用できます。
- モバイルでアラームを設定します。
- ホームセキュリティカメラを継続的にチェックし、誰かが外で待っている場合に通知します。顔の検出や認識などの機能をさらに追加できます。誰が、何人いるのかを知るのに役立ちます。
- 部屋の窓を開閉します。
- 照明のオン/オフを切り替えます。
- メールに自動的に返信します。 。
- タスクをスケジュールします。
Facebookの創設者でさえ、「MarkZuckerberg」はサイドプロジェクトとしてJarvisを構築しました。
5 -ウェブサイトを監視して、今後のアーティストのコンサートについての情報を入手します
Songkickは、今後のコンサートに関する情報を提供する非常に人気のあるサービスです。そのAPIを使用して、今後のコンサートを検索できます。
- アーティスト
- 場所
- 場所
- 日付と時刻
Pythonスクリプトを作成できますSongkickのAPIを使用して、特定のコンサートを毎日チェックし続けます。最後に、コンサートが利用可能になるたびに自分宛てにメールを送信します。
Songkickは、ウェブサイトにチケット購入リンクを表示することもあります。ただし、このリンクはaコンサートごとに異なるウェブサイト。つまり、ウェブスクレイピングを利用してもチケットを自動的に購入することは非常に困難です。
むしろ、手動アクションのアプリケーションのように、チケット購入リンクを表示するだけで済みます。
6-無料のSSL証明書を自動的に更新する
Lets Encryptは、無料のSSL証明書を提供する認証局です。ただし、問題は、この証明書が90日間のみ有効であるということです。 90日後、更新する必要があります。
私の意見では、これはPythonを使用した自動化の優れたシナリオです。有効期限が切れる前にウェブサイトのSSL証明書を自動的に更新するコードを記述できます。
インスピレーションを得るためにGitHubでこのコードを確認してください。
7-群衆の中で個人を認識する
最近、政府は市民の安全を高めるために公共の場所に監視カメラを設置していました。これらのカメラのほとんどは単にビデオを録画するためのものであり、法医学の専門家は手動で個人を認識または追跡する必要があります。
カメラ内の各人をリアルタイムで認識するPythonプログラムを作成するとどうなりますか。まず、おそらく持っていない国民IDカードデータベースにアクセスする必要があります。
したがって、簡単なオプションは、家族の記録を使用してデータベースを作成することです。
その後、顔認識ライブラリを使用して、カメラの出力に接続できます。
8-コンタクトトレーシング
コンタクトトレーシングは、すべてを識別する方法です特定の期間に互いに接触する人々。COVID-19やHIVのようなパンデミックで主に役立ちます。誰が感染しているかに関するデータがなければ、その広がりを止めることはできません。
Pythonは、コンタクトトレーシングのためにDBSCAN(ノイズのあるアプリケーションの密度ベースの空間クラスタリング)と呼ばれる機械学習アルゴリズムとともに使用できます。
これは単なるサイドプロジェクトであるため、公式データへのアクセス今のところ、いくつかの現実的なテストデータを使用して生成することをお勧めしますgMockaroo。
特定のコードの実装については、この記事をご覧ください。
9-ファイルをあるフォルダーから別のフォルダーに自動的に移動する
これは、フォルダを監視し続ける非常に基本的なPythonプログラムです。そのフォルダにファイルが追加されるたびに、そのタイプがチェックされ、それに応じて特定のフォルダに移動されます。
たとえば、ダウンロードフォルダを追跡できます。これで、新しいファイルがダウンロードされると、そのタイプに応じて自動的に別のフォルダに移動されます。
.exeファイルはおそらくソフトウェア設定であるため、「ソフトウェア」フォルダ内に移動します。 、「images」フォルダ内の動画(png、jpg、gif)。
このようにして、さまざまな種類のファイルを整理してすばやくアクセスできます。
10-キャリアパスの動画を収集するYouTubeから
キャリアのために学ぶ必要のあるスキルの名前を受け入れるアプリケーションを作成します。
たとえば、Web開発者になるには、学ぶ必要があります。 :
スキルを入力すると、[キャリアパスの生成]ボタンが表示されます。このボタンは、YouTubeを検索し、各スキルに応じて関連する動画/プレイリストを選択するようにプログラムに指示します。類似の動画が多数ある場合スキルを選択すると、ビュー、コメント、いいねなどが最も多いものが選択されますc。
次に、プログラムはこれらのビデオをスキルに従ってグループ化し、サムネイル、タイトル、およびリンクをGUIに表示します。
また、各ビデオの長さを分析し、それらを集約します。 、次に、このキャリアパスを学習するのにかかる時間をお知らせください。
これで、ユーザーとして、マスターになるために段階的に注文されたこれらのビデオを見ることができます。このキャリア。
結論
独自のプログラミングプロジェクトに挑戦することで、アクティブな状態を保ち、スキルを高め、新しい可能性を模索することができます。
プロジェクトの一部上記のアイデアは、最終年度のプロジェクトとしても使用できます。
Pythonプログラミング言語で創造性を発揮し、これらのアイデアを誇りに思うものに変えるときが来ました。
ありがとうございます。読んでください!